/* Robin Telecom — colours and type taken from the logo: navy #03273f, blue #18537b, Montserrat */
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/montserrat-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/montserrat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-latin-800-normal.woff2) format('woff2')}

:root{
  --navy:#03273f;--navy2:#0b3554;--steel:#18537b;--steel2:#8cbae4;--orange:#e8772e;--orange2:#f39a4f;
  --cream:#f4f6f8;--cream2:#e8edf2;--card:#ffffff;--line:#e2e7ee;--line2:#cbd4df;
  --text:#18202f;--muted:#6f7684;--ok:#147a4b;--okbg:#e8f6ee;--warn:#94590a;--warnbg:#fff4e0;--err:#b3261e;--errbg:#fdeceb;--info:#1f4f8a;--infobg:#eaf2fb;
  --serif:Montserrat,"Avenir Next","Century Gothic",system-ui,sans-serif;
  --sans:Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans Bengali",Arial,sans-serif;
  --shadow:0 1px 2px rgba(20,33,61,.04),0 8px 24px -12px rgba(20,33,61,.18);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:14.5px/1.6 var(--sans);background:var(--cream);color:var(--text);font-variant-numeric:tabular-nums}
a{color:var(--steel);text-underline-offset:2px}a:hover{color:var(--navy)}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--serif);color:var(--navy);letter-spacing:-.015em;font-weight:800}
h1{font-size:26px;margin:0 0 6px;line-height:1.2}h2{font-size:19px;margin:0 0 6px}h3{font-size:15px;margin:16px 0 6px}
h1 small,h2 small{font-family:var(--sans);font-weight:400;font-size:13px;letter-spacing:0}
.bn{color:var(--muted);font-size:.88em;font-family:var(--sans);font-weight:400}
.muted{color:var(--muted)}.small{font-size:13px}.right{text-align:right}.nowrap{white-space:nowrap}.neg{color:var(--err)}

/* ---------- header: navy panel with the orange diagonal stripe */
.top{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.top::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--orange) 0 55%,var(--steel) 55% 100%)}

.top>*{position:relative;z-index:1}
.top-in{display:flex;align-items:center;gap:18px;padding:16px 20px 14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;margin-right:auto}
.brand .logo{height:46px;width:auto;flex:none;display:block}
.logo-tile{display:inline-flex;background:#fff;border-radius:10px;padding:4px}.logo-tile img{height:38px!important;width:auto}
.brand-txt{border-left:1px solid rgba(255,255,255,.2);padding-left:14px}
.brand-txt strong{font:800 15px/1.1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.brand-txt small{font:700 10px var(--sans);letter-spacing:.2em;margin-left:6px;color:var(--steel2);text-transform:uppercase}
.brand-txt em{display:block;font:500 12px/1.4 var(--sans);font-style:normal;color:#a9bbd0;margin-top:3px;letter-spacing:.02em}
.yearpick select{appearance:none;font:600 14px var(--sans);padding:9px 34px 9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;color:#fff;max-width:320px;cursor:pointer}
.yearpick select option{color:var(--text)}
.links a{color:#dfe6f3;margin-left:16px;text-decoration:none;font-size:14px}.links a.on,.links a:hover{color:#fff;text-decoration:underline}
.steps{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.steps a{display:flex;align-items:center;gap:8px;color:#b9c4d9;text-decoration:none;padding:11px 18px 12px;border-radius:12px 12px 0 0;white-space:nowrap;font-weight:600;font-size:14px}
.steps a b{display:inline-flex;width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);align-items:center;justify-content:center;font-size:12px}
.steps a small{opacity:.7;font-size:12px;font-weight:400}
.steps a:hover{color:#fff}
.steps a.on{background:var(--cream);color:var(--navy)}.steps a.on b{background:var(--steel);border-color:var(--steel);color:#fff}

main{padding:24px 20px 48px}

/* ---------- cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow)}
.card-h,.row-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.num{display:inline-flex;width:30px;height:30px;border-radius:9px;background:var(--steel);color:#fff;align-items:center;justify-content:center;font:700 14px var(--sans);margin-right:8px;vertical-align:2px}

/* hero (home) */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;border:0;border-radius:22px;padding:26px 28px}
.hero::after{content:"";position:absolute;right:-20px;top:-60px;width:110px;height:340px;background:var(--steel);transform:rotate(28deg);opacity:.75}
.hero::before{content:"";position:absolute;right:112px;top:-60px;width:8px;height:340px;background:var(--orange);transform:rotate(28deg)}
.hero>*{position:relative;z-index:1}
.hero h1{color:#fff;font-size:28px;margin-bottom:4px}
.hero .sub{color:#c9d3e6;margin:0 0 18px}
.hero .due{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 16px;margin-bottom:18px}
.hero .due b{font:800 26px var(--serif)}.hero .due.late b{color:#ffb4a8}.hero .due.soon b{color:var(--orange2)}.hero .due.done b{color:#9be2bd}
.track{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:760px}
.track a{display:block;text-decoration:none;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 14px;transition:.15s}
.track a:hover{background:rgba(255,255,255,.13)}
.track small{display:block;color:#b9c4d9;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.track span{display:block;font-weight:600;margin-top:2px}
.track a.done{border-color:rgba(155,226,189,.5)}.track a.done span::before{content:"✓ ";color:#9be2bd}
.track a.now{background:#fff;color:var(--navy);border-color:#fff}.track a.now small{color:var(--steel)}

/* ---------- buttons, pills */
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:#fff;color:var(--navy);padding:10px 18px;border-radius:11px;font:600 14px var(--sans);cursor:pointer;text-decoration:none;transition:.15s}
.btn:hover{border-color:var(--navy);color:var(--navy)}
.btn.primary{background:var(--steel);border-color:var(--steel);color:#fff;box-shadow:0 6px 16px -8px rgba(24,83,123,.8)}
.btn.primary:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.ghost{background:transparent}.btn.sm{padding:6px 11px;font-size:13px;border-radius:9px}.btn:disabled{opacity:.5}
.pill{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:700;background:#eef0f4;color:#4b5363;letter-spacing:.01em}
.pill.ok{background:var(--okbg);color:var(--ok)}.pill.warn{background:var(--warnbg);color:var(--warn)}.pill.err{background:var(--errbg);color:var(--err)}

/* ---------- messages */
.flash,.note,.banner{padding:12px 16px;border-radius:12px;margin:10px 0;border:1px solid transparent}
.flash.ok,.note.ok,.banner.ok{background:var(--okbg);color:var(--ok);border-color:#c3e7d2}
.flash.err,.note.err,.banner.err{background:var(--errbg);color:var(--err);border-color:#f3c6c1}
.note.warn,.banner.warn{background:var(--warnbg);color:var(--warn);border-color:#f1d9ab}
.note.info,.banner.info{background:var(--infobg);color:var(--info);border-color:#cddcf0}
.note ul{margin:6px 0 0 18px;padding:0}

/* ---------- upload */
.drop{border:2px dashed var(--line2);border-radius:16px;padding:28px 20px;text-align:center;background:linear-gradient(180deg,#fbfcfe,#f1f5f9);margin:10px 0 14px;transition:.15s}
.drop:hover,.drop.over{border-color:var(--steel);background:#eef4fa}
.drop input[type=file]{display:none}.drop label{cursor:pointer;display:block}
.drop .ico{display:inline-flex;width:46px;height:46px;border-radius:12px;background:var(--steel);color:#fff;align-items:center;justify-content:center;font-size:22px;margin-bottom:8px}
.drop b{color:var(--navy);font-size:16px}
.months{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin:10px 0}
.months span{text-align:center;border-radius:10px;padding:7px 2px;font-size:13px;font-weight:700}
.months small{display:block;font-weight:400;font-size:11px}
.months .ok{background:var(--okbg);color:var(--ok)}.months .miss{background:var(--cream2);color:#9b9483}

/* ---------- tables */
table{border-collapse:collapse;width:100%}
.list td,.list th{padding:11px 10px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.list th{font-size:11px;color:var(--muted);font-weight:700;border-top:0;text-transform:uppercase;letter-spacing:.07em}.list .right{text-align:right}
.list tr:hover td{background:#f8fafc}
.list tr.tocheck td{background:#fffaf2}.list tr.auto td{color:#5b6270}
.groups select{min-width:250px;max-width:100%}
select,input{font:inherit}
select,input[type=text],input:not([type]),input[type=email],input[type=password],input[type=number],input[type=date]{padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:#fff;width:100%;color:var(--text);transition:.15s}
select:focus,input:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(74,120,168,.18)}
input[type=file]{font-size:14px}
.inline{margin:0}.inline select{min-width:210px}
.errtxt{color:var(--err)}.warntxt{color:var(--warn)}

/* ---------- forms */
.qs{display:grid;gap:16px}
.qs label{display:grid;gap:5px}.qs label>span{font-weight:600;color:var(--navy)}.qs label small{color:var(--muted)}
.qs label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.qs label.check input{margin-top:4px;accent-color:var(--steel);width:18px;height:18px;flex:none}
.qs input[inputmode]{max-width:260px;font-size:18px;font-weight:600;padding-left:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ctext x='0' y='15' font-family='Arial' font-size='15' fill='%236f7684'%3E%24%3C/text%3E%3C/svg%3E") no-repeat 12px center}
.pair{display:flex;gap:8px;max-width:220px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sticky{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);padding:12px 0;border-top:1px solid var(--line);margin-top:6px}
details.more summary{cursor:pointer;color:var(--steel);font-weight:600}

/* ---------- summary tiles */
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:stretch;padding:18px}
.summary>div{background:var(--cream);border-radius:14px;padding:14px 16px;border:1px solid var(--line)}
.summary>div:first-child{background:var(--navy);border-color:var(--navy)}.summary>div:first-child small{color:#b9c4d9}.summary>div:first-child b{color:#fff}
.summary small{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.summary small.sub{text-transform:none;letter-spacing:0;font-weight:400;margin-top:4px}
.summary b{display:block;font:800 22px/1.25 var(--serif);color:var(--navy);margin-top:4px}
.summary .btn{align-self:center;justify-content:center}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.grid2>.card{margin-bottom:0}
.fin td{padding:8px 4px;border-top:1px solid #eef1f5}.fin td.right{font-weight:500}
.fin tr.tot td{border-top:1px solid var(--line2);font-weight:700}
.fin tr.grand td{border-top:2px solid var(--navy);font:800 15.5px var(--serif);color:var(--navy);padding-top:10px}
.boxes td{font-size:14px}.boxes details summary{color:var(--steel);cursor:pointer;list-style:none;font-size:12px}
.copy{font:700 16px ui-monospace,"SF Mono",Menlo,Consolas,monospace;background:var(--cream);border:1px solid var(--line2);border-radius:9px;padding:5px 12px;cursor:pointer;color:var(--navy);transition:.15s}
.copy:hover{border-color:var(--steel)}.copy.done{background:var(--okbg);border-color:#c3e7d2;color:var(--ok)}
.copy.done::after{content:" ✓"}
.howto{padding-left:20px}.howto li{margin-bottom:8px}

/* ---------- footer with company details */
.foot{background:var(--navy);color:#c9d3e6;margin-top:10px;position:relative;overflow:hidden}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--orange) 0 60%,var(--steel) 60% 100%)}
.foot-in{display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:22px 20px;font-size:13px}
.foot .logo{height:58px;width:auto}
.foot-co{display:flex;gap:12px;align-items:center}
.foot-co strong{display:none}
.foot-co div{max-width:220px;color:#a9bbd0;font-size:12.5px}
.foot a{color:#fff}
.foot-note{flex-basis:100%;border-top:1px solid rgba(255,255,255,.12);padding-top:12px;font-size:12px;color:#97a3bb}

/* ---------- sign-in: split like the business card */
.authpage{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--cream)}
.authside{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.authside::before{content:"";position:absolute;right:10%;top:-10%;width:150px;height:140%;background:var(--steel);transform:rotate(24deg);opacity:.8}
.authside::after{content:"";position:absolute;right:calc(10% + 170px);top:-10%;width:10px;height:140%;background:var(--orange);transform:rotate(24deg)}
.authside>*{position:relative;z-index:1}
.authside .logo{width:200px;height:auto;display:block}
.authside .logo-tile img{width:160px!important;height:auto!important}
.authside h1{color:#fff;font-size:15px;letter-spacing:.24em;text-transform:uppercase;font-family:var(--sans);margin:22px 0 6px}
.authside .tag{font:500 18px/1.5 var(--sans);color:#c7d5e5;max-width:380px;margin-top:26px;padding-top:18px;border-top:3px solid var(--orange);display:inline-block}
.authside .contact{font-size:14px;color:#c9d3e6;line-height:1.9}
.authside .contact b{color:#fff;font-weight:600}
.authmain{display:flex;align-items:center;justify-content:center;padding:32px}
.authbox{width:min(420px,100%)}
.authbox h2{font-size:26px;margin-bottom:4px}
.authbox .lead{color:var(--muted);margin:0 0 20px}
.stack{display:grid;gap:14px}.stack label{display:grid;gap:6px;font-weight:600;color:var(--navy);font-size:14px}
.stack .btn{justify-content:center;padding:13px}
.secure{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin-top:18px}

/* ---------- report letterhead (screen + print) */
.letterhead{display:flex;gap:18px;align-items:center;justify-content:space-between;border-bottom:3px solid var(--navy);padding-bottom:14px;margin-bottom:16px;position:relative}
.letterhead::after{content:"";position:absolute;left:0;bottom:-7px;width:120px;height:4px;background:var(--orange)}
.letterhead .lh-co{display:flex;gap:14px;align-items:center}
.letterhead .logo{height:86px;width:auto}
.letterhead strong{display:block;font:800 17px var(--serif);color:var(--navy);letter-spacing:.02em}
.letterhead .lh-meta{text-align:right;font-size:12.5px;color:var(--muted);line-height:1.6}
.printonly{display:none}

@media (max-width:860px){.authpage{grid-template-columns:1fr}.authside{padding:30px 24px;min-height:auto}.authside .contact{display:none}.authside .logo{width:130px}}
@media (max-width:760px){.grid2{grid-template-columns:1fr}.months{grid-template-columns:repeat(6,1fr)}.groups select{min-width:150px}.list td,.list th{padding:8px 5px}
  .track{grid-template-columns:1fr}.hero h1{font-size:24px}.hero::before,.hero::after{display:none}.hero .due b{font-size:24px}.top::before,.top::after{display:none}.card{padding:18px}.letterhead{flex-direction:column;align-items:flex-start}.letterhead .lh-meta{text-align:left}}
@media print{
  @page{margin:14mm}
  .top,.noprint,.foot,.flash,details,.btn,.bn{display:none!important}.printonly{display:block}
  body{background:#fff;font-size:12px}.card{border:0;box-shadow:none;padding:0;margin-bottom:16px}.grid2{display:block}
  .copy{border:0;background:none;padding:0;font-size:13px}main{padding:0}.summary{padding:0;grid-template-columns:repeat(4,1fr)}.summary>div,.summary>div:first-child{background:#fff;border:1px solid #ccc}.summary>div:first-child b,.summary>div:first-child small{color:var(--navy)}
  .list tr:hover td{background:none}
}

.logo-preview{width:120px;height:120px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;flex:none}.logo-preview img{max-width:100%;max-height:100%}

/* ---------- v3: payroll, checks, print documents */
.grid-form{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.grid-form fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 16px 16px;display:grid;gap:12px;margin:0}
.grid-form legend{font-weight:800;color:var(--navy);padding:0 6px}
.grid-form .actions{grid-column:1/-1}
.pair.wide{max-width:none}
.linkbtn{background:none;border:0;padding:0;color:var(--steel);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.scroll{overflow-x:auto}
.pay input{min-width:86px;padding:7px 8px}.pay td{vertical-align:middle}.center{text-align:center}
.list tr.tot td{border-top:2px solid var(--line2);font-weight:700}
.attach{display:inline;margin:0}.doclink{display:inline-block;margin:4px 6px 0 0}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.checklist li{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:10px;border:1px solid var(--line)}
.checklist .ic{flex:none;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff}
.checklist .stop{background:var(--errbg);border-color:#f3c6c1}.checklist .stop .ic{background:var(--err)}
.checklist .warn{background:var(--warnbg);border-color:#f1d9ab}.checklist .warn .ic{background:#d08a1a}
.checklist .ok{background:#fff}.checklist .ok .ic{background:var(--ok)}
.check-inline{display:inline-flex;gap:8px;align-items:center;margin-top:10px}
.fin td.sec{font-weight:800;color:var(--steel);text-transform:uppercase;font-size:11px;letter-spacing:.08em;padding-top:14px;border-top:0}
body.printdoc{background:#e9edf2}
.printbar{max-width:820px;margin:18px auto 0;display:flex;gap:8px}
.sheet{background:#fff;max-width:820px;margin:16px auto;padding:34px 40px;border-radius:6px;box-shadow:var(--shadow)}
.doc-title{color:var(--navy);font-size:16px;letter-spacing:.12em}
.kv{margin:6px 0 16px}.kv th{text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 8px 6px 0;width:16%;vertical-align:top}.kv td{padding:6px 12px 6px 0;font-weight:600;width:34%}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.netpay{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:#fff;border-radius:12px;padding:14px 18px;margin:16px 0 8px}
.netpay b{font-size:22px}
.ket th{width:34%;font-size:13px;color:var(--navy);text-transform:none;letter-spacing:0;font-weight:700}.ket td{font-size:13px}.num-c{width:28px;color:var(--muted);font-weight:700}
.signs{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:46px}.signs div{border-top:1px solid var(--text);padding-top:6px;font-weight:600;font-size:13px}.signs span{display:block;font-weight:400;color:var(--muted);font-size:12px}
@media print{body.printdoc{background:#fff}.sheet{box-shadow:none;margin:0;padding:0;max-width:none}.pagebreak{page-break-before:always}.netpay{-webkit-print-color-adjust:exact;print-color-adjust:exact}.checklist,.checks{display:none}}
@media (max-width:760px){.cols2,.signs{grid-template-columns:1fr}.sheet{padding:20px}}
.zeros{margin-top:10px;border:1px dashed var(--line2);border-radius:12px;padding:10px 14px}.zeros summary{cursor:pointer;color:var(--navy)}
@media print{.zeros{display:block}.zeros>table{display:table}}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.startbox{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fbfcfd}.startbox summary{font-weight:700;color:var(--navy)}
@media (max-width:760px){.grid-2{grid-template-columns:1fr}}
.fsbox{border:1px solid var(--line);border-radius:14px;padding:12px 16px 16px;display:grid;gap:10px;margin:0}.fsbox legend{font-weight:800;color:var(--navy);padding:0 6px}

/* ===== Premium layer (v3.8) ===== */
::selection{background:rgba(232,119,46,.22)}
body{background:radial-gradient(1100px 380px at 50% -140px,#dbe5ef 0%,rgba(219,229,239,0) 70%),linear-gradient(180deg,#f3f6f9 0%,#edf1f5 100%);background-attachment:fixed}
.top{background:linear-gradient(120deg,#021b2d 0%,#03273f 48%,#0b3a5c 100%);box-shadow:0 12px 30px -20px rgba(2,27,45,.95)}
.top::after{content:"";position:absolute;inset:0;background:radial-gradient(560px 170px at 88% -50px,rgba(140,186,228,.20),transparent 70%),radial-gradient(400px 120px at 10% 120%,rgba(232,119,46,.10),transparent 70%);pointer-events:none;z-index:0}
.brand-txt strong{letter-spacing:.17em}
.yearpick select{backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 6px 16px -10px rgba(0,0,0,.6)}
.yearpick select:hover{background-color:rgba(255,255,255,.14)}
.links a{font-weight:500;opacity:.82;transition:opacity .15s}.links a:hover,.links a.on{opacity:1;text-decoration:none}
.steps a{transition:color .15s,background .15s}
.steps a:not(.on):hover{background:rgba(255,255,255,.06)}
.steps a.on{background:#f3f6f9;box-shadow:0 -8px 20px -12px rgba(0,0,0,.45)}
.steps a.on b{background:linear-gradient(135deg,#1f6496,var(--navy));border-color:transparent}
.card{border:1px solid rgba(10,37,64,.07);border-radius:16px;box-shadow:0 1px 1px rgba(10,37,64,.03),0 14px 34px -20px rgba(10,37,64,.30)}
.card>h2,.card-h>h2{position:relative;padding-left:14px}
.card>h2::before,.card-h>h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--orange),#f5ad6b)}
.hero>h2,.hero .card-h>h2{padding-left:0}.hero>h2::before,.hero .card-h>h2::before{display:none}
.hero{box-shadow:0 22px 44px -26px rgba(3,39,63,.95)}
.btn{border-radius:10px;box-shadow:0 1px 0 rgba(10,37,64,.04)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(135deg,#2170a6 0%,#18537b 55%,#0e3f61 100%);border-color:transparent;box-shadow:0 10px 20px -12px rgba(24,83,123,.95),inset 0 1px 0 rgba(255,255,255,.16)}
.btn.primary:hover{background:linear-gradient(135deg,#2479b4 0%,#1a5b87 55%,#0f4468 100%);color:#fff}
.btn.dark{background:linear-gradient(135deg,#0d4167 0%,#03273f 100%);border-color:transparent;box-shadow:0 10px 20px -12px rgba(3,39,63,.95),inset 0 1px 0 rgba(255,255,255,.10)}
.btn.dark:hover{filter:brightness(1.12);color:#fff}
.btn.ghost:hover{background:#fff}
.pill{box-shadow:inset 0 0 0 1px rgba(10,37,64,.05)}
.summary>div{background:linear-gradient(180deg,#ffffff 0%,#f5f8fb 100%);border:1px solid #e1e8ef;box-shadow:inset 0 1px 0 #fff,0 6px 16px -14px rgba(10,37,64,.5)}
.summary>div:first-child{background:linear-gradient(135deg,#03273f 0%,#0b3a5c 65%,#1a5b87 100%);border-color:transparent;box-shadow:0 16px 30px -18px rgba(3,39,63,.95)}
.summary b{font-size:23px;letter-spacing:-.02em}
.list th{background:#f4f7fa;color:#4f6377}
.list tr:first-child th:first-child{border-top-left-radius:10px}.list tr:first-child th:last-child{border-top-right-radius:10px}
.fin tr.grand td{background:linear-gradient(90deg,rgba(3,39,63,.06),rgba(3,39,63,0))}
.fin tr.grand td:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px;padding-left:8px}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select:not(.yearpick select),textarea{transition:border-color .15s,box-shadow .15s}
input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,textarea:focus,main select:focus{outline:0;border-color:var(--steel);box-shadow:0 0 0 4px rgba(24,83,123,.14)}
.flash,.note,.banner{border-left-width:4px;box-shadow:0 8px 20px -18px rgba(10,37,64,.6)}
.foot{background:linear-gradient(120deg,#021b2d 0%,#03273f 55%,#0b3a5c 100%)}
.copy{transition:transform .1s,box-shadow .15s}.copy:hover{box-shadow:0 6px 14px -10px rgba(24,83,123,.9)}
@media print{body{background:#fff}.card{box-shadow:none}}
