:root{--sbb-red:#eb0000;--sbb-red-hover:#c40000;--sbb-black:#111;--sbb-dark-gray:#2d2d2d;--sbb-gray:#767676;--sbb-light-gray:#e5e5e5;--sbb-off-white:#f9f9f9;--sbb-white:#fff;--bg-color:var(--sbb-white);--bg-panel:var(--sbb-off-white);--text-color:var(--sbb-black);--text-muted:var(--sbb-gray);--border-color:var(--sbb-light-gray);--accent-color:var(--sbb-red);--accent-hover:var(--sbb-red-hover);--card-shadow:none;--card-border-radius:0px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", "Inter", system-ui, sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}.app-wrapper{flex-direction:column;flex-grow:1;min-height:100vh;display:flex}main.container{flex-grow:1}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:2rem;line-height:1.5}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-color);font-weight:700;line-height:1.1}h1{text-transform:uppercase;letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(2rem,4vw,3.2rem)}h2{border-left:4px solid var(--sbb-red);margin-top:1.5rem;margin-bottom:1rem;padding-left:.75rem;font-size:clamp(1.4rem,2.5vw,1.8rem)}h3{text-transform:uppercase;letter-spacing:.02em;margin-bottom:.75rem;font-size:1.15rem}p{color:var(--text-color);margin-bottom:.75rem;font-size:.95rem}.text-muted{color:var(--text-muted)}.text-red{color:var(--sbb-red)}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.grid-2{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=768px){.grid-2,.grid-3{grid-template-columns:1fr}}.flex-between{justify-content:space-between;align-items:center;gap:1rem;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.gap-1{gap:.75rem}.swiss-card{background-color:var(--bg-color);border:1.5px solid var(--border-color);border-radius:var(--card-border-radius);box-shadow:var(--card-shadow);margin-bottom:1rem;padding:1.5rem}.swiss-card.recommended{border:2px solid var(--sbb-red);position:relative;overflow:hidden}.btn{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--card-border-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--sbb-red);color:var(--sbb-white)}.btn-primary:hover{background-color:var(--sbb-red-hover)}.btn-secondary{color:var(--text-color);border:1.5px solid var(--text-color);background-color:#0000}.btn-secondary:hover{background-color:var(--text-color);color:var(--bg-color)}.btn-danger{color:var(--sbb-red);border:1px solid var(--sbb-red);background-color:#0000}.btn-danger:hover{background-color:var(--sbb-red);color:var(--sbb-white)}.btn-small{padding:.3rem .6rem;font-size:.75rem}.form-group{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.form-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.form-input,.form-select{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);border:1.5px solid var(--border-color);border-radius:var(--card-border-radius);outline:none;width:100%;padding:.5rem .6rem;font-size:.9rem;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--sbb-red)}.table-container{border:1.5px solid var(--border-color);border-radius:var(--card-border-radius);margin-bottom:1rem;overflow-x:auto}.swiss-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.swiss-table th{font-family:var(--font-heading);background-color:var(--bg-panel);color:var(--text-color);text-transform:uppercase;letter-spacing:.05em;border-bottom:1.5px solid var(--border-color);padding:.75rem;font-size:.75rem;font-weight:700}.swiss-table td{border-bottom:1px solid var(--border-color);background-color:var(--bg-color);vertical-align:middle;padding:.75rem}.swiss-table tr:hover td{background-color:var(--bg-panel)}.switch-container{cursor:pointer;font-family:var(--font-heading);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.switch{width:44px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--sbb-light-gray);border-radius:22px;transition:all .15s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--sbb-red)}input:checked+.slider:before{transform:translate(22px)}.disclaimer-banner{background-color:var(--sbb-off-white);color:var(--sbb-dark-gray);font-size:.8rem;font-family:var(--font-sans);text-align:center;border-top:1px solid var(--border-color);margin-top:2rem;padding:.75rem 1rem;line-height:1.4}.disclaimer-banner strong{color:var(--sbb-red)}.swiss-clock{border:2.5px solid var(--text-color);background-color:var(--bg-color);border-radius:50%;width:40px;height:40px;position:relative}.swiss-clock:after{content:"";background-color:var(--text-color);transform-origin:bottom;width:2px;height:14px;animation:12s linear infinite clock-spin;position:absolute;top:6px;left:17px}.swiss-clock .second-hand{background-color:var(--sbb-red);transform-origin:bottom;width:1px;height:12px;animation:1s linear infinite clock-spin;position:absolute;top:8px;left:17.5px}.swiss-clock .second-dot{background-color:var(--sbb-red);border-radius:50%;width:3px;height:3px;position:absolute;top:6px;left:16.5px}@keyframes clock-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.recommendation-badge{background-color:var(--sbb-red);color:var(--sbb-white);font-family:var(--font-heading);text-transform:uppercase;border-radius:0;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.card-cost-value{font-size:2rem;font-weight:800;font-family:var(--font-heading);line-height:1}.card-cost-period{color:var(--text-muted);font-size:.85rem}
