:root{--navy:#071633;--blue:#004aac;--blueLight:#e8f0ff;--ink:#15233c;--muted:#54657d;--line:#dce4f0;--surface:#fff;--bg:#f4f7fc;--success:#116b52;--warning:#895314}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.57 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--blue);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.site-top{background:#040033;padding:13px 0}
.site-top img{width:168px;height:auto;max-width:100%;display:block}
.wrapper{width:min(calc(100% - 32px),1170px);margin-inline:auto}
main{padding-top:24px;padding-bottom:60px}
.crumb{font-size:.9rem;color:var(--muted);margin:0 0 24px}
.crumb a{font-weight:600}
.hero{background:linear-gradient(112deg,#071634,#003f9b);color:#fff;border-radius:24px;padding:clamp(24px,4.3vw,53px);position:relative;overflow:hidden;box-shadow:0 18px 50px #1c3d7719}
.hero:after{content:"";width:270px;height:270px;border:54px solid #80b5ff16;border-radius:50%;position:absolute;right:-80px;bottom:-150px;pointer-events:none}
.eyebrow{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid #b1cfff65;border-radius:999px;background:#ffffff12;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
h1{font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.14;letter-spacing:-.035em;max-width:880px;margin:17px 0}
.hero p{max-width:740px;color:#dceaff;font-size:clamp(1rem,1.7vw,1.15rem);margin-bottom:19px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips span{border-radius:999px;background:#ffffff1d;padding:6px 12px;color:#f2f7ff;font-size:.8rem;font-weight:600}
.section-head{margin:36px 0 12px}
.section-head h2{font-size:clamp(1.35rem,2.5vw,1.85rem);line-height:1.25;margin:0 0 5px}
.section-head p{margin:0;color:var(--muted)}
.tool-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:19px;align-items:start}
.panel{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 7px 26px #17345e09;min-width:0;padding:clamp(18px,2.5vw,26px)}
.panel-head{border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:19px}
.step{font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--blue)}
.panel h3{font-size:1.28rem;line-height:1.35;margin:6px 0 4px}
.panel-head p,.hint,.minor{font-size:.87rem;color:var(--muted);margin:0}
fieldset{border:0;padding:0;margin:0 0 21px;min-width:0}
legend{display:block;width:100%;font-weight:800;font-size:1rem;padding:0 0 11px;margin-bottom:10px;border-bottom:1px solid #e6eaf2}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field span{font-size:.85rem;font-weight:700;line-height:1.28}
.field small{color:var(--muted);line-height:1.35;font-size:.73rem}
.field-wide{grid-column:1/-1}
input{border:1px solid #b9c8dc;background:#fff;border-radius:9px;min-width:0;width:100%;padding:11px 12px;font:inherit;color:var(--navy);font-variant-numeric:tabular-nums}
input:hover{border-color:#6284c7}
input:focus{outline:3px solid #bcd4ff;outline-offset:0;border-color:var(--blue)}
fieldset.ticket-groups{background:#f8faff;border:1px solid var(--line);padding:13px;border-radius:12px}
.ticket-type{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:10px}
.ticket-type:last-child{margin-bottom:0}
.ticket-type>strong{font-size:.87rem;display:block;margin-bottom:9px}
.ticket-type .fields{gap:10px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
button,.button-link{font:inherit;font-size:.89rem;font-weight:700;border-radius:10px;border:1px solid #bfcee3;padding:11px 15px;cursor:pointer;transition:background .12s,transform .12s}
button:active{transform:translateY(1px)}
.primary,.button-link{background:var(--blue);color:#fff;border-color:var(--blue);text-decoration:none}
.primary:hover,.button-link:hover{background:#00377e;color:#fff}
.secondary{background:#fff;color:var(--navy)}
.secondary:hover{background:#f0f5fd}
.error{background:#fff1f1;border:1px solid #efb7b7;color:#812525;border-radius:9px;padding:12px;margin:14px 0}
[hidden]{display:none!important}
.empty{text-align:center;background:#f7faff;border:1px dashed #bbcee9;border-radius:15px;padding:36px 14px}
.empty .glyph{font-size:3rem}
.empty h3{margin:4px 0}
.status{padding:11px 13px;border-radius:9px;font-weight:650;background:var(--blueLight);color:#173b83;font-size:.89rem}
.status[data-tone="warning"]{background:#fff5e5;color:var(--warning)}
.status[data-tone="success"]{background:#e8f7f0;color:var(--success)}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.kpi{background:#f6f9ff;border:1px solid #e1ebf8;border-radius:13px;padding:15px 12px;min-width:0}
.kpi.primary-kpi{grid-column:1/-1;background:#eaf2ff;border-color:#bcd4f6}
.kpi span{font-size:.78rem;display:block;color:#4a5d7b;line-height:1.38}
.kpi strong{font-size:clamp(1.24rem,2.1vw,1.8rem);line-height:1.25;display:block;margin-top:5px;color:var(--navy);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.kpi.primary-kpi strong{font-size:2.3rem;color:var(--blue)}
.data-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:9px 0}
.data-table th,.data-table td{padding:8px 6px;border-bottom:1px solid #e9eef7;text-align:left;vertical-align:top}
.data-table th{color:#52617a;font-weight:550;width:60%}
.data-table td{text-align:right;font-weight:750;font-variant-numeric:tabular-nums}
.scroll-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:510px}
.compare-table th,.compare-table td{text-align:left;padding:12px 11px;border-bottom:1px solid var(--line)}
.compare-table th{color:#3c506e;background:#eef3fb;font-size:.77rem}
.compare-table tr:nth-child(even){background:#f9fbff}
.section-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:19px}
.guide h2{font-size:1.22rem;margin:0 0 8px}
.guide p{margin:0 0 11px}
.guide ol,.guide ul{padding-left:21px;margin:8px 0}
.guide li{margin-bottom:7px}
.guide details{border-bottom:1px solid var(--line);padding:10px 0}
.guide summary{cursor:pointer;font-weight:750}
.guide details p{margin:8px 0 0;font-size:.92rem}
.referral{background:linear-gradient(120deg,#e9f2ff,#fff);border:1px solid #c8dbf6;border-radius:18px;padding:23px;margin-top:21px}
.referral h2{font-size:1.3rem;margin:0 0 7px}
.referral p{max-width:830px;margin:0 0 15px}
.referral .disclosure{font-size:.78rem;color:#52617a;margin:11px 0 0}
.bottom-nav{margin-top:26px}
@media(max-width:960px){.tool-grid{grid-template-columns:1fr}.section-row{grid-template-columns:1fr}.panel{padding:22px}}
@media(max-width:480px){.wrapper{width:calc(100% - 24px)}.hero{border-radius:16px;padding:23px 18px}.fields{gap:10px}.kpis{gap:8px}.kpi{padding:11px 10px}.panel{padding:16px}.ticket-type{padding:10px}button{width:100%}.section-head{margin-top:26px}.section-row{gap:12px}}
@media print{body{background:#fff;color:#111}.site-top,.crumb,.hero,.form-panel,.referral,.bottom-nav,.actions,.guide,.ent-site-footer,.section-head{display:none!important}.tool-grid,.section-row{display:block}.panel{box-shadow:none;border:0;padding:0}.results-panel{display:block}.kpis{grid-template-columns:1fr 1fr}#output{display:block!important}main{padding:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none}}
