:root{
  --bg: #f2f2f2;
  --fg: #0b1320;
  --muted: #2e2e2e;
  --accent: #5b8def;
  --card: #ffffff;
}

*{box-sizing:border-box}

body{
    margin:0;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
    background:var(--bg);
    color:var(--fg);
    
}


header.app-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    justify-content: space-between;
    background: #fff;
    padding:1rem 1.25rem;
}

h1 {
  margin: 0;
  font-size: 1.35rem;
}

.settings summary{cursor:pointer;color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:.75rem;margin-top:.5rem}
.settings-grid label{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted)}
.settings-grid input{margin-top:.35rem;padding:.55rem .6rem;background:var(--card);color:var(--fg);border:1px solid #2a3550;border-radius:.5rem}

.tabs{display:flex;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid #223;flex-wrap:wrap}
.tab{appearance:none;border:1px solid #2a3550;background:var(--card);color:var(--fg);padding:.6rem .9rem;border-radius:.6rem;cursor:pointer}
.tab.active{border-color:var(--accent);outline:2px solid var(--accent)}

main{padding:1.25rem}
.tab-panel{max-width:794px;margin:0 auto} /* ~ A4 portrait content width */

.standard-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:1rem;margin-top:.5rem}
.standard-grid label{display:flex;flex-direction:column;font-size:.9rem;color:var(--muted); font-weight:bold;}
.standard-grid input{margin-top:.35rem;padding:.7rem .8rem;background:var(--card);color:var(--fg);border:1px solid #2a3550;border-radius:.5rem}

.section-subhead{font-size:1rem;color:var(--muted);margin:.75rem 0 .25rem}
.calc-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:1rem}
.calc-grid label{display:flex;flex-direction:column;font-size:.9rem;color:var(--muted); font-weight:bolder; font-style:italic;}
.calc-grid input{margin-top:.35rem;padding:.7rem .8rem;background:var(--card);color:var(--fg);border:1px solid #2a3550;border-radius:.5rem}

.results{margin-top:1rem;background:var(--card);border:1px solid #2a3550;border-radius:.75rem;padding:1rem}
.results table{width:100%;border-collapse:collapse}
.results th,.results td{padding:.6rem;border-bottom:1px dashed #304;text-align:left}
.results th{color:var(--muted);font-weight:600}
.results tfoot td{font-weight:700}
.badge-out{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:var(--fg);color:var(--card);font-size:.75rem}
.badge-std{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:var(--bg);color:var(--muted);font-size:.75rem}

.actions{display:flex;gap:.5rem;margin-top:1rem}
button{appearance:none;border:1px solid #2a3550;background:var(--card);color:var(--fg);padding:.6rem .9rem;border-radius:.6rem;cursor:pointer}
button.primary{background:var(--accent);border-color:var(--accent);color:white}
button:disabled{opacity:.5;cursor:not-allowed}


.request-summary{
  margin: 0 0 0.75rem 0;
  padding: 0.6rem 0.75rem;
  background: var(--card);
  border: 1px solid #d0d4dc33; /* subtle on dark; fine on light */
  border-radius: 8px;
  color: var(--fg);
}


.fineprint{color:var(--muted);font-size:.85rem;margin-top:.5rem}
footer{padding:2rem 1.25rem;color:var(--muted);border-top:1px solid #223}
footer p {color:var(--muted);font-size:.75rem;margin-top:.5rem}
footer a{color:inherit}



/* Print styles for A4 Portrait */
@media print {
  @page { size: A4 portrait; margin: 12mm; }
 .settings, .settings-grid, nav.tabs, .actions, .settings, input, button, label, .section-subhead, footer { display:none !important; }
  input .calc-grid, .badge-out, .badge-std { display: visible !important; }
  .results table, .results tr, .results td, .results th { page-break-inside: avoid; break-inside: avoid; }
  .section-subhead{ margin-top:8pt; margin-bottom:4pt; }
}
