:root{--bg:#f5f7fa;--panel:#fff;--ink:#14213d;--muted:#5d6b82;--line:#e3e8ef;--navy:#14284b;--green:#2e7d4f;--green-soft:#e6f3ec;--amber:#b7791f;--amber-soft:#fdf3e1;--red:#b4413b;--red-soft:#fbe9e7;--blue-soft:#e8eef8;--shadow:0 1px 2px rgba(16,24,40,.05),0 2px 8px rgba(16,24,40,.05);--r:12px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0d1420;--panel:#141d2c;--ink:#e6ebf2;--muted:#93a1b8;--line:#243147;--navy:#9db5e0;--green:#4fbf7e;--green-soft:#173326;--amber:#e3a94a;--amber-soft:#33281a;--red:#ec7f78;--red-soft:#3a1f1f;--blue-soft:#1b2840;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0d1420;--panel:#141d2c;--ink:#e6ebf2;--muted:#93a1b8;--line:#243147;--navy:#9db5e0;--green:#4fbf7e;--green-soft:#173326;--amber:#e3a94a;--amber-soft:#33281a;--red:#ec7f78;--red-soft:#3a1f1f;--blue-soft:#1b2840;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0}
body{font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--green)}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px}
.wm{font-weight:800;letter-spacing:-.3px;color:var(--navy);font-size:18px;white-space:nowrap}.wm i{font-style:normal;color:var(--green)}
.wm:before{content:"";display:inline-block;width:.55em;height:.55em;margin:0 .45em .08em .1em;background:linear-gradient(135deg,#2e7d4f,#14284b);transform:rotate(45deg);border-radius:2px}
.wm.big{font-size:30px;margin-bottom:6px}
.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:9px;padding:7px 13px;cursor:pointer;font-weight:600;transition:.15s}
.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--navy);color:var(--panel);border-color:var(--navy)}.dk-unused{color:#0d1420}
.btn.ok{background:var(--green);border-color:var(--green);color:#fff}.btn.bad{color:var(--red);border-color:var(--red)}.btn.ghost{background:transparent}
.btn.small{padding:4px 9px;font-size:12px}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%;margin-top:4px}
label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:10px 0}
/* login */
.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 20% 10%,var(--green-soft),transparent),radial-gradient(900px 600px at 90% 90%,var(--blue-soft),transparent),var(--bg)}
.login-card{width:380px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 12px 40px rgba(16,24,40,.12)}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:14px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
/* layout */
.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
.side{background:var(--panel);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh}
.client{display:flex;flex-direction:column;font-size:12px;color:var(--muted);padding:10px;border:1px solid var(--line);border-radius:10px}.client b{color:var(--ink);font-size:14px}
nav{display:flex;flex-direction:column;gap:2px}
nav a{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:500}
nav a:hover{background:var(--bg)}nav a.on{background:var(--green-soft);color:var(--green);font-weight:700}
nav .count{font-size:11px;background:var(--amber-soft);color:var(--amber);border-radius:10px;padding:0 7px;font-weight:700}
nav .opt{font-size:10px;color:var(--muted);font-weight:500}
.side-foot{margin-top:auto;display:flex;gap:6px}
main{padding:22px 30px 50px;min-width:0}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.top h1{margin:0;font-size:22px;letter-spacing:-.3px}.top-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.who{font-size:12px;color:var(--muted)}
.badge{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px;background:var(--blue-soft);color:var(--navy);white-space:nowrap}
.badge.sample{background:var(--amber-soft);color:var(--amber)}.badge.go{background:var(--green-soft);color:var(--green)}.badge.hold{background:var(--amber-soft);color:var(--amber)}.badge.kill{background:var(--red-soft);color:var(--red)}
/* cards */
.grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);min-width:0}
.card h2{font-size:14px;margin:0 0 10px;letter-spacing:.1px}.card h3{font-size:13px;margin:12px 0 6px}
.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin:26px 0 10px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.gate{display:flex;gap:10px;align-items:center;background:var(--blue-soft);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:6px}
.gate b{color:var(--navy)}
/* meters */
.lane-head{display:flex;justify-content:space-between;align-items:baseline}.lane-head .n{font-size:24px;font-weight:800}
.meter{height:8px;background:var(--bg);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:10px 0 6px;display:flex}
.meter i{display:block;height:100%}.meter .a{background:var(--green)}.meter .p{background:var(--amber)}
.legend{font-size:12px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
/* proposals */
.prop{border-left:4px solid var(--amber)}.prop.approved{border-left-color:var(--green)}.prop.rejected{border-left-color:var(--red);opacity:.75}
.prop .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.prop .topic{font-weight:700;font-size:15px;margin:2px 0}.prop .url{font-size:12px;word-break:break-all;color:var(--muted)}
.kv{display:grid;grid-template-columns:92px 1fr;gap:6px 10px;font-size:13px;margin:10px 0}.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0}
.kv ul{margin:0;padding-left:16px}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}
.decided{font-size:12px;font-weight:600}
table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;border-bottom:1px solid var(--line);padding:6px 8px}
td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top}tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.q{font-weight:600}
/* briefs */
.steps{display:flex;gap:0;margin:8px 0}.steps span{flex:1;text-align:center;font-size:11px;font-weight:700;padding:5px 2px;background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.steps span:first-child{border-radius:8px 0 0 8px}.steps span:last-child{border-radius:0 8px 8px 0}.steps span.done{background:var(--green-soft);color:var(--green)}.steps span.cur{background:var(--green);color:#fff}
.brieflist .card{cursor:pointer}.brieflist .card.on{outline:2px solid var(--green)}
.doc{font-size:13.5px;line-height:1.6;max-height:calc(100vh - 210px);overflow:auto;padding-right:8px}.doc h1{font-size:19px}.doc h2{font-size:15px;margin-top:22px;border-top:1px solid var(--line);padding-top:14px}
.doc table{font-size:12px;margin:8px 0}.doc code{background:var(--bg);padding:1px 4px;border-radius:4px;font-size:12px}
/* feed */
.feed .item{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:start}.spark{font-size:22px;font-weight:800;text-align:center;color:var(--green)}.spark small{display:block;font-size:10px;color:var(--muted);font-weight:600}
.bar{height:6px;border-radius:4px;background:var(--bg);overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--navy))}
svg text{fill:var(--muted);font-size:11px;font-family:inherit}
.modal{position:fixed;inset:0;background:rgba(10,15,25,.5);display:grid;place-items:center;z-index:20}.modal-card{background:var(--panel);border-radius:14px;padding:22px;width:460px;max-width:92vw;border:1px solid var(--line)}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy);color:var(--panel);padding:10px 16px;border-radius:10px;font-weight:600;z-index:30}[data-theme=dark] .toast{color:#0d1420}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg button{border:0;background:transparent;padding:6px 12px;font:inherit;color:var(--muted);cursor:pointer;font-weight:600}.seg button.on{background:var(--green-soft);color:var(--green)}
.stepper{display:flex;align-items:center;gap:8px}.stepper input{width:64px;text-align:center;margin:0}
.switch{position:relative;width:38px;height:22px;display:inline-block}.switch input{display:none}.switch span{position:absolute;inset:0;background:var(--line);border-radius:22px;cursor:pointer;transition:.2s}.switch span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:before{transform:translateX(16px)}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}nav{flex-direction:row;flex-wrap:wrap}.side-foot{margin:0}.g2,.g3,.g4{grid-template-columns:1fr}main{padding:16px}.top{flex-direction:column}}
/* additions */
.scroll{overflow-x:auto}
.two-col{grid-template-columns:340px 1fr;align-items:start}
.barrow{display:grid;grid-template-columns:150px 1fr 28px;gap:10px;align-items:center;margin:7px 0}
.bar.mine i{background:var(--amber)}
td.good{color:var(--green);font-weight:700}td.bad{color:var(--red);font-weight:700}
tr.hl td{background:var(--blue-soft)}
svg text{fill:var(--muted);font-size:11px}
@media(max-width:820px){.side-foot{margin-top:0}nav{flex-direction:row;flex-wrap:wrap}}
@media(max-width:640px){main{padding:16px}.g2,.g3,.g4,.two-col{grid-template-columns:1fr}.top{flex-direction:column}.barrow{grid-template-columns:120px 1fr 24px}.kv{grid-template-columns:1fr}}

main{padding-left:max(30px,env(safe-area-inset-left,0px));padding-right:max(30px,env(safe-area-inset-right,0px))}
@media(max-width:640px){main{padding-block:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.side{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
/* Plan, weekly report and monthly retro */
.hero{background:linear-gradient(135deg,var(--green-soft),var(--blue-soft))}.hero .hero-t{font-size:22px;letter-spacing:-.3px;margin:0 0 6px;color:var(--navy)}.hero p{margin:0;max-width:820px}
.big-n{font-size:24px;font-weight:800;color:var(--green);margin-bottom:2px}
.findings{margin:0;padding-left:20px;display:grid;gap:10px}.findings li{padding-left:4px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.stats div{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px}
.stats b{display:block;font-size:17px;color:var(--navy)}.stats span{font-size:11px;color:var(--muted);line-height:1.3;display:block}
.loop{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.step{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--bg)}
.step .sn{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;margin-bottom:4px}
.step .ex{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);color:var(--green)}
.barrow.wide{grid-template-columns:210px 1fr 32px}
.await{color:var(--amber);font-style:italic;white-space:nowrap}
.rep-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.pick-l{display:flex;align-items:center;gap:8px;margin:0}.pick-l select{margin:0;width:auto}
.report{max-width:1000px}.report h2{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:22px 0 8px}
.rep-head,.rep-foot{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;letter-spacing:.8px;color:var(--muted);font-weight:700}
.rep-head{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}.rep-foot{border-top:1px solid var(--line);padding-top:8px;margin-top:22px;letter-spacing:0;font-weight:500}
.rep-t{font-size:24px;margin:0 0 2px;letter-spacing:-.3px}.report .lead{margin:0 0 10px}
.report ul{padding-left:18px;margin:0}
@media(max-width:1100px){.loop{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.loop,.stats{grid-template-columns:1fr 1fr}.barrow.wide{grid-template-columns:120px 1fr 28px}}
@media print{
  :root{--bg:#fff!important;--panel:#fff!important;--ink:#14213d!important;--muted:#5d6b82!important;--line:#d5dbe4!important;--navy:#14284b!important;--green:#2e7d4f!important;--amber:#8a5a12!important;--green-soft:#e6f3ec!important;--blue-soft:#eef2f8!important;--shadow:none!important;color-scheme:light!important}
  @page{margin:12mm}
  body{background:#fff;font-size:11px}
  .side,.top,.no-print,.toast,.modal{display:none!important}
  .app{display:block}main{padding:0!important}
  .report.card{border:0;box-shadow:none;padding:0;max-width:none}
  .report table{font-size:10.5px}.report tr,.report td{break-inside:avoid}.report h2{break-after:avoid}
  .await{color:#8a5a12}
  a{color:inherit;text-decoration:none}
  .scroll{overflow:visible}
}
/* How to use */
.manual section{break-inside:auto}.manual p{margin:6px 0}.manual ul,.manual ol{padding-left:20px;margin:6px 0}.manual li{margin:3px 0}
.toc{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.look{background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;padding:8px 12px;margin:10px 0}.look ul{margin:4px 0 0}
.look .good{color:var(--green);font-weight:700}.look .warn{color:var(--amber);font-weight:700}
.gloss{display:grid;grid-template-columns:170px 1fr;gap:6px 14px;margin:0}.gloss dt{font-weight:700}.gloss dd{margin:0}
.routine li{margin:6px 0}
@media(max-width:640px){.gloss{grid-template-columns:1fr}}
@media print{.look{break-inside:avoid}.manual h2{break-after:avoid}}
/* Growth Atlas demo additions */
.demo-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--amber-soft);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:10px;padding:9px 14px;font-size:13px;margin-bottom:16px}
.demo-strip b{color:var(--amber)}
.approver{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:5px 10px;background:var(--panel)}.approver b{color:var(--ink)}
.client select{margin-top:6px}
.foot{margin-top:40px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.foot a{color:var(--muted)}
.chip{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px;border:1px solid var(--line);background:var(--bg);color:var(--muted);white-space:nowrap}
.chip.win,.chip.keep{background:var(--green-soft);color:var(--green);border-color:transparent}.chip.loss,.chip.rollback{background:var(--red-soft);color:var(--red);border-color:transparent}.chip.nc,.chip.adjust{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.flow .fs{flex:1 1 130px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--bg);font-size:12.5px}.flow .fs b{display:block;font-size:13px}
.flow .fs.gate{background:var(--green-soft);border-color:var(--green)}.flow .arr{align-self:center;color:var(--muted);font-weight:800}
details.g{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0;background:var(--panel)}details.g summary{cursor:pointer;font-weight:700}details.g ol{margin:8px 0;padding-left:22px}details.g li{margin:4px 0}
.calc{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;align-items:end}.calc label{margin:0}
.calc-out{font-size:15px;margin-top:10px}
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.yes{color:var(--green);font-weight:700}.no{color:var(--muted)}
.chart-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin-top:6px}.chart-legend i{display:inline-block;width:12px;height:3px;margin-right:5px;vertical-align:middle;border-radius:2px}
.doc pre{white-space:pre-wrap;background:var(--bg);padding:8px;border-radius:8px;font-size:12px}
.print-head{display:none}
@media(max-width:1100px){.lanes{grid-template-columns:1fr}}
@media(max-width:640px){.calc{grid-template-columns:1fr}}
@media print{.demo-strip{border:1px solid #d5dbe4}.print-head{display:flex;justify-content:space-between;font-size:10px;color:#5d6b82;border-bottom:1px solid #d5dbe4;padding-bottom:6px;margin-bottom:10px}.card{box-shadow:none;break-inside:avoid}.doc{max-height:none;overflow:visible}.foot{margin-top:16px}.brieflist{display:none}.two-col{grid-template-columns:1fr}}
.pace-chip{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:4px 9px;background:var(--panel)}.pace-chip b{color:var(--ink)}
