/* Indirect cost calculator. Builds on /styles.css tokens and tool classes. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ic-stack{display:grid;gap:28px}
.ic .card-title{margin-bottom:12px}
.ic-hint{margin-top:14px;max-width:70ch}

/* budget lines */
.ic-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,1fr) 88px;gap:12px;margin-top:20px;padding:0 4px;font-weight:600}
.ic-lines{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.ic-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,1fr) 88px;gap:12px;align-items:center}
.ic-lab{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic-money{position:relative}
.ic-money span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.tool .ic-money input{padding-left:28px;text-align:right;font-variant-numeric:tabular-nums}
.ic-remove{font:inherit;font-size:1rem;background:none;border:0;color:var(--ocean);cursor:pointer;padding:10px 8px;min-height:44px;border-radius:10px;text-decoration:underline;text-underline-offset:3px}
.ic-remove:hover{background:var(--sky-mid)}
.ic-line-err{grid-column:1/-1;margin:0;min-height:0}
.ic-line-err:empty{display:none}
.tool [aria-invalid=true]{border-color:#b4553f!important}
.ic-buttons{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:18px}
.tool .ic-buttons .btn{margin-top:0}
.ic-paste{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.ic-paste summary{cursor:pointer;font-weight:600;color:var(--ocean);padding:8px 0;border-radius:8px;width:max-content;max-width:100%}
.ic-paste .field{margin-top:14px}
.ic-paste textarea{min-height:140px;font-variant-numeric:tabular-nums}
.ic-paste #paste-preview>.hint{margin-top:18px}

/* percent inputs */
.ic-pct{position:relative;max-width:180px}
.tool .ic-pct input{padding-right:36px;text-align:right;font-variant-numeric:tabular-nums}
.ic-pct span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
#ic-rates .err{margin-top:2px;min-height:0}
#ic-rates .err:empty{display:none}

/* summary */
#tool-result .facts div{grid-template-columns:1fr auto}
#tool-result .facts dd{font-variant-numeric:tabular-nums;text-align:right}
#tool-result .facts .ic-strong dt,#tool-result .facts .ic-strong dd{font-weight:600}
.ic-options{display:grid;gap:14px;margin-top:22px}
.ic-option{background:var(--sky-low);border-radius:20px;padding:18px 20px;border:1px solid var(--line)}
.ic-option.ic-deMinimis{background:var(--sky-mid)}
.ic-option h3{font-size:1.05rem}
.ic-amt{font-family:'Young Serif',Georgia,serif;font-size:1.9rem;line-height:1.2;margin-top:6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ic-how{color:var(--muted);margin-top:4px;font-size:.97rem;overflow-wrap:anywhere}
.ic-total{margin-top:8px;font-variant-numeric:tabular-nums}
.ic-more{margin-top:2px}

/* line table */
.ic-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ic-table{margin-top:4px}
.ic-table .num,.ic-preview .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ic-table thead th:nth-child(3),.ic-table thead th:nth-child(4){text-align:right}
.ic-table tbody th{width:auto;font-weight:600}
.ic-table .ic-status{display:block;color:var(--muted);font-size:.95rem;white-space:normal}
.ic-table .is-excluded td.num:nth-child(4){color:var(--muted)}
.ic-table .ic-sec{display:block;color:var(--muted);font-size:.95rem;margin-top:2px}
.ic-table tfoot th,.ic-table tfoot td{font-weight:600;border-bottom:0;border-top:2px solid var(--line)}
.ic-preview{margin-top:12px}
.ic-preview thead th{font-size:1rem;font-family:inherit;font-weight:600}
.ic .compare caption{caption-side:top}

/* save panel: a note card until /tools/tools.css styles it */
.save-panel.note-card{margin-top:0;max-width:none}
.save-panel .result-actions .btn{margin-top:0}
.save-panel [aria-disabled=true]{opacity:.55;pointer-events:none}

/* explainer and related */
.ic-learn .prose h2{margin-top:0}
.ic-h3{margin-top:28px;font-size:1.2rem}
.ic-h2{font-size:clamp(1.6rem,3vw,2.1rem);text-align:center}
.ic-related .tool-cards{margin-top:32px}
.ic-related .tool-card h3{font-size:1.2rem}
.faq h2{text-align:center}

@media (max-width:760px){
  .ic-head{display:none}
  .ic-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px;padding:14px;border-radius:18px;background:var(--sky-low);border:1px solid var(--line)}
  .ic-line .ic-name{grid-column:1/-1}
  .ic-lab{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:block;font-weight:600;font-size:.95rem;margin-bottom:4px}
  .ic-line .ic-rm{grid-column:1/-1;justify-self:end}
  .tool .ic-line input,.tool .ic-line select{background-color:var(--panel-solid)}
  .ic-remove{padding:6px 8px;min-height:44px}
  /* table rows become stacked cards */
  .ic-table thead{display:none}
  .ic-table,.ic-table tbody,.ic-table tfoot,.ic-table tr,.ic-table th,.ic-table td{display:block;width:100%}
  .ic-table tr{border-bottom:1px solid var(--line);padding:12px 0}
  .ic-table th,.ic-table td{border:0!important;padding:3px 0!important;text-align:left!important}
  .ic-table td[data-label]{display:grid!important;grid-template-columns:7.5em minmax(0,1fr);column-gap:8px}
  .ic-table td[data-label]>*{grid-column:2}
  .ic-table td[data-label]::before{content:attr(data-label);color:var(--muted);font-weight:400}
  .ic-table td[data-label="Why"]{display:block!important}
  .ic-table td[data-label="Why"]::before{display:block}
  .ic-table td.num{white-space:normal}
  .ic-table .ic-status{display:block;margin:0}
  .ic-table .ic-blank{display:none}
  .ic-table tfoot tr{border-top:2px solid var(--line);border-bottom:0}
}
@media (max-width:520px){.ic-line{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}.ic-line>.ic-cell:nth-child(2){grid-column:1/-1}.ic-line .ic-rm{grid-column:auto;align-self:end}.ic-amt{font-size:1.6rem}}

@media print{
  #tool-form,#ic-rates,.ic-learn,.faq,.ic-related,.result-actions,.ic-more{display:none!important}
  .ic-stack,.tool-wrap{display:block}
  .ic-option{break-inside:avoid;border:1px solid #ccc;background:#fff!important}
  .ic-table{font-size:11pt}
  .ic-scroll{overflow:visible}
  #ic-detail{margin-top:24px}
}
