/* Calculators & Due Diligence Suite styles (#8-#10). Uses tokens.css variables. */

.kp-calc-fieldset{border:0;padding:20px 0 0;margin:0;border-top:1px solid var(--stone-200);display:grid;gap:16px}
.kp-calc-fieldset:first-of-type{border-top:0;padding-top:0}
.kp-calc-fieldset>legend{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-700);padding:0 0 8px;margin:0}

.kp-calc-sticky{display:grid;gap:16px}
@media (min-width:1024px){
  .kp-calc-sticky{position:sticky;top:calc(var(--header-h) + 24px);align-self:start}
}

.kp-calc-subpanel{background:var(--stone-50);border:1px solid var(--stone-200);border-radius:var(--r-md);padding:16px;display:grid;gap:14px}
.kp-calc-note-inline{font-size:var(--fs-caption);color:var(--ink-700);background:var(--stone-100);padding:10px 12px;border-radius:var(--r-xs);border:1px solid var(--stone-200)}

.kp-calc-actions{display:grid;gap:10px;margin-top:20px}
.kp-calc-actions__row{display:grid;gap:10px}
@media (min-width:640px){.kp-calc-actions__row{grid-template-columns:1fr 1fr}}
.kp-btn.is-copied{border-color:var(--tapu-fg);color:var(--tapu-fg);background:var(--tapu-bg)}

/* Mobile sticky summary bar on calculators (design.md B.6.6) */
.kp-calc-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(16px,4vw,24px);min-height:60px;background:var(--navy-900);color:var(--white);box-shadow:0 -12px 28px -10px rgba(11,18,64,.28);transition:transform var(--t-base) var(--ease)}
.kp-calc-bar__text{font-size:var(--fs-small);font-weight:600;line-height:1.3}
.kp-calc-bar__text .num{color:var(--brass-300)}
.kp-calc-bar .kp-btn{min-height:40px;padding:0 16px;font-size:.875rem;flex:none}
.kp-calc-bar.is-hidden{transform:translateY(110%)}
@media (min-width:1024px){.kp-calc-bar{display:none}}
body.has-calc-bar{padding-bottom:64px}
@media (min-width:1024px){body.has-calc-bar{padding-bottom:0}}

/* Worked examples cards */
.kp-worked-card{background:var(--white);border:var(--line);border-radius:var(--r-md);padding:24px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:14px}
.kp-worked-card__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px}
.kp-worked-card__eyebrow{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-700)}
.kp-worked-card__dl{margin:0;display:grid;gap:0;border-top:1px solid var(--stone-200)}
.kp-worked-card__dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--stone-200);font-size:var(--fs-small)}
.kp-worked-card__dl dt{color:var(--ink-700)}
.kp-worked-card__dl dd{margin:0;font-weight:700;text-align:end}
.kp-worked-card__foot{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* Tool cards on /calculators/ hub */
.kp-tool-card{background:var(--white);border:var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,32px);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:16px}
.kp-tool-card__top{display:flex;align-items:flex-start;gap:16px}
.kp-tool-card__presets{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--stone-200)}
.kp-preset-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:var(--r-pill);background:var(--stone-100);border:1px solid var(--stone-300);color:var(--ink-900);font-size:var(--fs-caption);font-weight:600;text-decoration:none;transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
@media (hover:hover){.kp-preset-chip:hover{background:var(--teal-50);border-color:var(--teal-700);color:var(--teal-700)}}

/* Checker layout */
.kp-checker{display:grid;gap:32px;align-items:start}
@media (min-width:1024px){.kp-checker{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px}}
.kp-checker__form{background:var(--white);border:var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-1);display:grid;gap:24px}
.kp-checker__step{padding-top:20px;border-top:1px solid var(--stone-200);display:grid;gap:14px}
.kp-checker__step:first-of-type{padding-top:0;border-top:0}
.kp-checker__step-tag{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-700)}
.kp-residency-box{padding:16px 18px;border-radius:var(--r-md);border:1px solid var(--stone-300);background:var(--stone-50);display:grid;gap:8px;margin-top:16px}
.kp-residency-box--yes{background:var(--res-bg);border-color:rgba(10,106,117,.35)}
.kp-residency-box--no{background:var(--contract-bg);border-color:rgba(127,82,0,.3)}
.kp-residency-box--na{background:var(--stone-100);border-color:var(--stone-300)}
.kp-residency-box h4{font-size:var(--fs-small);font-weight:700;margin:0}
.kp-residency-box p{font-size:var(--fs-small);color:var(--ink-700)}

/* Print summary (hidden on screen, shown in print) */
.kp-print-summary{display:none}
.kp-print-summary__dl{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin:8px 0 12px;padding:10px 12px;border:.5pt solid #999;font-size:9pt}
.kp-print-summary__dl>div{display:flex;justify-content:space-between;gap:8px;border-bottom:.5pt dotted #ccc;padding:3px 0}
.kp-print-summary__dl dt{color:#333;font-weight:600}
.kp-print-summary__dl dd{margin:0;font-weight:700;text-align:end}
.kp-print-legal{margin-top:16px;padding-top:10px;border-top:.5pt solid #ccc}

@media print{
  .kp-calc-bar,.kp-estimator__inputs,.kp-calc-actions,.kp-checker__form,.kp-stepper,.kp-worked,.kp-no-print{display:none !important}
  .kp-estimator,.kp-checker{display:block !important;border:0 !important;padding:0 !important;box-shadow:none !important}
  .kp-calc-sticky{position:static !important}
  .kp-memo,.kp-verdict{border:.75pt solid #0B1240 !important;padding:12pt !important;background:#fff !important;box-shadow:none !important}
  .kp-verdict{border-left:4pt solid #0B1240 !important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .kp-verdict--green{border-left-color:#1D6440 !important}
  .kp-verdict--amber{border-left-color:#7F5200 !important}
  .kp-verdict--red{border-left-color:#962A2A !important}
  .kp-print-summary{display:block !important;margin-bottom:12pt}
  .kp-print-summary h2{font-size:11pt !important;margin:0 0 4pt !important}
  .kp-print-summary__meta{font-size:8.5pt;color:#444;margin-bottom:6pt}
  .kp-ledger th>span:first-child,.kp-ledger td{background:#fff !important}
  .kp-checklist__item input:checked+.kp-checklist__box{background:#0A6A75 !important;color:#fff !important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .kp-meter__band,.kp-meter__avg,.kp-meter__marker{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
