*,*::before,*::after{box-sizing:border-box}
:root{--primary-color:#2c5282;--primary-light:#4299e1;--border:#e2e8f0;--text:#2d3748;--text-muted:#4a5568;--radius:10px;--shadow:0 4px 20px rgba(44,82,130,.10)}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:linear-gradient(135deg,#f6f9fc,#edf2f7);color:var(--text);line-height:1.6}
header,footer{background:linear-gradient(135deg,var(--primary-color),#2874b0);color:white;text-align:center;padding:2rem}
header h1{font-size:clamp(1.4rem,3.5vw,2.1rem);margin:.5rem 0}header p{margin:0}.back-nav-bar{text-align:left;font-size:.85rem}header a,footer a{color:white}
.container{max-width:960px;margin:2rem auto 4rem;padding:0 1.5rem}.card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1.5rem}h2,h3{color:var(--primary-color)}h2{font-size:1.25rem;margin:0 0 1rem}h3{font-size:1.05rem}a{color:var(--primary-color)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.form-group{display:flex;flex-direction:column;gap:.3rem}label{font-size:.9rem;font-weight:500;color:var(--text-muted)}input,select,textarea{padding:.55rem .75rem;border:1px solid #718096;border-radius:6px;font:inherit;color:var(--text);background:white;width:100%}textarea{margin-top:.5rem;font-family:monospace}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}
button{font:inherit;cursor:pointer;border-radius:6px;padding:.65rem 1rem}.btn-calc{width:100%;background:linear-gradient(135deg,var(--primary-color),#2874b0);color:white;border:0;font-weight:600;margin-top:1rem;box-shadow:0 4px 12px rgba(44,82,130,.25)}.btn-secondary{border:1px solid var(--primary-color);color:var(--primary-color);background:white;margin-top:.7rem}button:hover{filter:brightness(.95)}button:disabled{cursor:wait;opacity:.6}
.help{font-size:.85rem;color:var(--text-muted)}.options{margin-top:1.2rem}.table-scroll{max-width:100%;overflow:auto;margin:1rem 0}table{border-collapse:collapse;width:100%;font-size:.9rem}caption{font-weight:600;text-align:left;padding-bottom:.5rem}th,td{border:1px solid var(--border);padding:.6rem;text-align:right;white-space:nowrap}th{background:#edf2f7}td input{min-width:85px;width:100px;text-align:right}tfoot{font-weight:600}details{border:1px solid var(--border);border-radius:6px;padding:.8rem}summary{cursor:pointer;font-weight:500}details label{display:block;margin-top:.75rem}
.result-stats{display:flex;flex-wrap:wrap;gap:1rem}.stat-chip{background:rgba(44,82,130,.05);border-radius:8px;padding:1rem;flex:1;min-width:150px}.stat-chip span{display:block;font-size:.8rem;color:var(--text-muted)}.stat-chip strong{font-size:1.5rem;color:var(--primary-color);overflow-wrap:anywhere}.result-error{color:#b91c1c}.result-error:empty,#status:empty{display:none}.warnings{padding-left:1.25rem;color:#744210}.sparse{background:#fff4d6;color:#744210}footer{font-size:.9rem}footer p{margin:0 0 .4rem}
@media(max-width:600px){.container{padding:0 .75rem;margin:1rem auto 2rem}.card{padding:1rem}.form-grid{grid-template-columns:1fr}header{padding:1.5rem 1rem}.stat-chip{min-width:120px}.stat-chip strong{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
