.csp-page { color: var(--tool-title-color); }
#content.csp-page { background: var(--tool-card-background); }
#content.csp-page [hidden] { display: none !important; }
#content.csp-page .csp-panel {
  min-width: 0;
  margin: 1rem 0;
  padding: clamp(.85rem, 2.8vw, 1.4rem);
  border: 1px solid var(--tool-card-border);
  border-radius: .65rem;
  background: var(--tool-card-background);
  overflow-wrap: anywhere;
}
#content.csp-page :is(h2,h3,legend,label,summary,strong) { color: var(--tool-title-color); }
#content.csp-page h2 { font-size: clamp(1.25rem,3vw,1.65rem); margin: 0 0 .65rem; }
#csp-result-title { scroll-margin-top: 5rem; }
#content.csp-page .csp-guide h2:not(:first-child) { margin-top: 1.55rem; }
#content.csp-page h3 { font-size: 1.05rem; margin: .85rem 0 .35rem; }
#content.csp-page :is(p,ul,ol) { margin: .4rem 0 .8rem; }
#content.csp-page :is(ul,ol) { padding-inline-start: 1.15rem; }
#content.csp-page .csp-note { color: var(--tool-description-color); font-size: .86rem; }
#content.csp-page :is(.csp-actions,.csp-modes) { display:flex; flex-wrap:wrap; gap:.42rem; align-items:center; margin: .65rem 0; }
#content.csp-page .csp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem .7rem; }
#content.csp-page .csp-grid label { display:grid; gap:.25rem; min-width:0; margin:0; font-size:.92rem; }
#content.csp-page :is(input[type=text],input[type=date],select) {
  appearance:auto;
  min-width:0;
  width:100%;
  min-height:45px;
  padding:.43rem .55rem;
  color:var(--tool-title-color);
  background:var(--tool-card-hover);
  border:1px solid var(--tool-card-border);
  border-radius:.45rem;
  font:inherit;
  font-size:1rem;
}
#content.csp-page input[type=date]::-webkit-date-and-time-value { text-align:left; min-height:1.5em; }
#content.csp-page input[type=checkbox] { appearance:auto; width:1.05rem; height:1.05rem; margin:0; flex:none; accent-color:#147769; }
#content.csp-page .csp-check { display:flex; align-items:center; gap:.5rem; min-height:42px; margin:.2rem 0; font-size:.88rem; }
#content.csp-page button {
  width:auto; height:auto; min-height:44px; padding:.42rem .68rem;
  border:1px solid var(--tool-card-border); border-radius:.45rem;
  color:var(--tool-title-color) !important; background:var(--tool-card-hover);
  font:inherit; font-weight:740; line-height:1.4; white-space:normal; box-shadow:none;
}
#content.csp-page :is(.csp-primary, button[aria-pressed=true]) { color:#fff !important; background:#12675d; border-color:#12675d; }
#content.csp-page .csp-primary { min-width: 8rem; }
#content.csp-page button:disabled { opacity:.55; cursor:default; }
#content.csp-page :focus-visible { outline:2px solid var(--tool-category-color); outline-offset:3px; }
#content.csp-page [aria-invalid=true] { border-color:#c24b51; }
#content.csp-page [role=alert] { color:#a32735; font-weight:720; }
#content.csp-page :is([role=alert],[role=status]):empty { display:none; }
#content.csp-page details, #csp-amount-fields { margin:.75rem 0; padding:.45rem .55rem; border:1px solid var(--tool-card-border); border-radius:.42rem; }
#content.csp-page summary { min-height:42px; padding:.36rem 0; cursor:pointer; font-weight:720; }
#content.csp-page .csp-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
#content.csp-page .csp-kpis > div { display:grid; align-content:start; gap:.12rem; min-width:0; padding:.65rem .75rem; background:var(--tool-card-hover); border:1px solid var(--tool-card-border); border-radius:.48rem; }
#content.csp-page .csp-kpis > div span { font-size:.84rem; color:var(--tool-description-color); }
#content.csp-page .csp-kpis strong { font-size:clamp(1rem, 3vw, 1.35rem); line-height:1.35; }
#content.csp-page .csp-kpis .csp-highlight { background:#155a50; }
#content.csp-page .csp-kpis .csp-highlight :is(span,strong) { color:#f1faf8; }
#content.csp-page .csp-scroll { max-width:100%; overflow-x:auto; }
#content.csp-page table { width:100%; border-collapse:collapse; margin:.45rem 0; }
#content.csp-page :is(th,td) { padding:.42rem .5rem; text-align:left; border-bottom:1px solid var(--tool-card-border); font-size:.84rem; }
#content.csp-page thead th { background:var(--tool-card-hover); color:var(--tool-title-color); }
#content.csp-page .csp-scroll :is(th,td) { white-space:nowrap; }
#content.csp-page .csp-bars { display:grid; gap:.3rem; padding:0; list-style:none; font-size:.79rem; }
#content.csp-page .csp-bars li { display:grid; grid-template-columns: minmax(4rem,8.5rem) 1fr auto; gap:.4rem; align-items:center; }
#content.csp-page .csp-bars meter { width:100%; min-width:0; height:.85rem; accent-color:#13836f; }
#content.csp-page .csp-history-row { border-top:1px solid var(--tool-card-border); padding:.5rem 0; }
#content.csp-page #csp-records li { margin:.3rem 0; }
#content.csp-page #csp-records button { margin:.22rem; }
.csp-copy-area { position:fixed; opacity:0; top:0; }
#csp-print { display:none; }
@media(max-width:470px) {
  #content.csp-page { padding:14px; }
  #content.csp-page .csp-grid, #content.csp-page .csp-kpis { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-color-scheme:dark) {
  #content.csp-page { color-scheme:dark; }
  #content.csp-page [role=alert] { color:#ffb5bd; }
}
@media print {
  .csp-body #page-wrapper { display:none !important; }
  #csp-print { display:block; color:#000; }
  #csp-print pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
}
