.tool-wrap{max-width:720px;margin:0 auto;padding:48px 20px 80px;}
.tool-sub{color:var(--text-muted);font-size:15px;margin:6px 0 32px;max-width:64ch;line-height:1.55;}

.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:20px;}
.field{margin-bottom:16px;}
label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:6px;font-weight:500;}
input[type="number"], input[type="date"], input[type="time"], input[type="text"], select{
  width:100%;padding:10px 12px;font-size:14px;border-radius:8px;border:1px solid var(--border);
  font-family:'Inter',sans-serif;background:#fff;color:var(--text);
}
input:focus, select:focus{outline:2px solid var(--teal);outline-offset:1px;}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:640px){.grid2,.grid3,.grid4{grid-template-columns:1fr 1fr;}}

button.primary{background:var(--navy);color:#fff;border:none;padding:12px 22px;border-radius:8px;font-size:14px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;transition:background .15s;}
button.primary:hover{background:var(--navy-dark);}

.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;}
@media (max-width:480px){.stats{grid-template-columns:1fr;}}
.stat{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;}
.stat .n{font-family:'Poppins',sans-serif;font-size:19px;font-weight:700;color:var(--navy);}
.stat .l{font-size:12px;color:var(--text-muted);margin-top:2px;}

.resultCardBig{background:var(--navy);color:#fff;border-radius:10px;padding:22px 24px;text-align:center;margin-bottom:16px;}
.resultCardBig .n{font-family:'Poppins',sans-serif;font-size:30px;font-weight:700;}
.resultCardBig .l{font-size:13px;color:var(--teal-light);margin-top:4px;}

.warn-box{background:var(--warn-bg);color:var(--warn);padding:12px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;}
.ok-box{background:var(--ok-bg);color:var(--ok);padding:12px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;}

.hidden{display:none;}
.note{font-size:11.5px;color:var(--text-faint);margin-top:16px;line-height:1.6;}

table.breakdown{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:4px;}
table.breakdown th{text-align:left;padding:8px 10px;background:#EEF6F1;color:var(--navy);font-weight:600;border-bottom:1px solid var(--border);}
table.breakdown td{padding:8px 10px;border-bottom:1px solid var(--border);}
table.breakdown tr:last-child td{border-bottom:none;font-weight:700;}
