/* Depreciation calculator v2. Loaded after vat.css (same visual system, .vp-* classes); only what the two-method result, the chart and the schedule need is added here.
   Design: Claude Design canvas approved by the owner 2026-10-31 (docs/history/depreciation-calculator-v2-plan-2026-10-31.md). Controls are radio inputs styled through :checked,
   the "show all years" control is a checkbox + label, so the page works without JavaScript. Icons: inline Lucide SVG (ISC). */
.dp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dp .vp-hero{align-items:stretch}
.dp .vp-art{align-self:stretch;padding:28px}
.dp .vp-copy h1 em{display:inline;font-style:normal;font-size:1em;margin-left:.2em;color:var(--vp-pri)}

/* category choice */
.dp-cats{display:flex;flex-direction:column;gap:8px}
.dp-cat{position:relative;display:block;cursor:pointer}
.dp-cat input{position:absolute;opacity:0;pointer-events:none}
.dp-cat>span{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;min-height:52px;padding:8px 12px;border:1.5px solid #CFC7B6;border-radius:10px;background:#fff;font-size:14px;line-height:1.35;color:var(--vp-ink2)}
.dp-cat b{font-size:17px;font-weight:700;color:var(--vp-ink);line-height:1.2}
.dp-cat b i{display:block;font-style:normal;font-size:12px;font-weight:500;color:var(--vp-mute)}
.dp-cat input:checked+span{background:var(--vp-tint);border:2px solid var(--vp-pri);padding:7.5px 11.5px}
.dp-cat input:checked+span b{color:var(--vp-pri-dk)}
.dp-cat input:focus-visible+span{outline:3px solid var(--vp-pri);outline-offset:2px}
.dp-short{display:none}
.dp-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dp-hint{margin:6px 0 0;font-size:13px;color:var(--vp-mute)}
.dp-amt-sm input{font-size:20px}
.vp-amt select{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 20px var(--sans);color:var(--vp-ink);padding:0;height:50px}
.dp-method{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--vp-tint);border-radius:10px;font-size:14px;line-height:1.4;color:var(--vp-ink2)}
.dp-method .vp-ic{color:var(--vp-pri);margin-top:2px}
.dp [data-only]{display:none}
.dp[data-mode="tax"] [data-only~="tax"],.dp[data-mode="acc"] [data-only~="acc"]{display:block}
.dp[data-mode="tax"] .dp-2[data-only~="tax"],.dp[data-mode="acc"] .dp-2[data-only~="acc"]{display:grid}
.dp[data-mode="tax"] .dp-cats[data-only~="tax"]{display:flex}
.dp[data-mode="tax"] .dp-method[data-only~="tax"],.dp[data-mode="acc"] .dp-method[data-only~="acc"]{display:flex}

/* result panel */
.dp-t{width:100%;border-collapse:collapse;font-size:15px}
.dp-t th,.dp-t td{padding:9px 0;text-align:right;vertical-align:baseline}
.dp-t td,.dp-t thead th{padding-left:12px}
.dp-t thead th{padding-bottom:8px;font-size:13px;font-weight:700;color:#C5DCDD;line-height:1.25;vertical-align:bottom}
.dp-t thead th i{display:block;font-style:normal;font-weight:500;color:#fff;font-size:12px;margin-top:2px}
.dp-t tbody th{text-align:left;font-weight:400;color:#C5DCDD;padding-right:8px}
.dp-t tbody tr{border-top:1px solid rgba(255,255,255,.2)}
.dp-t tbody tr:first-child{border-top:0}
.dp-t tbody td{white-space:nowrap}
.dp-t .dp-k th{color:#fff;font-weight:700}
.dp-t .dp-k td{font-size:17px;font-weight:700;color:#fff}
.dp-note{margin:0;font-size:12.5px;line-height:1.45;color:#C5DCDD}
.dp-msg{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:15px;line-height:1.45}
.dp-msg svg{flex:none;margin-top:2px;color:#9ED3D6}
.dp-ex{margin:0;font-size:13px;color:#C5DCDD}
.dp-err{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:14px;line-height:1.4;color:#a52b2b}
.dp-err[hidden]{display:none}
.vp-amt.dp-bad{border-color:#a52b2b;box-shadow:0 0 0 3px rgba(165,43,43,.14)}
.dp [hidden]{display:none!important}

/* chart */
.dp-chart{width:100%;margin:0;background:#fff;border:1px solid var(--vp-line);border-radius:16px;padding:20px 22px 18px}
.dp-chart h2{font-size:20px;line-height:1.25;margin:0 0 2px;font-weight:500}
.dp-chart .dp-sub{margin:0 0 6px;font-size:14px;color:var(--vp-mute)}
.dp-chart svg{display:block;width:100%;height:auto;font-family:var(--sans)}
.dp-legend{display:flex;flex-wrap:wrap;gap:6px 22px;margin:6px 0 0;padding:0;list-style:none;font-size:14px;color:var(--vp-ink2)}
.dp-chart .dp-legend svg{width:auto;height:8px;flex:none}
.dp-legend li{display:inline-flex;align-items:center;gap:8px}

/* schedule */
.dp-tw{background:#fff;border:1px solid var(--vp-line);border-radius:12px;overflow-x:auto}
.dp-sched{width:100%;border-collapse:collapse;font-size:15px}
.dp-sched caption{text-align:left;caption-side:top;padding:14px 16px;font-size:14px;color:var(--vp-mute)}
.dp-sched th,.dp-sched td{padding:11px 16px;border-top:1px solid var(--vp-line2)}
.dp-sched thead th{background:#F3F0E6;font-size:13px;font-weight:700;text-align:right;border-top:0;color:var(--vp-ink)}
.dp-sched thead th.g{text-align:left}
.dp-sched thead tr+tr th{font-weight:500;color:var(--vp-ink2)}
.dp-sched .sep{border-left:1px solid var(--vp-line)}
.dp-sched tbody th{text-align:left;font-weight:500;width:96px}
.dp-sched tbody td{text-align:right;white-space:nowrap}
.dp-sched tfoot th{text-align:left;font-weight:700;background:#FAF8F1}
.dp-sched tfoot td{text-align:right;font-weight:700;background:#FAF8F1;white-space:nowrap}
.dp-all{position:absolute;opacity:0;pointer-events:none}
.dp-all:not(:checked)~.dp-tw .dp-more{display:none}
.dp-morebtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin-top:10px;border:1px solid var(--vp-line);border-radius:12px;background:#FAF8F1;color:var(--vp-pri);font:700 15px var(--sans);cursor:pointer}
.dp-morebtn .x{display:none}
.dp-all:checked~.dp-morebtn .o{display:none}
.dp-all:checked~.dp-morebtn .x{display:inline}
.dp-all:focus-visible~.dp-morebtn{outline:3px solid var(--vp-pri);outline-offset:2px}
.dp-nomore .dp-morebtn{display:none}

/* method cards + assumptions */
.dp-formula{margin:0;padding:12px 14px;background:var(--vp-tint);border-radius:10px;font-size:16px;font-weight:500;color:var(--vp-pri-dk)}
.dp-pill{display:inline-block;margin-bottom:8px;padding:2px 10px;border-radius:999px;background:#F2E6D8;color:var(--vp-acc);font-size:12px;font-weight:700}
.dp-assume{padding:20px 24px;border:1.5px dashed #BFB59E;border-radius:14px;background:#FFFDF8;font-size:15px;line-height:1.6;color:var(--vp-ink2)}
.dp-assume p{margin:0}
.dp-assume ul{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.dp-assume b{color:var(--vp-ink)}
.dp-twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dp-card{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border:1px solid var(--vp-line);border-radius:14px;background:#fff}
.dp-card h3{font-family:var(--serif);font-size:20px;font-weight:500;margin:0}
.dp-card p{margin:0;font-size:15px;line-height:1.6;color:var(--vp-ink2)}

@media (max-width:1000px){
  .dp .vp-art{display:flex;margin-top:4px}
  .dp .vp-hero{grid-template-areas:"copy" "calc" "art"}
}
@media (max-width:760px){
  .dp-twocol{grid-template-columns:minmax(0,1fr)}
  .dp-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .dp-cat>span{display:flex;flex-direction:column;justify-content:center;gap:1px;min-height:58px;padding-top:6px;padding-bottom:6px;font-size:13px;line-height:1.25}
  .dp-cat b i{display:inline;margin-left:6px}
  .dp-full{display:none}
  .dp-short{display:inline}
  .dp .vp-chips{gap:6px}
  .dp .vp-chips li{padding:4px 10px;font-size:13px}
  .dp-t{font-size:14px}
  .dp-t .dp-k td{font-size:15px}
  .dp .vp-art{padding:14px}
  .dp-chart{padding:16px 12px 14px}
  .dp-sched{font-size:14px;min-width:600px}
  .dp-sched th,.dp-sched td{padding:10px 12px}
}

/* print: the schedule may run over the page break (a 35-year building), header row repeats, rows are never split; more specific than vat.css's table rule */
@media print{
  .vp-print .vpp-t.dp-ptab{break-inside:auto;margin-bottom:3mm;font-size:8.5pt}
  .vp-print .dp-ptab thead{display:table-header-group}
  .vp-print .dp-ptab tr{break-inside:avoid}
  .vp-print .dp-ptab th,.vp-print .dp-ptab td{padding:.8mm 2mm}
  .vp-print .dp-ptab tbody td:first-child{width:12%}
}
