
:root{--ink:#1b211c;--muted:#677169;--sage:#eef1ee;--page:#fcfcfb;--lavender:#eff0f8;--coral:#e86a45;--forest:#172216;--border:#e4e8e2}
*{box-sizing:border-box}body{margin:0;background:#d7dad7;color:var(--ink);font-family:"Figtree",'Helvetica Neue',Arial,sans-serif;font-size:13px;line-height:1.55} .frame{width:1440px;min-height:1100px;padding:10px;margin:auto}.shell{display:grid;grid-template-columns:230px 1fr;min-height:1100px;border-radius:15px;overflow:hidden;background:var(--page);box-shadow:0 10px 35px rgba(19,25,20,.05)}aside{background:var(--sage);padding:32px 15px;display:flex;flex-direction:column;gap:52px;border-right:1px solid #e4e9e2}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;white-space:nowrap;font-size:24px;font-weight:600;letter-spacing:-1.2px}.brandmark{display:grid;grid-template-columns:repeat(2,9px);grid-template-rows:repeat(2,9px);gap:3px;transform:rotate(-8deg)}.brandmark b{background:#1b251c;border-radius:2px}.brandmark b:nth-child(2){opacity:.48}.brandmark b:nth-child(3){opacity:.65}.brandmark b:nth-child(4){opacity:.88}.navs{display:flex;flex-direction:column;gap:7px}.nav{display:flex;align-items:center;gap:15px;font-size:13px;color:#606961;border-radius:8px;padding:12px 13px}.nav.active{background:#dde3dc;color:var(--forest);font-weight:500}.icon{width:20px;text-align:center;font-size:18px;font-weight:400;color:#6f796f}.sidebar-bottom{margin-top:auto;color:#8b928c;padding:0 12px;font-size:11px}
main{min-width:0;padding:0 24px 24px}.top{height:72px;border-bottom:1px solid #e8ebe6;display:flex;justify-content:space-between;align-items:center;margin:0 -24px 20px;padding:0 28px}.top-title{font-size:16px;font-weight:400;letter-spacing:-.35px}.top-right{display:flex;gap:10px}.pill{background:white;border:1px solid #e0e6de;border-radius:9px;padding:9px 15px;font-size:12px;color:#566056}.pill.alt{background:#f5f6f3}.pill.theme{font-size:20px;padding:4px 14px}
.hero{background:var(--lavender);border:1px solid #e3e6ec;border-radius:13px;overflow:hidden}.ribbon{height:36px;display:flex;align-items:center;justify-content:center;background:var(--coral);color:#fff;font-size:11px;letter-spacing:.25px}.hero-inner{padding:35px 40px 26px}.hero-content{display:flex;align-items:center;justify-content:space-between;min-height:188px}.eyebrow{font-size:11px;letter-spacing:1.25px;color:#636b64;margin-bottom:20px;font-weight:500;text-transform:uppercase}h1{font-size:43px;font-weight:500;letter-spacing:-1.7px;line-height:1.17;margin:0 0 13px;max-width:660px}.lead{max-width:600px;font-size:14px;color:#626e67;line-height:1.8;margin:0}.cta{display:inline-block;margin-top:23px;background:#192819;padding:11px 19px;border-radius:8px;color:#fff;font-size:12px;font-weight:500}.art{width:225px;height:198px;display:flex;justify-content:center;align-items:center;margin-right:25px}.machine{width:136px;height:180px;background:#cfd4d0;border:8px solid #969e98;transform:rotate(12deg);border-radius:13px;box-shadow:14px 16px 22px rgba(31,34,35,.14);padding:11px}.screen{height:32px;background:#dceeea;border:1px solid #afbcb4;border-radius:4px;margin-bottom:11px;text-align:right;color:#516158;padding:2px 8px;font-size:17px}.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.keys span{height:19px;line-height:19px;text-align:center;background:#8195a8;color:white;border-radius:3px;font-weight:500;font-size:10px}.keys span:nth-child(4n){background:#61768d}.keys span:last-child{background:var(--coral)}.benefits{margin-top:35px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid #dce0e7;padding-top:22px}.benefit{border-right:1px solid #dce0e6;padding-right:20px}.benefit:last-child{border:0}.star{font-size:20px;color:#617062;height:28px}.benefit strong{display:block;font-size:13px;font-weight:500}.benefit p{font-size:11px;color:#6c756e;margin:3px 0 0;max-width:220px}
.section{margin-top:18px;background:#fff;border:1px solid var(--border);border-radius:13px;overflow:hidden}.section-head{padding:17px 22px;border-bottom:1px solid #e8ece7}.over{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#858e84}.section h2{margin:5px 0 2px;font-size:21px;font-weight:400;letter-spacing:-.4px}.section-sub{font-size:12px;color:#747e74}.calc-grid{padding:18px;display:grid;grid-template-columns:1.17fr 1fr;gap:16px}.panel{border:1px solid #e5e9e4;border-radius:10px;background:#fff;overflow:hidden}.pad{padding:19px}.tabs{display:flex;background:#f0f3ef;border-radius:8px;padding:4px;gap:4px;margin-bottom:21px}.tab{flex:1;text-align:center;color:#737c74;font-size:12px;padding:10px;border-radius:6px}.tab.active{color:#253027;background:white;font-weight:500;box-shadow:0 1px 3px #263b2111}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px 16px}.field label{font-size:11px;font-weight:500;display:block;margin-bottom:7px}.field .fakeinput{font-size:13px;display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid #dbe1da;border-radius:6px;padding:0 12px;height:41px}.chev{color:#818a80;font-size:14px}.hint{padding:12px 13px;background:#f7f8f5;border:1px solid #e8ebe7;border-radius:7px;color:#737d72;font-size:11px;display:flex;align-items:center;gap:10px;margin-top:20px}.buttons{display:flex;gap:9px;margin-top:15px}.btn{border:1px solid #d9dfd7;border-radius:6px;padding:11px 20px;background:white;font-size:12px;text-align:center}.btn.main{border-color:#182819;background:var(--forest);color:#fff;flex:1;font-weight:500}
.summaryhead{padding:21px;background:#eff0f8;border-bottom:1px solid #e2e6ec}.summarycap{font-size:11px;color:#657068}.figure{font-size:38px;font-weight:500;letter-spacing:-1.1px;margin:4px 0 1px}.meta{color:#717b72;font-size:11px}.lines{padding:15px 18px}.line{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #ecefeb;font-size:12px}.line:last-child{border:0}.line b{font-weight:500;white-space:nowrap}.line.total{background:#eef1ee;border-radius:7px;padding:12px;margin-top:10px;color:#1d2b1e;font-weight:500}.line.total b{font-weight:600}.method{margin:2px 18px 18px;border:1px solid #e6ebe5;background:#f7f8f5;border-radius:7px;padding:12px;display:flex;justify-content:space-between;color:#49564b;font-size:11px}.steps{margin-top:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.step{background:white;border:1px solid #e5eae4;border-radius:10px;padding:18px}.stepno{font-size:10px;color:#89968a;margin-bottom:11px}.step strong{font-size:12px;font-weight:500}.step p{color:#7e887e;font-size:11px;margin:5px 0 0}.foot{margin-top:17px;display:flex;justify-content:space-between;color:#959d94;font-size:10px}


/* Phase 1: semantic controls are styled to match the approved visual reference. */
.frame{max-width:1440px;width:100%}
.nav{width:100%;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}
.nav.active{background:#dde3dc}
.pill{font-family:inherit;cursor:pointer}
.cta{text-decoration:none;cursor:pointer}
.tab{border:0;cursor:pointer;font-family:inherit}
.btn{cursor:pointer;font-family:inherit}
.method{width:calc(100% - 36px);font-family:inherit;text-align:left;cursor:pointer}
.fakeinput{overflow:hidden}
.fakeinput input,.fakeinput select{border:0;background:transparent;color:inherit;font:inherit;width:100%;height:100%;outline:none;min-width:0}
.fakeinput select{cursor:pointer}
.fakeinput input:focus-visible,.fakeinput select:focus-visible{outline:2px solid #677569;outline-offset:-2px;border-radius:3px}
.nav:focus-visible,.pill:focus-visible,.tab:focus-visible,.btn:focus-visible,.cta:focus-visible,.method:focus-visible{outline:2px solid #586c5e;outline-offset:3px}
.advanced-pane,.method-body{font-size:12px;background:#f7f8f5;border:1px solid #e4e8e2;border-radius:7px;margin:12px 0 0;padding:14px;line-height:1.7;color:#687368}
.method-body{margin:0 18px 18px}
[hidden]{display:none!important}
.demo-notice{position:fixed;right:22px;bottom:18px;max-width:390px;padding:13px 17px;border:1px solid #c7d0c5;border-radius:9px;background:#eef1ee;box-shadow:0 8px 20px #17221619;z-index:30;font-size:12px}
button:hover{filter:brightness(.985)}
body.dark{--ink:#e5e9e3;--muted:#b8c1b8;--sage:#1c241e;--page:#151a17;--lavender:#252632;--border:#374239;background:#101611;color:#e5e9e3}
body.dark .shell,body.dark main,body.dark .section,body.dark .panel,body.dark .step{background:#151b17;color:#e5e9e3}
body.dark aside{background:#1d261f;border-color:#374239}
body.dark .top,body.dark .section-head,body.dark .panel,body.dark .line,body.dark .benefits{border-color:#39433c}
body.dark .hero,body.dark .summaryhead{background:#262a33;border-color:#373c43}
body.dark .ribbon{background:#e86a45}
body.dark .nav,body.dark .lead,body.dark .section-sub,body.dark .meta,body.dark .benefit p,body.dark .step p,body.dark .top-title,body.dark .field label,body.dark .line,body.dark .step strong{color:#d2d9d1}
body.dark .nav.active,body.dark .tab.active,body.dark .line.total{background:#354337;color:#f6f8f4}
body.dark .tabs,body.dark .hint,body.dark .method,body.dark .advanced-pane,body.dark .method-body{background:#28332b;border-color:#415046;color:#d2d9d1}
body.dark .pill,body.dark .fakeinput,body.dark .btn:not(.main){background:#1e2821;color:#e8efe8;border-color:#48574a}
body.dark .cta,body.dark .btn.main{background:#344936;color:#fff;border-color:#344936}
body.dark .summarycap,body.dark .eyebrow,body.dark .sidebar-bottom,body.dark .benefit .star{color:#bfc9bf}
body.dark .result-top{background:#272e32}
@media(max-width:1100px){
.frame{padding:8px;min-height:100vh}.shell{grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 16px)}
aside{padding:25px 12px;gap:35px}.brand{font-size:20px;padding:0 6px}.nav{font-size:12px;gap:9px;padding:10px 8px}
main{padding:0 16px 16px}.top{margin:0 -16px 16px;padding:0 18px;height:63px}
.hero-inner{padding:28px 27px 20px}h1{font-size:35px}.lead{font-size:13px}
.calc-grid{grid-template-columns:1.05fr 1fr;gap:12px;padding:12px}.pad{padding:14px}.figure{font-size:32px}
}
@media(max-width:830px){
.shell{grid-template-columns:1fr}aside{display:none}
main{padding:0 13px 18px}.top{margin:0 -13px 13px;padding:0 14px}
.hero-inner{padding:24px}.art{margin-right:0;width:145px;flex-shrink:0}.hero-content{gap:12px}.machine{transform:rotate(12deg) scale(.8)}
h1{font-size:33px}.lead{font-size:12px}.benefits{gap:12px;margin-top:22px}
.calc-grid{grid-template-columns:1fr 1fr;gap:12px}.figure{font-size:27px}.line{font-size:11px}
}
@media(max-width:670px){
.frame{padding:0}.shell{border-radius:0}.top{height:58px}.top-title{font-size:13px}.pill{padding:8px 10px}
.hero-inner{padding:21px 17px}.hero-content{min-height:0}.art{display:none}.ribbon{font-size:10px}
h1{font-size:31px;letter-spacing:-1px}.eyebrow{font-size:10px;margin-bottom:14px}.benefits{grid-template-columns:1fr;gap:11px;padding-top:15px}
.benefit{border:0;border-bottom:1px solid #dce0e6;padding:0 0 9px}.benefit:last-child{border:0}.star{height:22px}
.section{margin-top:12px}.section-head{padding:14px}.section h2{font-size:20px}.calc-grid{grid-template-columns:1fr;padding:12px}.pad{padding:14px}.form-grid{gap:14px 10px}
.figure{font-size:33px}.steps{grid-template-columns:1fr;gap:10px}.step{padding:14px}.foot{gap:8px;flex-direction:column}
}
@media(max-width:410px){
.form-grid{grid-template-columns:1fr}.top-title{font-size:12px}.pill{font-size:11px;padding:7px 8px}
h1{font-size:28px}.hero-inner{padding:19px 15px}.buttons{flex-wrap:wrap}.buttons .btn.main{min-width:65%}
}

.mobile-brand{display:none}
@media(max-width:830px){.mobile-brand{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:500;letter-spacing:-.5px}.mini-mark{font-size:19px;color:#455245}.top-title{display:none}}
@media(max-width:400px){.mobile-brand{font-size:15px}}
/* Phase 2: reference-aligned crisp SVG iconography and Salary Guide. */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon,.nav-icon,.benefit-icon,.select-chevron,.hint-icon,.plus-icon{display:inline-block;flex-shrink:0;width:17px;height:17px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;fill:none;vertical-align:middle}
.nav{cursor:pointer;text-decoration:none;line-height:1.5;display:flex;align-items:center}
.nav-icon{width:17px;height:17px;color:#697469;stroke-width:1.6}
.nav.active .nav-icon{color:#29392b}
.brandmark{flex-shrink:0}
.top-right{align-items:center}
.pill{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:38px}
.pill .chevron{height:12px;width:12px;color:#687467}
.pill.theme{height:39px;width:43px;padding:8px;display:inline-flex;align-items:center;justify-content:center}
.pill.theme .ui-icon{width:20px;height:20px;stroke-width:1.6}
body:not(.dark) .moon-icon,body.dark .sun-icon{display:none}
.cta{display:inline-flex;align-items:center;gap:14px}
.cta .arrow-icon{height:14px;width:14px;stroke-width:1.8}
.btn.main{display:inline-flex;align-items:center;justify-content:center;gap:12px}
.btn .arrow-icon{height:15px;width:15px;stroke-width:1.8}
.fakeinput{position:relative}
.fakeinput .native-select{appearance:none;-webkit-appearance:none;padding-right:19px;position:relative;z-index:1}
.fakeinput .select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;pointer-events:none;z-index:2;stroke-width:1.7;color:#67736a}
.method{display:flex;align-items:center}
.method .plus-icon{width:14px;height:14px;stroke-width:1.65}
.method[aria-expanded=true] .plus-icon{transform:rotate(45deg)}
.benefit .star{display:flex;align-items:flex-start}
.benefit-icon{width:19px;height:19px;stroke-width:1.55}
.hint-icon{width:16px;height:16px}
/* Desktop design remains unchanged; the drawer is mobile only. */
.mobile-menu-button,.mobile-nav-close,.mobile-overlay{display:none}
.mobile-brand{display:none}
@media(max-width:830px){
.mobile-menu-button{display:inline-flex;min-height:38px;width:42px;padding:8px}
.mobile-menu-button .ui-icon{height:19px;width:19px}
.mobile-nav-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;position:absolute;right:11px;top:16px;border:1px solid #dfe5dd;border-radius:7px;background:#f9faf8;color:#243326;cursor:pointer}
.mobile-nav-close .ui-icon{width:18px;height:18px}
body.nav-open aside{display:flex;position:fixed;z-index:101;top:0;bottom:0;left:0;width:min(305px,85vw);padding-top:27px;box-shadow:12px 0 32px #17221623;overflow-y:auto}
body.nav-open .mobile-overlay{display:block;position:fixed;inset:0;background:#15201661;border:0;z-index:100;cursor:pointer}
body.dark .mobile-nav-close{background:#29342b;color:#edf1ec;border-color:#465548}
}
/* Salary guide — same proportions, palette, typography and surfaces as approved calculator. */
.guide-hero .hero-content{min-height:187px}
.guide-hero h1{max-width:690px;font-size:40px}
.guide-hero .lead{max-width:590px}
.payslip-art{width:260px;height:200px;position:relative;flex:0 0 260px;margin-right:12px;perspective:750px}
.slip{position:absolute;border-radius:9px;box-shadow:0 9px 22px #2e3a3215;border:1px solid #cdd3ce}
.slip-back{width:167px;height:142px;top:24px;left:70px;background:#aeb7ae;transform:rotate(12deg)}
.slip-middle{width:168px;height:145px;top:37px;left:25px;background:#d7dcd4;transform:rotate(-10deg)}
.slip-front{width:193px;height:183px;top:12px;left:43px;background:#fff;padding:14px 13px;transform:rotate(5deg);font-size:9px}
.slip-title{color:#343e35;font-weight:500;letter-spacing:.3px;margin-bottom:9px;padding-bottom:6px;border-bottom:1px solid #e9ece8}
.slip-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 0;border-bottom:1px solid #e6e9e5;color:#4c544e}
.slip-row b{font-weight:500;white-space:nowrap}
.slip-row.slip-final{background:#e7ece6;border-radius:4px;border:0;margin-top:7px;padding:8px 6px;color:#28382b}
.guide-basics-grid{padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.guide-info-card{border:1px solid #e4e8e3;background:#fff;border-radius:10px;padding:19px 17px;min-height:225px}
.guide-info-heading{display:flex;align-items:center;gap:13px;min-height:50px}
.guide-info-card h3,.guide-panel-heading h3{font-size:14px;font-weight:400;margin:0}
.guide-icon-wrap{background:#f2f5f2;color:#435047;border:1px solid #e8ece8;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;flex-shrink:0}
.guide-icon-wrap .ui-icon{width:21px;height:21px;stroke-width:1.7}
.guide-info-card>p{font-size:12px;line-height:1.8;color:#6b766d;margin:12px 0 0 58px}
.guide-deductions{padding-left:17px;margin:11px 0 0;list-style:disc;color:#aab1aa}
.guide-deductions li{padding-left:4px;margin:6px 0;display:list-item;font-size:11px;line-height:1.5}
.guide-deductions li b{display:inline-block;color:#26332a;font-weight:500;min-width:42px}
.guide-deductions li span{color:#6e776f}
.guide-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px 18px 10px}
.guide-profile,.guide-breakdown{padding:14px 17px}
.guide-breakdown{background:#eff0f8}
.guide-breakdown .guide-pair{background:#fff;padding-left:10px;padding-right:10px}
.guide-panel-heading{display:flex;align-items:center;gap:11px;padding:3px 0 10px}
.guide-panel-heading .ui-icon{width:18px;height:18px}
.guide-pair{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:11px;padding:9px 0;border-bottom:1px solid #e8ebe7}
.guide-pair:last-child{border-bottom:0}
.guide-pair span{color:#59655c}
.guide-pair b{font-weight:500;text-align:right;white-space:nowrap}
.guide-pair-total{margin-top:7px;border-radius:6px;background:#e4eae3!important;border:0;padding:11px!important}
.guide-disclaimer{padding:0 18px 13px;color:#818a81;font-size:10px;line-height:1.65;margin:2px 0 0}
.guide-steps .step{display:block;position:relative;text-decoration:none;color:inherit;cursor:pointer;padding-right:35px}
.guide-steps .step:hover{background:#fafbf9}
.guide-steps .step-link-icon{position:absolute;right:17px;top:42%;width:17px;height:17px;color:#58665b}
body.dark .guide-info-card,body.dark .guide-profile{background:#151b17;border-color:#374239}
body.dark .guide-breakdown{background:#262a33}
body.dark .guide-breakdown .guide-pair{background:#21272c;border-color:#3e4549}
body.dark .guide-info-card p,body.dark .guide-deductions li span,body.dark .guide-pair span{color:#c0cbc1}
body.dark .guide-deductions li b{color:#f3f7f0}
body.dark .guide-icon-wrap{background:#2a352c;color:#e0e9df;border-color:#3b493e}
body.dark .guide-pair{border-color:#3b493e}
body.dark .guide-pair-total{background:#394739!important;color:white}
body.dark .guide-steps .step:hover{background:#222e25}
@media(max-width:1100px){
.guide-hero h1{font-size:34px}
.payslip-art{flex-basis:175px;width:175px;margin-right:0;transform:scale(.85);transform-origin:center}
.guide-basics-grid{gap:10px;padding:12px}
.guide-info-card{padding:14px 12px}
.guide-info-card>p{margin-left:0}
.guide-example-grid{padding:12px}
}
@media(max-width:830px){
.guide-hero h1{font-size:33px}
.payslip-art{flex:0 0 145px;width:145px;height:170px;transform:scale(.7);transform-origin:left center}
.guide-info-heading{gap:8px}
.guide-icon-wrap{width:36px;height:36px}
.guide-info-card h3{font-size:13px}
.guide-deductions{padding-left:12px}
}
@media(max-width:670px){
.guide-hero h1{font-size:29px}
.payslip-art{display:none}
.guide-basics-grid{grid-template-columns:1fr;gap:10px}
.guide-info-card{min-height:0;padding:16px}
.guide-info-card>p{margin:10px 0 0 43px}
.guide-deductions{margin-left:36px}
.guide-example-grid{grid-template-columns:1fr}
.guide-pair{font-size:11px}
}

/* Explicit SVG strokes for standalone theme icons: avoid browser default black-fill dots. */
.pill .sun-icon,.pill .moon-icon,.pill .chevron{display:inline-block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.pill .sun-icon,.pill .moon-icon{width:20px;height:20px}
.pill .chevron{width:12px;height:12px}
.mobile-brand .mini-mark{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:3px;transform:rotate(-8deg)}
.mobile-brand .mini-mark b{background:#28362c;border-radius:1.5px}
.mobile-brand .mini-mark b:nth-child(2){opacity:.5}
.mobile-brand .mini-mark b:nth-child(3){opacity:.65}
.mobile-brand .mini-mark b:nth-child(4){opacity:.9}

#languageShort{display:none}
@media(max-width:830px){
  .top .mobile-brand{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:500;letter-spacing:-.5px;white-space:nowrap}
}
@media(max-width:450px){
  #languageLabel{display:none}
  #languageShort{display:inline}
  .top .mobile-brand{font-size:15px}
  .top-right{gap:5px}
  .top .pill.alt{padding:7px 8px;gap:5px}
  .top .pill.theme,.top .pill.mobile-menu-button{width:34px;height:35px;padding:7px}
}

/* v4: Separate, dedicated AI Assistant chat page. Existing calculator remains unchanged. */
body[data-page="assistant"] .shell{min-height:calc(100vh - 20px)}
body[data-page="assistant"] main{display:flex;flex-direction:column;min-height:calc(100vh - 20px);padding-bottom:19px}
body[data-page="assistant"] .top{flex-shrink:0}
.assistant-workspace{display:grid;grid-template-columns:222px minmax(0,1fr);flex:1;min-height:730px;border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}
.chat-rail{background:#f7f8f5;padding:24px 14px;display:flex;flex-direction:column;gap:12px;border-right:1px solid #e8ece6}
.chat-rail-label{font-size:10px;color:#919990;font-weight:500;letter-spacing:.9px;padding:0 10px}
.new-convo{border:1px solid #d8e0d6;background:#fff;border-radius:8px;padding:11px 12px;display:flex;align-items:center;gap:10px;color:#2a392b;cursor:pointer;font:500 12px "Figtree",Arial,sans-serif;text-align:left}
.new-convo .ui-icon,.chat-rail-item .ui-icon{width:17px;height:17px;flex-shrink:0}
.chat-rail-divider{height:1px;background:#e3e8e1;margin:9px 1px 10px}
.chat-rail-item{display:flex;align-items:center;gap:9px;padding:11px 10px;border-radius:7px;background:#e9eee7;font-size:11px;color:#36483a;min-width:0}
.chat-rail-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-rail-note{font-size:10px;color:#919990;line-height:1.6;margin-top:auto;padding:12px}
.chat-pane{min-width:0;display:flex;flex-direction:column;background:#fff}
.chat-pane-top{height:77px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0eb;flex-shrink:0}
.chat-identity{display:flex;align-items:center;gap:11px}.assistant-avatar{width:36px;height:36px;border-radius:9px;background:#eef1ee;color:#2a3b2e;display:flex;justify-content:center;align-items:center;border:1px solid #e4e9e3}.assistant-avatar .ui-icon{width:19px;height:19px}
.chat-identity-name{font-size:13px;font-weight:500}.chat-identity-sub{font-size:10px;color:#818b82;margin-top:1px}.preview-chip{font-size:9px;font-weight:500;color:#68746b;letter-spacing:.7px;border:1px solid #e0e6de;background:#f8faf7;border-radius:5px;padding:6px 9px}
.conversation-scroll{flex:1;overflow:auto;min-height:370px;max-height:calc(100vh - 350px);scrollbar-color:#d7ddd5 transparent;scrollbar-width:thin}
.chat-welcome{width:min(620px,calc(100% - 50px));margin:95px auto 45px}.welcome-mark{border:1px solid #dee5dc;background:#f2f5f1;color:#37493b;border-radius:12px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:26px}.welcome-mark .ui-icon{width:24px;height:24px;stroke-width:1.5}
.chat-kicker{font-size:10px;color:#838f84;letter-spacing:1.15px;font-weight:500;margin-bottom:15px}
.chat-welcome h1{font-size:31px;line-height:1.25;letter-spacing:-1px;font-weight:500;max-width:540px;margin:0 0 13px}
.chat-welcome p{font-size:13px;line-height:1.85;color:#768177;margin:0;max-width:570px}
.suggestion-grid{display:grid;grid-template-columns:1fr;gap:9px;margin-top:32px;max-width:530px}
.suggestion{background:#fff;border:1px solid #e1e7de;border-radius:8px;padding:14px 14px;color:#3d4a40;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font:400 12px "Figtree",Arial,sans-serif;min-width:0}
.suggestion span{flex:1}.suggestion .ui-icon{width:16px;height:16px;color:#687769}.suggestion-arrow{width:14px;height:14px;transform:rotate(45deg);color:#808b80;stroke-width:1.6;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.suggestion:hover{background:#f7f9f6;border-color:#cdd8cb}
.composer-wrap{padding:13px max(24px,calc((100% - 660px)/2)) 17px;border-top:1px solid #f0f2ee;background:#fff;flex-shrink:0}
.preview-warning{font-size:10px;color:#7c877c;display:flex;gap:8px;align-items:center;margin-bottom:10px;line-height:1.55}.preview-warning .ui-icon{width:14px;height:14px;flex-shrink:0}
.message-composer{border:1px solid #d7e0d5;border-radius:10px;background:#fff;box-shadow:0 2px 12px #1c241c08;padding:10px 10px 9px}
.message-composer:focus-within{border-color:#9dac9b}
.message-composer textarea{width:100%;min-height:55px;resize:vertical;display:block;box-sizing:border-box;border:0;background:transparent;outline:0;color:#29352a;font:400 12px/1.65 "Figtree",Arial,sans-serif;padding:4px 4px 5px}
.message-composer textarea::placeholder{color:#9ca59b}
.composer-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.composer-help{color:#abb4aa;font-size:10px;padding-left:4px}
.send-message{width:34px;height:34px;border:0;background:#192719;color:white;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.send-message .ui-icon{width:17px;height:17px;stroke-width:1.9}.send-message:hover{background:#344936}
.chat-footer{text-align:center;color:#9ca59c;font-size:9px;margin-top:11px;line-height:1.6}
.messages{width:min(670px,calc(100% - 48px));margin:30px auto 20px;display:flex;flex-direction:column;gap:18px}
.chat-message{border-radius:10px;padding:14px 16px;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-width:87%}
.chat-message.user{align-self:flex-end;background:#edf2eb;border:1px solid #e0e8dd;color:#273729}
.chat-message.system{align-self:flex-start;background:#f9faf8;border:1px solid #e8ede7;color:#657367}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.new-convo:focus-visible,.suggestion:focus-visible,.send-message:focus-visible{outline:2px solid #627866;outline-offset:3px}
body.dark .assistant-workspace,body.dark .chat-pane,body.dark .composer-wrap,body.dark .message-composer{background:#151b17;border-color:#374239;color:#e5e9e3}
body.dark .chat-rail{background:#1d261f;border-color:#374239}
body.dark .chat-rail-divider{background:#3a473c}
body.dark .chat-rail-label,body.dark .chat-rail-note,body.dark .chat-identity-sub,body.dark .chat-kicker,body.dark .chat-footer,body.dark .preview-warning,body.dark .chat-welcome p{color:#afbdaf}
body.dark .chat-rail-item,body.dark .assistant-avatar,body.dark .welcome-mark{background:#2d3b30;color:#e4ede4;border-color:#4c594d}
body.dark .new-convo,body.dark .suggestion,body.dark .preview-chip,body.dark .message-composer{background:#242f27;color:#e5e9e3;border-color:#465649}
body.dark .chat-pane-top{border-color:#364238}
body.dark .suggestion .ui-icon,body.dark .suggestion-arrow{color:#a6b5a7}
body.dark .suggestion:hover{background:#2b392e}
body.dark .message-composer textarea{color:#e8eee7}
body.dark .chat-message.user{background:#334337;color:#f1f5ee;border-color:#50624f}
body.dark .chat-message.system{background:#242e26;color:#d2ddd2;border-color:#435243}
@media(max-width:1160px){.assistant-workspace{grid-template-columns:184px minmax(0,1fr)}.chat-welcome{margin:68px auto 36px}}
@media(max-width:830px){body[data-page="assistant"] .shell{min-height:calc(100vh - 16px)}.assistant-workspace{display:flex;flex-direction:column;min-height:calc(100dvh - 100px)}.chat-rail{display:none}.chat-welcome{margin:38px auto}.conversation-scroll{max-height:none;min-height:calc(100dvh - 380px)}.chat-pane-top{padding:0 17px;height:63px}.composer-wrap{padding:12px 16px 14px}.chat-welcome h1{font-size:27px}}
@media(max-width:450px){.chat-welcome{width:calc(100% - 34px);margin:26px auto}.chat-welcome h1{font-size:25px}.chat-welcome p{font-size:12px}.suggestion{padding:12px}.preview-chip{font-size:8px}.composer-help{font-size:9px}.chat-identity-sub{font-size:9px}.chat-identity-name{font-size:12px}.chat-pane-top{padding:0 12px}.composer-wrap{padding:10px}.conversation-scroll{min-height:calc(100dvh - 330px)}}

.mobile-new-chat{display:none;border:1px solid #e0e7dd;background:#fff;width:35px;height:35px;align-items:center;justify-content:center;border-radius:7px;color:#314235;cursor:pointer;margin-left:auto;margin-right:9px}
.mobile-new-chat .ui-icon{width:17px;height:17px}
body.dark .mobile-new-chat{background:#26322a;border-color:#465648;color:#e5eee5}
@media(max-width:830px){.mobile-new-chat{display:inline-flex}}

.nav-icon-img{width:17px;height:17px;display:inline-block;flex-shrink:0;object-fit:contain;image-rendering:pixelated;border-radius:3px}
.nav.active .nav-icon-img{transform:translateY(-.2px)}
.assistant-avatar-img{width:26px;height:26px;display:block;object-fit:contain;image-rendering:pixelated}
.welcome-robot-img{width:34px;height:34px;display:block;object-fit:contain;image-rendering:pixelated}


/* v5 robot polish: preserve the original approved visual language. */
body[data-page="assistant"] .frame{min-height:0;} /* remove old 1100px empty grey tail */
.nav-icon-img{width:25px;height:27px;border-radius:0;object-fit:contain;image-rendering:pixelated;animation:mascot-idle 3.4s ease-in-out infinite;transform-origin:center bottom;}
.assistant-avatar{width:48px;height:54px;border:0;background:transparent;overflow:visible;}
.assistant-avatar-img{width:42px;height:49px;max-width:none;image-rendering:pixelated;animation:mascot-idle 3s ease-in-out infinite;transform-origin:center bottom;filter:drop-shadow(0 3px 3px rgba(18,30,24,.13));}
.welcome-mark{width:76px;height:86px;border:0;background:transparent;overflow:visible;margin-bottom:18px;}
.welcome-robot-img{width:68px;height:81px;max-width:none;image-rendering:pixelated;animation:mascot-idle 3s ease-in-out infinite;transform-origin:center bottom;filter:drop-shadow(0 5px 5px rgba(18,30,24,.10));}
body.dark .assistant-avatar,body.dark .welcome-mark{border:0;background:transparent;}
@keyframes mascot-idle{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-3px) rotate(1deg)}
}
@media(prefers-reduced-motion:reduce){.nav-icon-img,.assistant-avatar-img,.welcome-robot-img{animation:none!important;}}

/* v7 — Full-viewport site shell, matched to AI Assistant. Internal cards stay intact. */
html,body{min-height:100%;}
body{background:var(--page)}
.frame{width:100%;max-width:none;min-height:100dvh;padding:0;margin:0}
.shell{width:100%;min-height:100dvh;border-radius:0;box-shadow:none;grid-template-columns:258px minmax(0,1fr)}
.shell > aside{min-height:100dvh}
@media (min-width:831px) and (max-width:1100px){.shell{grid-template-columns:220px minmax(0,1fr)}}
@media (max-width:830px){.shell{grid-template-columns:minmax(0,1fr)}.shell > aside{min-height:0}}

/* v10: conservative statutory calculation UI, existing design tokens retained */
.scheme-choice{margin:15px 0 5px;border:1px solid var(--border,#e4e8e3);border-radius:8px;background:var(--surface,#fff);padding:13px;display:grid;gap:8px}
.scheme-choice label{font-size:12px;font-weight:500}
.scheme-choice select{padding:10px;background:transparent;border:1px solid #d3dcd3;border-radius:6px;color:inherit;font:inherit;max-width:100%;min-height:39px}
.scheme-choice .scheme-help{color:var(--muted,#6c766d);font-size:11px;line-height:1.65;margin:0}
.statutory-disclosure{margin:8px 18px 12px;color:var(--muted,#697269);font-size:11px;line-height:1.65}
#resultMeta{max-width:100%;white-space:normal}
#liveSummary .figure{font-size:clamp(21px,2.4vw,32px)}
#resultLines b{white-space:nowrap}
@media(max-width:600px){.scheme-choice{margin-top:12px}#resultLines .line{gap:15px;align-items:flex-start}#resultLines .line>span{flex:1}#resultLines .line>b{text-align:right}}
