/* SSV Costing – additions on top of the tracker's app.css */
.cbrand{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#0d9488,#2563eb);color:#fff;font-weight:700;font-size:18px;flex:none}
.cbrand.big{width:52px;height:52px;font-size:26px;border-radius:12px}
.loginbox{max-width:420px;margin:0 auto}.loginhead{display:flex;gap:14px;align-items:center;margin-bottom:12px}.loginhead h1{margin:0;font-size:20px}
.ph-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px}
.rag-g{background:var(--g-bg);color:var(--g)}.rag-a{background:var(--a-bg);color:var(--a)}.rag-r{background:var(--r-bg);color:var(--r)}
.tr{font-size:9px;margin-left:3px;vertical-align:1px}.tr.up{color:var(--r)}.tr.down{color:var(--g)}.tr.flat{color:var(--muted)}
.rep{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}
.rep th,.rep td{padding:6px 8px;border-bottom:1px solid var(--line2);white-space:nowrap}
.rep thead th{position:sticky;top:0;background:var(--card);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:right;z-index:1}
.rep th:first-child,.rep td:first-child{position:sticky;left:0;background:var(--card);text-align:left;z-index:2;min-width:190px;max-width:260px;white-space:normal}
.rep thead th:first-child{z-index:3}
.rep td{text-align:right}.rep td a{color:inherit}.rep td a:hover{color:var(--accent)}
.rep tr.tot td{font-weight:700;border-top:2px solid var(--line);background:var(--line2)}
.rep tr.tot td:first-child{background:var(--line2)}
.rep tr.sub td{color:var(--muted);font-size:11.5px}
.rep tr.ev td{font-size:11px;color:var(--ink2);white-space:normal;text-align:center}
.rep td.zero{color:var(--muted)}
.rep .col-sum{border-left:2px solid var(--line)}
.repwrap{overflow:auto;max-height:78vh;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.homesec{margin-top:22px}
.homesec>h2{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.homesec>h2 .small{font-weight:400}
.kids{display:flex;flex-wrap:wrap;gap:4px}.kid{font-size:11.5px;background:var(--line2);border-radius:999px;padding:1px 8px}
.homecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.homecard .big{font-size:24px;font-weight:700}
.homecard dl{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin:8px 0 0;font-size:13px}.homecard dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.chartbox{position:relative;height:300px}
.wk-over td{background:var(--r-bg)}.wk-on td{background:var(--a-bg)}
.st-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px}.st-over{background:var(--r-bg);color:var(--r)}.st-on{background:var(--a-bg);color:var(--a)}.st-under{background:var(--g-bg);color:var(--g)}
.inline-num{width:70px;padding:3px 6px}
.ledger td{vertical-align:top}.ledger td.amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ledger select,.ledger input{padding:3px 6px;font-size:12.5px}
.needdate{color:var(--a);font-weight:600}
@media print{.repwrap{max-height:none;overflow:visible;border:0}.rep thead th,.rep th:first-child,.rep td:first-child{position:static}.chartbox{height:220px}}
.homecards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:12px}
.homecard .btnrow{justify-content:space-between}.homecard .btnrow.small{justify-content:flex-start;gap:14px;margin-top:8px}
.stats.tight{margin:10px 0 0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stats.tight .stat{padding:8px 10px;font-size:12px}.stats.tight .n{font-size:18px}
ul.plain{margin:0;padding-left:18px;line-height:1.8}
input.inline-num{width:64px!important;min-width:0;text-align:right;padding:4px 6px}
.budget-items input{min-width:0}
.card.form.inline-form{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}
.card.form.inline-form>select,.card.form.inline-form>input,.card.form.inline-form>label{width:auto;flex:0 1 auto;margin:0}
.card.form.inline-form>input[type=search],.card.form.inline-form>input[name=q]{flex:1 1 220px}
.ledger select[name=home_id]{min-width:120px}table select[name=home_id]{min-width:120px}
/* v2 – Cost Tracker logo and icon */
.brandicon{width:36px;height:36px;border-radius:9px;flex:none;display:block}
.loginlogo{background:#0b1736;border-radius:10px;padding:18px 20px;margin:-4px -4px 16px;text-align:center}
.loginlogo img{max-width:100%;height:auto;display:inline-block}
/* v2 – weekly budget report (matches the Budgets tab PDF) */
.breport{display:grid;grid-template-columns:minmax(300px,30%) 1fr;gap:0;background:#fff;color:#000;border:2px solid #000;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.25}
.br-left{border-right:2px solid #000;padding:0}
.bt{width:100%;border-collapse:collapse;margin:0 0 6px;font-variant-numeric:tabular-nums}
.bt th,.bt td{border:1px solid #9a9a9a;padding:1px 4px;text-align:center;white-space:nowrap}
.bt td:first-child{white-space:normal}
.bt .n{text-align:right}
.bt-title th{background:#d9d9d9;font-weight:700;border:1px solid #000}
.bt-head th{background:#fff;font-weight:700}
.bt tr.g td{background:#d9ead3}
.bt tr.strong td{font-weight:700;background:#b6d7a8;border:1px solid #000}
.bt-tot td{font-weight:700;background:#fff}.bt-tot td:nth-child(2),.bt-tot td:nth-child(3){border:2px solid #000;background:#d9d9d9}
.bt tr.gap td{border:0;height:4px;padding:0}
.bt tr.note td{color:#c00;font-size:9px;text-align:left;border:0;white-space:normal}
.bt-black th{background:#000;color:#fff;font-weight:700;border:1px solid #000}
.bt.weeks td.wk{background:#d9ead3;text-align:left}.bt.weeks td.ex{background:#f4cccc}
.br-right{display:flex;flex-direction:column;padding:0}
.br-title{border-bottom:2px solid #000;padding:8px;text-align:center;font-weight:700;font-size:14px}
.br-chart{flex:1;margin:10px;border:1px solid #9a9a9a;padding:8px 10px;display:flex;flex-direction:column;min-height:520px}
.br-chart-h{text-align:center;font-weight:700;color:#666;font-size:13px;margin:26px 0 8px}
.br-legend{text-align:center;font-size:10px;color:#333;margin-bottom:6px}
.br-legend span{display:inline-block;vertical-align:-1px;margin:0 4px 0 12px}
.lg-b{width:10px;height:10px;background:#cfead6;border:1px solid #9fd3ae}
.lg-e{width:8px;height:8px;background:#c00;transform:rotate(45deg)}
.br-canvas{position:relative;flex:1;min-height:440px}
@media (max-width:900px){.breport{grid-template-columns:1fr}.br-left{border-right:0;border-bottom:2px solid #000}}
.oprow td{background:color-mix(in srgb,var(--a-bg) 55%,transparent)}
.warncell{background:var(--a-bg)!important}
@media print{
  @page{size:A4 landscape;margin:6mm}
  body.has-nav .nav,.navtoggle,.pagehead,.flash,.noprint{display:none!important}
  body.printing-report .main>*:not(.breport){display:none!important}
  .main{padding:0!important;margin:0!important;max-width:none!important}
  .breport{font-size:5.5pt;line-height:1.08;width:285mm;height:197mm;grid-template-columns:30% 70%;break-inside:avoid;overflow:hidden}
  .bt{margin-bottom:1.6pt}.bt th,.bt td{padding:0 2pt;border-width:.5pt}
  .bt-tot td:nth-child(2),.bt-tot td:nth-child(3){border-width:1pt}
  .bt tr.gap td{height:1.5pt}
  .bt tr.note td{font-size:4.6pt;line-height:1.05}
  .br-title{font-size:9.5pt;padding:4pt}
  .br-chart{margin:5pt;min-height:0;padding:4pt 6pt}
  .br-chart-h{margin:10pt 0 4pt;font-size:8pt}.br-legend{font-size:6pt}
  .br-canvas{flex:none;height:158mm;min-height:0}
  .br-canvas canvas{width:100%!important;height:100%!important}
  .breport,.breport *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.monthpick{display:inline-flex!important;align-items:center;gap:6px;margin:0 0 0 auto!important}.monthpick input{width:auto}
