:root{
  --bg:#eef4f5;--surface:#ffffff;--surface-soft:#f7fafb;--ink:#102a33;--muted:#607984;
  --line:#d8e5e8;--brand:#0e7490;--brand-deep:#075d73;--brand2:#14b8a6;--accent:#f59e0b;
  --danger:#dc2626;--shadow:0 18px 48px rgba(15,55,70,.10);--shadow-soft:0 10px 28px rgba(15,55,70,.07);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--bg)
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;overflow-x:hidden;background:
  radial-gradient(circle at 8% 0%,rgba(20,184,166,.13),transparent 30rem),
  radial-gradient(circle at 92% 10%,rgba(14,116,144,.12),transparent 34rem),
  linear-gradient(180deg,#f6fbfb 0,#eef4f5 54%,#f7fafb 100%)}
button,input,select{font:inherit}
button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.76rem 1rem;border-radius:.82rem;cursor:pointer;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
button:hover{transform:translateY(-1px);border-color:#b8cfd5;box-shadow:0 9px 22px rgba(15,55,70,.10)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(20,184,166,.24);outline-offset:2px}
button.primary,.primary{background:linear-gradient(135deg,var(--brand-deep),#0b91a8 60%,var(--brand2));color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(14,116,144,.22)}
.accent{background:#ecfdf9;color:#087f72;border-color:#99f6e4}.danger-outline{color:var(--danger);border-color:#fecaca;background:#fffafa}.wide{width:100%}
.topbar{min-height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1.25rem;padding:12px clamp(1rem,3.2vw,3.5rem);background:rgba(255,255,255,.88);backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid rgba(201,219,224,.9);box-shadow:0 6px 24px rgba(15,55,70,.05)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);min-width:max-content}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--brand-deep),var(--brand2));color:white;font-size:1.45rem;box-shadow:0 9px 20px rgba(14,116,144,.22)}
.brand span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand b{letter-spacing:-.02em}.brand small{color:var(--muted);font-size:.72rem;margin-top:.28rem}
.nav{display:flex;gap:.35rem;overflow-x:auto;padding:.25rem;margin-left:auto;max-width:100%}
.nav button{border:0;background:transparent;color:var(--muted);white-space:nowrap;padding:.68rem .84rem;border-radius:.78rem;box-shadow:none}
.nav button:hover{transform:none;background:#f0f7f8;color:var(--brand)}.nav button.active{background:#e4f2f5;color:var(--brand-deep);box-shadow:inset 0 0 0 1px rgba(14,116,144,.08)}
.mobile-only{display:none;margin-left:auto}.icon-btn{padding:.55rem .75rem}
main{width:min(1360px,calc(100% - 48px));margin:auto;padding:28px 0 56px}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:2rem;align-items:end;padding:clamp(28px,4vw,54px);border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#092f3a 0,#0b5362 52%,#0b7e82 100%);color:#fff;box-shadow:0 28px 70px rgba(5,58,70,.22)}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(1px)}
.hero::before{width:420px;height:420px;right:-150px;top:-220px;background:radial-gradient(circle,rgba(45,212,191,.42),transparent 66%)}
.hero::after{width:320px;height:320px;left:42%;bottom:-250px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.eyebrow{display:inline-block;font-size:.73rem;letter-spacing:.17em;font-weight:900;color:var(--brand)}
.hero .eyebrow{color:#8ff4e4}.hero h1{font-size:clamp(2.25rem,4.6vw,4.65rem);line-height:.98;letter-spacing:-.055em;margin:.62rem 0 1rem;max-width:820px;text-wrap:balance}.hero h1 em{font-style:normal;color:#9af5e8}
.hero p,.section-head p{color:var(--muted);max-width:790px;line-height:1.7}.hero p{color:rgba(255,255,255,.78);font-size:1.02rem;margin:0}
.hero-badges{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.35rem}.hero-badges span{padding:.48rem .68rem;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:.76rem;font-weight:800;color:#eafffb}
.hero-actions{display:grid;gap:.72rem;align-content:end}.hero-actions button{width:100%;min-height:48px;background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.5)}.hero-actions .primary{background:linear-gradient(135deg,#11a4ad,#1bc7b2);color:#062e35;border:0}
.card{background:rgba(255,255,255,.96);border:1px solid rgba(205,222,227,.96);border-radius:20px;box-shadow:var(--shadow-soft)}
.global-controls{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;padding:1.25rem;margin-top:18px;align-items:end}
.global-controls>.field:nth-child(1){grid-column:span 4}.global-controls>.field:nth-child(2){grid-column:span 2}.global-controls>.field:nth-child(3){grid-column:span 2}.global-controls>.field:nth-child(4){grid-column:span 2}.global-controls>.field:nth-child(5){grid-column:span 2}.global-controls>.field:nth-child(6){grid-column:span 3}.global-controls>.field:nth-child(7){grid-column:span 3}
.field{display:flex;flex-direction:column;gap:.44rem;min-width:0}.field label{font-size:.78rem;color:#4f6974;font-weight:850}.field input,.field select,.combo input,.combo select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:.78rem;background:#fff;color:var(--ink);padding:.68rem .8rem;outline:none;transition:.18s}
.field input:hover,.field select:hover,.combo input:hover,.combo select:hover{border-color:#b9cfd5}.field input:focus,.field select:focus,.combo input:focus,.combo select:focus{border-color:var(--brand2);box-shadow:0 0 0 4px rgba(20,184,166,.12)}.field small{color:var(--muted);font-size:.7rem}.span2{grid-column:auto}.combo{display:grid;grid-template-columns:1.2fr 1fr;gap:.48rem}
.control-actions{display:flex;gap:.55rem;grid-column:7/-1;justify-content:flex-end;flex-wrap:wrap}.control-actions button{min-height:46px}
.message{min-height:38px;padding:.65rem .25rem;color:var(--brand-deep);font-weight:800}.message.error{color:var(--danger)}
.view{display:none;animation:fade .24s ease}.view.active{display:block}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:2.5rem 0 1.05rem}.section-head h2{font-size:clamp(1.65rem,3vw,2.6rem);letter-spacing:-.038em;margin:.35rem 0}.section-head p{margin:.45rem 0 0}.status{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.82rem;padding:.62rem .8rem;border-radius:99px;background:rgba(255,255,255,.75);border:1px solid var(--line)}.dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.metrics article{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdfd);border:1px solid var(--line);border-radius:18px;padding:1.15rem 1.2rem;box-shadow:var(--shadow-soft)}.metrics article::after{content:"";position:absolute;inset:auto -24px -42px auto;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.14),transparent 70%)}.metrics span,.metrics small{display:block;color:var(--muted)}.metrics strong{display:block;font-size:clamp(1.35rem,2.3vw,2rem);margin:.52rem 0;color:var(--brand-deep);word-break:break-word}
.grid{display:grid;gap:1rem;margin:1rem 0}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.chart-card,.result-panel,.prose{padding:1.2rem}.card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.card-head h3{margin:0}.card-head span{color:var(--muted);font-size:.8rem}.chart-card canvas,.card canvas{width:100%;display:block;max-height:390px}.legend{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:1rem}.legend span{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--muted);padding:.38rem .58rem;border:1px solid var(--line);border-radius:99px;background:#fbfdfd}.legend i{width:9px;height:9px;border-radius:50%}.recommendations{display:grid;gap:.7rem}.recommendations .rec{padding:.88rem;border:1px solid var(--line);border-left:4px solid var(--brand2);border-radius:.82rem;background:#fbfefe}.recommendations .rec strong{display:block;margin-bottom:.25rem}
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap th,.table-wrap td{padding:.86rem;border-bottom:1px solid var(--line);text-align:left}.table-wrap th{font-size:.74rem;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);background:#f8fbfb}.table-wrap input,.table-wrap select{width:100%;min-width:120px;border:1px solid var(--line);border-radius:.64rem;padding:.62rem;background:#fff}.table-wrap tfoot{background:#edf8f7}.compact{padding:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.2rem}.result-panel{display:flex;flex-direction:column;gap:.9rem}.result-row{display:flex;justify-content:space-between;gap:1rem;padding:.82rem 0;border-bottom:1px solid var(--line)}.result-row strong{color:var(--brand-deep);text-align:right}.result-row.grand{font-size:1.14rem}.progress{height:12px;background:#e6eef0;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand2),var(--brand));border-radius:99px;transition:.3s}.compare-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.compare-card{padding:1rem}.compare-card .row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.compare-card .remove{color:var(--danger);float:right;padding:.35rem .55rem}.prose{line-height:1.75}.prose a{color:var(--brand);font-weight:800}.note{background:#fff8eb;border-left:4px solid var(--accent);padding:1rem;border-radius:.68rem}.import-row{display:flex;gap:1rem;align-items:center;padding:1rem;flex-wrap:wrap}
footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;background:rgba(255,255,255,.9)}
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1180px){main{width:min(100% - 32px,1360px)}.global-controls{grid-template-columns:repeat(6,minmax(0,1fr))}.global-controls>.field:nth-child(1){grid-column:span 3}.global-controls>.field:nth-child(n+2):nth-child(-n+5){grid-column:span 1}.global-controls>.field:nth-child(6),.global-controls>.field:nth-child(7){grid-column:span 2}.control-actions{grid-column:5/-1}.metrics{grid-template-columns:repeat(2,1fr)}.compare-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar{min-height:68px;padding:.72rem 1rem;flex-wrap:wrap}.mobile-only{display:block}.nav{display:none;width:100%;margin:0;flex-direction:column;padding:.5rem 0}.nav.open{display:flex}.nav button{text-align:left}.hero{grid-template-columns:1fr;padding:30px}.hero-actions{grid-template-columns:repeat(3,1fr)}.global-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.global-controls>.field{grid-column:auto!important}.global-controls>.field:first-child{grid-column:1/-1!important}.control-actions{grid-column:1/-1}.grid.two,.grid.three{grid-template-columns:1fr}.compare-cards{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.combo{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}footer{flex-direction:column}}
@media(max-width:620px){main{width:min(100% - 18px,1360px);padding-top:12px}.hero{padding:24px 20px;border-radius:22px}.hero h1{font-size:clamp(2.05rem,12vw,3rem)}.hero-actions{grid-template-columns:1fr}.global-controls{grid-template-columns:1fr;padding:1rem}.global-controls>.field:first-child{grid-column:auto!important}.control-actions{grid-column:auto;display:grid;grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.topbar .brand small{display:none}.status{border-radius:14px}.section-head{padding-top:2rem}}
@media print{.topbar,.hero-actions,.control-actions,.nav,footer,#mobileMenu{display:none!important}body{background:white}.hero{color:var(--ink);background:white;box-shadow:none;border:1px solid var(--line)}.hero p{color:var(--muted)}.view{display:block!important;break-inside:avoid}.card{box-shadow:none}.global-controls{grid-template-columns:repeat(4,1fr)}}
