.thac{--ink:#1f2a44;--muted:#5d6985;--sheet:#f3f6fb;--paper:#fff;--rule:#d5dcea;--accent:#3a4bc9;--accent-d:#2c3aa3;--ok:#1b8553;--ok-bg:#e6f5ed;--warn:#a96405;--warn-bg:#fff3de;--bad:#b3261e;--bad-bg:#fdeceb;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);max-width:980px;margin:0 auto;line-height:1.5;font-size:16px}
.thac,.thac *,.thac *::before,.thac *::after{box-sizing:border-box}
.thac-panel{background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:22px;margin:0 0 18px}
.thac-panel>h3,.thac-title{margin:0 0 4px;font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.3}
.thac-sub{margin:0 0 16px;color:var(--muted);font-size:.92rem}
.thac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.thac-grid.thac-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.thac-group{margin:0 0 6px;padding:10px 0 0;border-top:1px solid var(--rule)}
.thac-group:first-child{border-top:0;padding-top:0}
.thac-group>h4{margin:0 0 10px;font-size:.98rem;font-weight:700;color:var(--accent-d)}
.thac-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.thac-field label{font-size:.88rem;font-weight:600;color:var(--ink)}
.thac-field small{color:var(--muted);font-size:.78rem;font-weight:400}
.thac input[type=number],.thac input[type=text],.thac select{width:100%;height:42px;padding:0 12px;border:1px solid #b9c3d9;border-radius:7px;background:var(--paper);color:var(--ink);font-size:1rem;font-family:inherit;font-variant-numeric:tabular-nums;margin:0;box-shadow:none}
.thac input:focus,.thac select:focus,.thac button:focus-visible{outline:3px solid rgba(58,75,201,.28);outline-offset:1px;border-color:var(--accent)}
.thac-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.thac-btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:.98rem;font-weight:600;font-family:inherit;padding:0 20px;height:42px;border-radius:7px;cursor:pointer;line-height:1;transition:background .15s}
.thac-btn:hover{background:var(--accent-d)}
.thac-btn.thac-ghost{background:var(--paper);color:var(--accent-d);border-color:#b9c3d9}
.thac-btn.thac-ghost:hover{background:var(--sheet)}
.thac-btn.thac-small{height:34px;padding:0 12px;font-size:.86rem}
.thac-msg{margin:14px 0 0;padding:10px 14px;border-radius:7px;font-size:.92rem;display:none}
.thac-msg.thac-show{display:block}
.thac-msg.thac-err{background:var(--bad-bg);color:var(--bad);border:1px solid #f1c3bf}
.thac-msg.thac-info{background:var(--warn-bg);color:var(--warn);border:1px solid #f0d9ad}
.thac-results{display:none}
.thac-results.thac-show{display:block}
.thac-verdict{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;margin:0 0 16px;font-weight:600}
.thac-verdict.thac-ok{background:var(--ok-bg);color:var(--ok)}
.thac-verdict.thac-warn{background:var(--warn-bg);color:var(--warn)}
.thac-verdict.thac-bad{background:var(--bad-bg);color:var(--bad)}
.thac-big{font-size:2rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.thac-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 16px}
.thac-stat{background:var(--sheet);border:1px solid var(--rule);border-radius:8px;padding:12px 14px}
.thac-stat span{display:block;font-size:.8rem;color:var(--muted);font-weight:600}
.thac-stat b{display:block;font-size:1.35rem;font-variant-numeric:tabular-nums;margin-top:2px;word-break:break-word}
.thac-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.thac table{width:100%;border-collapse:collapse;font-size:.93rem;margin:0;background:transparent}
.thac th,.thac td{padding:9px 10px;text-align:left;border:0;border-bottom:1px solid var(--rule);vertical-align:middle}
.thac th{font-size:.82rem;font-weight:700;color:var(--muted);background:var(--sheet);white-space:nowrap}
.thac td.thac-n,.thac th.thac-n{text-align:right;font-variant-numeric:tabular-nums}
.thac-ledger tr.thac-total td{border-top:1px solid var(--ink);border-bottom:3px double var(--ink);font-weight:800}
.thac-ledger td small{display:block;color:var(--muted);font-weight:400;font-size:.78rem}
.thac-ledger tr.thac-best td{background:var(--ok-bg)}
.thac-flag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:700;white-space:nowrap}
.thac-flag.thac-ok{background:var(--ok-bg);color:var(--ok)}
.thac-flag.thac-warn{background:var(--warn-bg);color:var(--warn)}
.thac-flag.thac-bad{background:var(--bad-bg);color:var(--bad)}
.thac-flag.thac-na{background:var(--sheet);color:var(--muted)}
.thac-rows input[type=number],.thac-rows input[type=text],.thac-rows select{height:38px;font-size:.93rem;padding:0 9px}
.thac-rows td{padding:6px 6px}
.thac-x{appearance:none;border:1px solid #b9c3d9;background:var(--paper);color:var(--bad);width:34px;height:34px;border-radius:7px;cursor:pointer;font-size:1.1rem;line-height:1;padding:0}
.thac-x:hover{background:var(--bad-bg)}
.thac-note{color:var(--muted);font-size:.84rem;margin:12px 0 0}
.thac-seg{display:inline-flex;border:1px solid #b9c3d9;border-radius:8px;overflow:hidden;margin:0 0 16px;max-width:100%}
.thac-seg button{appearance:none;border:0;background:var(--paper);color:var(--ink);font-family:inherit;font-size:.9rem;font-weight:600;padding:0 16px;height:38px;cursor:pointer}
.thac-seg button+button{border-left:1px solid #b9c3d9}
.thac-seg button[aria-pressed=true]{background:var(--accent);color:#fff}
.thac-bar{height:12px;background:var(--sheet);border:1px solid var(--rule);border-radius:999px;overflow:hidden;margin:6px 0 4px}
.thac-bar i{display:block;height:100%;background:var(--ok);border-radius:999px;transition:width .35s}
.thac-bar i.thac-low{background:var(--bad)}
.thac-details{border:1px solid var(--rule);border-radius:8px;margin:10px 0 0;background:var(--paper)}
.thac-details summary{cursor:pointer;padding:11px 14px;font-weight:700;font-size:.94rem;color:var(--accent-d)}
.thac-details .thac-scroll{padding:0 6px 8px}
@media (max-width:680px){
.thac-panel{padding:16px}
.thac-grid,.thac-grid.thac-3{grid-template-columns:1fr}
.thac-big{font-size:1.7rem}
.thac-actions .thac-btn{flex:1 1 auto}
.thac-seg{display:flex;width:100%}
.thac-seg button{flex:1 1 0;padding:0 8px}
}
@media (prefers-reduced-motion:reduce){.thac *{transition:none!important}}
@media print{.thac-actions,.thac-x,.thac-seg{display:none}.thac-panel{border:0;padding:0}}
.thac[data-tool=inventory-valuation] .thac-rows table{min-width:600px}
.thac[data-tool=inventory-valuation] .thac-rows select{min-width:128px}
.thac[data-tool=final-exam-grade] .thac-rows table{min-width:440px}
.thac[data-tool=npv-irr] .thac-rows table{min-width:300px}
