:root{--cream:#fffaf0;--paper:#fffdf8;--gold:#b88924;--dark:#6e5010;--yellow:#f5e6a5;--ink:#302b20;--muted:#716750;--line:#e5d194;--red:#9b4539;--green:#356b45;--blue:#365f78;--shadow:0 12px 30px rgba(84,61,17,.1)}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(145deg,#fffdf8,#f8edc7);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.shell{width:min(1380px,calc(100% - 34px));margin:auto}
header{padding:35px 0 28px;border-bottom:1px solid var(--line);background:rgba(255,253,248,.88)}
header .shell{display:flex;justify-content:space-between;align-items:center;gap:22px}
h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:.15em 0}
h2{margin:0 0 10px}
.settings-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.case-toggle-stack{display:grid;gap:7px}
.case-toggle{display:flex;align-items:center;gap:9px;width:210px;min-height:42px;padding:8px 12px;border:1px solid;border-radius:12px;font-size:.9rem;white-space:nowrap;cursor:pointer}
.case-toggle input{width:18px;height:18px;margin:0}
.pregnancy-toggle{background:#faebf0;border-color:#deb1c1;color:#813d58}
.pregnancy-toggle input{accent-color:#a65370}
.bue-toggle{background:#eaf4f7;border-color:#a9cedb;color:#315f70}
.bue-toggle input{accent-color:#477e91}
.field-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.field-legend span{padding:4px 9px;border-radius:999px;font-size:.75rem;font-weight:800;border:1px solid transparent}
.legend-base{background:#f6f1e7;border-color:#d9cdb6!important;color:#655b49}
.legend-rule{background:#fff4ca;border-color:#dfc66e!important;color:#755713}
.legend-termination{background:#fae8e3;border-color:#dda89d!important;color:#843e34}
.legend-mse{background:#f8e8ee;border-color:#dba9bb!important;color:#813d58}
.legend-bue{background:#e8f2f6;border-color:#9fc7d6!important;color:#315f70}
.form-grid>.field-card{padding:10px 11px;border:1px solid transparent;border-radius:12px;align-content:start}
.field-card input,.field-card select{background:rgba(255,255,255,.9)}
.field-base{background:#f8f4eb;border-color:#ded2bb!important}
.field-rule{background:#fff7d9;border-color:#e6d18a!important}
.field-termination{background:#fbebe7;border-color:#dfb0a6!important}
.field-mse{background:#faebf0;border-color:#deb1c1!important}
.field-mse.invalid-field{background:#f9deda;border-color:#c95b4d!important;box-shadow:0 0 0 2px rgba(155,69,57,.1)}
.field-mse.invalid-field input{border-color:#b9483b;background:#fff7f5}
.field-mse.caution-field{background:#fff1cf;border-color:#d9aa3c!important}
.field-rule.invalid-field{background:#f9deda;border-color:#c95b4d!important;box-shadow:0 0 0 2px rgba(155,69,57,.1)}
.field-rule.invalid-field input{border-color:#b9483b;background:#fff7f5}
.field-rule.caution-field{background:#fff1cf;border-color:#d9aa3c!important}
.field-rule.caution-field input{border-color:#c49422;background:#fffaf0}
.field-hint{display:block;color:var(--muted);font-weight:600;line-height:1.35}
.invalid-field .field-hint{color:#8f3026;font-weight:750}
.caution-field .field-hint{color:#765510;font-weight:750}
.field-bue{background:#eaf4f7;border-color:#a9cedb!important}
.scale-crests{display:flex;gap:10px}
.passive-crests{align-items:center;padding-top:3px}
.crest-item{display:flex;align-items:center;gap:4px;color:var(--muted)}
.crest-item small{font-size:.67rem;font-weight:850}
.crest{position:relative;display:grid;place-items:center;width:34px;height:40px;overflow:hidden;border:1px solid rgba(48,43,32,.28);border-radius:8px 8px 14px 14px;box-shadow:0 2px 5px rgba(48,43,32,.12)}
.crest-zurich{background:linear-gradient(45deg,#1768b0 0 49.5%,#fff 50.5% 100%)}
.crest-bern{background:#fff}
.crest-bern img{display:block;width:100%;height:100%;object-fit:contain}
.crest-basel{background:#fff}
.basel-staff{position:relative;width:25px;height:34px}
.basel-staff:before{content:"";position:absolute;left:2px;top:1px;width:14px;height:14px;border:5px solid #111;border-right-color:transparent;border-bottom-color:#111;border-radius:50%;transform:rotate(28deg)}
.basel-staff:after{content:"";position:absolute;left:9px;top:16px;width:12px;height:18px;background:#111;clip-path:polygon(18% 0,82% 0,100% 100%,63% 76%,50% 100%,35% 76%,0 100%)}
.basel-staff i{position:absolute;z-index:2;left:5px;top:15px;width:19px;height:3px;border-radius:5px;background:#111;box-shadow:0 5px 0 #111}
.no-ktg-note{margin:0 0 15px;padding:10px 13px;border-left:4px solid var(--gold);border-radius:9px;background:#fff5cf;color:var(--dark);font-size:.9rem}
[hidden]{display:none!important}
.eyebrow{font-size:.75rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:var(--dark)}
.badge{padding:10px 15px;border:1px solid var(--gold);border-radius:999px;background:#fff3c5;color:var(--dark);font-weight:750}
.intro{padding:28px 0 18px}
.intro p{color:var(--muted);font-size:1.05rem}
.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);gap:22px;padding-bottom:60px}
.stack{display:grid;gap:18px;align-content:start}
.panel{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 6px 18px rgba(84,61,17,.06)}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px}
label{font-weight:700;display:grid;gap:6px}
input,select{width:100%;padding:10px 11px;border:1px solid #cbbb85;border-radius:9px;background:white;font:inherit}
.section-head{display:flex;justify-content:space-between;gap:15px;align-items:start}
.muted{color:var(--muted);margin:0}
.table-wrap{overflow:auto;container-type:inline-size}
table{width:100%;border-collapse:collapse;min-width:760px}
th{text-align:left;font-size:.8rem;color:var(--muted);padding:10px 7px;border-bottom:1px solid var(--line)}
td{padding:8px 7px;border-bottom:1px solid #eee4c2}
td:nth-child(1),td:nth-child(2){width:145px}
td:nth-child(4){width:105px}
.days-cell{width:72px;text-align:center}.days-output{display:inline-grid;place-items:center;min-width:48px;padding:8px 9px;border:1px solid #d8c98f;border-radius:9px;background:#fff8dc;color:var(--dark);font-weight:850}
@container (max-width:820px){.days-col,.days-cell{display:none}}
.auto-mse-row td{background:#edf7ee;border-color:#bdd9c1}
.auto-mse-row input:disabled,.auto-mse-row select:disabled{opacity:1;color:#285c37;background:#f7fff7;border-color:#9fc5a7}
.auto-marker{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:999px;background:#dceedd;color:#285c37;font-size:.76rem;font-weight:850;white-space:nowrap}
.remove{background:#f8e2db;color:var(--red);padding:8px 10px}
button{border:0;border-radius:9px;padding:11px 15px;background:var(--gold);color:white;font:inherit;font-weight:750;cursor:pointer}
.secondary{background:#efe1ad;color:var(--dark)}
.ghost{background:transparent;color:var(--dark);border:1px solid var(--gold)}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.calculation-date{min-width:185px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff7d9;font-size:.8rem;color:var(--dark)}
.calculation-date input{padding:7px 9px}
.calculation-date small{color:var(--muted);font-weight:600;line-height:1.25}
.calculation-date .linked-date{background:#f3eee3;color:#625b4e}
.legal-note{margin-top:16px;padding:13px 15px;background:#fff5cf;border-left:4px solid var(--gold);border-radius:9px}
.result{border-top:5px solid var(--gold)}
.metric{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid #eee4c2}
.metric span{color:var(--muted)}
.metric strong{color:var(--dark)}
.bar{height:9px;border-radius:99px;background:#dcebdd;overflow:hidden;margin:8px 0 13px}
.bar i{display:block;height:100%;transition:width .2s ease,background .2s ease}
.explain{font-size:.9rem;color:var(--muted);margin:10px 0 0}
.warnings{padding-left:20px;margin-bottom:0}
.warnings li+li{margin-top:8px}
.error{margin-top:12px;padding:12px;background:#f8e2db;color:var(--red);border-radius:9px}
.lower-results{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0 60px}.lower-results .panel{min-width:0}
footer{padding:25px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}
@media(max-width:1000px){.layout,.lower-results{grid-template-columns:1fr}
.form-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){header .shell{align-items:flex-start;flex-direction:column}
.settings-title{align-items:flex-start;flex-direction:column}
.form-grid{grid-template-columns:1fr}
.section-head{display:block}
.section-head button{margin-top:12px}
}


