[hidden]{display:none!important}
.app-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:860px){.app-grid{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.panel h2{margin-top:0;font-size:1.15rem}.panel h3{font-size:1rem;margin:18px 0 8px}
.form2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,160px);gap:8px 12px;align-items:center;margin-bottom:12px}
.form2 label{font-weight:600;font-size:.95rem}
.form2 input,.form2 select,.grid-table input{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:7px;
background:var(--card);color:var(--ink);width:100%}
.grid-table{width:100%;border-collapse:collapse;margin-bottom:8px}
.grid-table th{text-align:left;font-size:.8rem;color:var(--muted);font-weight:600;padding:2px 4px}
.grid-table td{padding:3px 4px}
.grid-table td:first-child input{min-width:7em}
.grid-table input[type=number]{min-width:4.5em}
.box-scroll{overflow-x:auto}
button.link{background:none;border:0;text-decoration:underline;color:var(--navy,#14213D);text-decoration-color:var(--coral,#FF6B5B);text-decoration-thickness:2px;cursor:pointer;padding:4px 0;font:inherit}
.results strong.small{font-size:1rem}
table.mini{width:100%;border-collapse:collapse;margin:10px 0}
table.mini td{padding:6px 4px;border-bottom:1px solid var(--line)}
table.mini td.n{text-align:right;font-variant-numeric:tabular-nums}
table.mini tr:last-child td{font-weight:700}
.warn{color:#b42318;font-weight:600}.ok{color:#067647;font-weight:600}
.quote{border:1px dashed var(--line);border-radius:10px;padding:16px;margin-top:16px;background:#fff;color:#111}
.quote h2{margin:0 0 4px}
details{margin:12px 0}
@page{margin:15mm}
.quote table.mini td{border-color:#ddd}
@media print{
  .no-print,header,footer{display:none!important}
  body{background:#fff}
  .app-grid{display:block}
  .panel{border:0;padding:0;background:#fff}
  .quote{border:0;margin:0;padding:0}
}

.form2 input,.form2 select,.grid-table input{border-color:#8A7F6C}
