/* valuation.css — The Compound Family Stock Valuation Tool */

:root{--green:var(--accent);--green-dim:var(--accent-dim);--green-border:var(--accent-border);--muted:var(--text2);--dim:var(--text3);}
[data-theme="dark"]{--amber:#e3b341;--amber-dim:rgba(227,179,65,.12);--amber-border:rgba(227,179,65,.3);--red:#f85149;--red-dim:rgba(248,81,73,.12);--red-border:rgba(248,81,73,.3);--blue:#58a6ff;--blue-dim:rgba(88,166,255,.12);--blue-border:rgba(88,166,255,.3);}
[data-theme="light"]{--amber:#7d4e00;--amber-dim:rgba(125,78,0,.08);--amber-border:rgba(125,78,0,.25);--red:#cf222e;--red-dim:rgba(207,34,46,.08);--red-border:rgba(207,34,46,.25);--blue:#0969da;--blue-dim:rgba(9,105,218,.08);--blue-border:rgba(9,105,218,.25);}
@media print{#tcf-nav,.disclaimer-bar,#tcf-footer,#s1,#s2,#s3,#s4,#s5,#s6,#s7,.calc-btn,.load-btn{display:none !important;}body{background:#fff !important;color:#000 !important;}.panel{border:1px solid #ccc !important;}#results{display:block !important;}}
.app{max-width:1100px;margin:0 auto;padding:24px 24px 72px;}
.page-hdr{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.page-hdr-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.page-icon-wrap{display:flex;align-items:center;gap:10px;}
.page-icon{width:38px;height:38px;background:var(--green-dim);border:1px solid var(--green-border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--green);font-size:17px;flex-shrink:0;}
.page-title{font-size:19px;font-weight:700;color:var(--text);}
.page-sub{font-size:12px;color:var(--muted);margin-top:2px;font-family:var(--mono);}
.ver{font-family:var(--mono);font-size:11px;color:var(--dim);background:var(--surface);border:1px solid var(--border);padding:3px 9px;border-radius:20px;}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;}
.pill{font-family:var(--mono);font-size:10px;padding:3px 10px;border-radius:20px;border:1px solid var(--border);color:var(--muted);background:var(--surface2);}
.pill.g{color:var(--green);border-color:var(--green-border);background:var(--green-dim);}
.pill.b{color:var(--blue);border-color:var(--blue-border);background:var(--blue-dim);}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px;}
.ph{padding:12px 17px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;}
.ph-num{width:22px;height:22px;border-radius:50%;background:var(--green-dim);border:1px solid var(--green-border);font-family:var(--mono);font-size:11px;font-weight:700;color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ph-title{font-size:13px;font-weight:600;color:var(--text);}
.ph-note{font-size:11px;color:var(--muted);margin-left:auto;font-family:var(--mono);}
.pb{padding:17px;}
.field{margin-bottom:12px;}
.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px;font-weight:500;font-family:var(--mono);}
.field input,.field select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:13px;font-family:var(--mono);padding:8px 11px;border-radius:7px;outline:none;transition:border-color .15s;}
.field input:focus,.field select:focus{border-color:var(--blue);}
.field input.loaded{border-color:var(--green-border);}
.iw{display:flex;align-items:center;}
.iw input{border-radius:7px 0 0 7px;flex:1;}
.unit{background:var(--surface2);border:1px solid var(--border);border-left:none;color:var(--muted);font-size:11px;font-family:var(--mono);padding:8px 10px;border-radius:0 7px 7px 0;flex-shrink:0;white-space:nowrap;}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.fr4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.fr5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
@media(max-width:800px){.fr5{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:500px){.fr5{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.fr2,.fr3,.fr4{grid-template-columns:1fr;}}
.stale-banner{background:var(--amber-dim);border:1px solid var(--amber-border);border-radius:8px;padding:10px 14px;font-family:var(--mono);font-size:11px;color:var(--amber);margin-bottom:14px;display:none;}
.load-overlay{display:none;text-align:center;padding:24px;}
.load-spinner{font-family:var(--mono);font-size:12px;color:var(--muted);}
.load-progress{height:3px;background:var(--border);border-radius:2px;margin-top:10px;overflow:hidden;}
.load-progress-bar{height:100%;background:var(--green);border-radius:2px;transition:width .3s;}
.load-btn{display:flex;align-items:center;gap:8px;background:var(--blue);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--body);}
.load-btn:hover{background:#79b8ff;}
.calc-btn{width:100%;padding:13px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;font-family:var(--body);letter-spacing:.03em;}
.calc-btn:hover{opacity:.9;transform:translateY(-1px);}
.sc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;}
.sc-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;}
.sc-card.bear{border-color:var(--red-border);background:var(--red-dim);}
.sc-card.base{border-color:var(--green-border);background:var(--green-dim);}
.sc-card.bull{border-color:var(--blue-border);background:var(--blue-dim);}
.sc-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono);margin-bottom:12px;}
.sc-card.bear .sc-label{color:var(--red);}
.sc-card.base .sc-label{color:var(--green);}
.sc-card.bull .sc-label{color:var(--blue);}
.tv-toggle{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.tv-btn{background:var(--surface2);border:1px solid var(--border);color:var(--muted);padding:7px 14px;border-radius:7px;cursor:pointer;font-size:12px;transition:all .15s;}
.tv-btn.active{background:var(--green-dim);border-color:var(--green-border);color:var(--green);font-weight:600;}
.rg{display:-webkit-grid;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.ri{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;min-height:44px;box-sizing:border-box;}
.ri.active{border-color:var(--red-border);background:var(--red-dim);}
.ri-check{width:20px;height:20px;min-width:20px;border-radius:5px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;transition:all .15s;margin-left:auto;color:transparent;}
.ri.active .ri-check{background:var(--red);border-color:var(--red);color:#fff;}
.ri-name{font-size:13px;font-weight:500;color:var(--text);flex:1;}
.ri-prem{font-size:12px;color:var(--muted);font-family:var(--mono);white-space:nowrap;flex-shrink:0;}
.ri.active .ri-prem{color:var(--red);}
@media(max-width:700px){.rg{grid-template-columns:1fr 1fr;}}
.wr{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.wl{font-size:12px;color:var(--muted);width:130px;flex-shrink:0;font-family:var(--mono);}
.ws{flex:1;accent-color:var(--green);}
.wv{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text);width:38px;text-align:right;flex-shrink:0;}
.wtot{font-family:var(--mono);font-size:11px;padding:5px 12px;border-radius:6px;text-align:center;margin-top:8px;}
.wtot.ok{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border);}
.wtot.err{background:var(--red-dim);color:var(--red);border:1px solid var(--red-border);}
.rh{background:linear-gradient(135deg,var(--surface),var(--surface2));border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:16px;}
.rh-ey{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}
.rh-price{font-family:var(--mono);font-size:52px;font-weight:700;color:var(--green);line-height:1;margin-bottom:6px;}
.rh-vs{font-size:14px;color:var(--muted);margin-bottom:4px;}
.rh-pct{font-family:var(--mono);font-size:16px;font-weight:600;margin-bottom:8px;}
.rh-pct.up{color:var(--green);}
.rh-pct.dn{color:var(--red);}
.rh-mos{font-family:var(--mono);font-size:12px;padding:4px 10px;border-radius:20px;display:inline-block;margin-bottom:10px;}
.rh-mos.up{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border);}
.rh-mos.dn{background:var(--red-dim);color:var(--red);border:1px solid var(--red-border);}
.pbar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;}
.pbar-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--amber),var(--green));border-radius:3px;transition:width .5s;}
.rsc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;}
.rsc{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;}
.rsc-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono);margin-bottom:6px;}
.rsc.bear .rsc-lbl{color:var(--red);}
.rsc.base .rsc-lbl{color:var(--green);}
.rsc.bull .rsc-lbl{color:var(--blue);}
.rsc-price{font-family:var(--mono);font-size:22px;font-weight:700;margin-bottom:3px;}
.rsc-pct.up{color:var(--green);font-family:var(--mono);font-size:12px;}
.rsc-pct.dn{color:var(--red);font-family:var(--mono);font-size:12px;}
.rsc-meta{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:6px;line-height:1.6;}
.mt{width:100%;border-collapse:collapse;font-size:12px;}
.mt th{padding:8px 12px;text-align:left;color:var(--muted);border-bottom:1px solid var(--border);font-size:11px;font-family:var(--mono);}
.mt td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text);}
.mt tr:last-child td{border-bottom:none;}
.mbar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;}
.mbar-fill{height:100%;background:var(--green);border-radius:2px;}
.stab{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11px;}
.stab th,.stab td{padding:7px 10px;text-align:center;border:1px solid var(--border);}
.stab th{background:var(--surface2);color:var(--muted);}
.s-rl{text-align:left !important;color:var(--muted);white-space:nowrap;}
.s-hi{background:var(--green-dim);color:var(--green);font-weight:600;}
.s-lo{background:var(--red-dim);color:var(--red);font-weight:600;}
.s-md{color:var(--text);}
.s-base{outline:2px solid var(--green);outline-offset:-2px;}
.mc-wrap{background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:12px;}
.mc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.mc-stat{text-align:center;}
.mc-val{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--text);}
.mc-lbl{font-size:11px;color:var(--muted);margin-top:3px;}
.wacc-row{display:flex;align-items:center;gap:16px;margin-top:14px;padding:12px 14px;background:var(--green-dim);border:1px solid var(--green-border);border-radius:8px;flex-wrap:wrap;}
.wacc-lbl{font-family:var(--mono);font-size:10px;color:var(--green);text-transform:uppercase;letter-spacing:.08em;}
.wacc-val{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--green);}
.wacc-detail{font-family:var(--mono);font-size:11px;color:var(--muted);}
.rdcf-box{background:var(--amber-dim);border:1px solid var(--amber-border);border-radius:8px;padding:16px;}
.rdcf-q{font-size:13px;color:var(--text);margin-bottom:14px;line-height:1.6;}
.rdcf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.rdcf-stat{text-align:center;}
.rdcf-val{font-family:var(--mono);font-size:20px;font-weight:700;}
.rdcf-lbl{font-size:10px;color:var(--muted);margin-top:3px;font-family:var(--mono);}
.rdcf-verdict{font-family:var(--mono);font-size:11px;padding:10px 14px;border-radius:6px;line-height:1.6;}
.rdcf-verdict.dem{background:var(--red-dim);color:var(--red);border:1px solid var(--red-border);}
.rdcf-verdict.fair{background:var(--amber-dim);color:var(--amber);border:1px solid var(--amber-border);}
.rdcf-verdict.cheap{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border);}
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;}
.eq-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;}
.eq-label{font-size:11px;color:var(--muted);margin-bottom:6px;font-family:var(--mono);}
.eq-score{font-family:var(--mono);font-size:28px;font-weight:700;}
.eq-score.hi{color:var(--green);}.eq-score.md{color:var(--amber);}.eq-score.lo{color:var(--red);}
.eq-bar{height:4px;background:var(--border);border-radius:2px;margin-top:8px;overflow:hidden;}
.eq-bar-fill.hi{height:100%;background:var(--green);}.eq-bar-fill.md{height:100%;background:var(--amber);}.eq-bar-fill.lo{height:100%;background:var(--red);}
.eq-overall{display:flex;align-items:center;gap:14px;padding:14px;border-radius:8px;}
.eq-overall.hi{background:var(--green-dim);border:1px solid var(--green-border);}
.eq-overall.md{background:var(--amber-dim);border:1px solid var(--amber-border);}
.eq-overall.lo{background:var(--red-dim);border:1px solid var(--red-border);}
.eq-badge{font-family:var(--mono);font-size:36px;font-weight:700;flex-shrink:0;}
.eq-text{font-size:12px;color:var(--text);line-height:1.7;}
.peer-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--mono);}
.peer-table th{padding:7px 12px;text-align:left;color:var(--muted);border-bottom:1px solid var(--border);font-size:10px;}
.peer-table td{padding:7px 12px;border-bottom:1px solid var(--border);color:var(--text);}
.peer-table tr:last-child td{border-bottom:none;}
.peer-self td{font-weight:700;background:var(--green-dim);}
.peer-premium{color:var(--red);}.peer-discount{color:var(--green);}
.ht{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12px;}
.ht th{padding:7px 10px;text-align:right;color:var(--muted);border-bottom:1px solid var(--border);font-size:10px;}
.ht th:first-child{text-align:left;}
.ht td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:right;color:var(--text);}
.ht td:first-child{text-align:left;color:var(--muted);}
.ht tr:last-child td{border-bottom:none;}
.disc-box{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:14px 18px;font-size:12px;color:var(--muted);line-height:1.7;margin-top:8px;}
.capex-toggle{display:flex;gap:6px;margin-bottom:12px;}
.capex-btn{background:var(--surface2);border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:11px;font-family:var(--mono);transition:all .15s;}
.capex-btn.active{background:var(--blue-dim);border-color:var(--blue-border);color:var(--blue);}
.score-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.score-box{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:14px;text-align:center;}
.score-num{font-family:var(--mono);font-size:36px;font-weight:700;}
.score-label{font-size:11px;color:var(--muted);margin-top:4px;font-family:var(--mono);}
.score-sub{font-size:10px;color:var(--dim);margin-top:2px;}
@media(max-width:900px){.sc-grid,.rsc-grid{grid-template-columns:1fr;}}
@media(max-width:600px){.mc-stats{grid-template-columns:1fr 1fr;}.rdcf-grid{grid-template-columns:1fr 1fr;}.eq-grid{grid-template-columns:1fr;}.rg{grid-template-columns:1fr 1fr;}}
