:root{
  --navy:#0f2437;
  --navy-2:#173957;
  --gold:#d5a11e;
  --bg:#f4f6f8;
  --card:#ffffff;
  --text:#17212b;
  --muted:#66788a;
  --border:#d9e0e7;
  --danger:#b42318;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.topbar{background:var(--navy);color:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.brand{font-size:20px;font-weight:800;letter-spacing:.5px}.subtitle{color:#c9d4de;font-size:13px;margin-top:3px}.topbar nav{display:flex;gap:10px}.topbar a{color:#fff;text-decoration:none;padding:9px 12px;border-radius:8px;background:rgba(255,255,255,.08)}.topbar a:hover{background:rgba(255,255,255,.16)}
.page{max-width:1500px;margin:22px auto;padding:0 18px 60px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin:16px 0;padding:20px;box-shadow:0 3px 12px rgba(15,36,55,.06)}.card.wide{max-width:none}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:5px solid var(--gold)}
h1,h2{margin:0 0 14px}p{color:var(--muted);line-height:1.45}.grid{display:grid;gap:14px}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}input,select,textarea{border:1px solid var(--border);border-radius:8px;padding:9px 10px;font-size:14px;color:var(--text);background:#fff;min-width:0}input:focus{outline:2px solid rgba(213,161,30,.25);border-color:var(--gold)}
.button,button{border:1px solid var(--border);background:#fff;color:var(--navy);border-radius:9px;padding:9px 13px;font-weight:700;text-decoration:none;cursor:pointer;display:inline-block}.button.primary,button.primary{background:var(--gold);border-color:var(--gold);color:#111}.button.danger{color:var(--danger)}.actions{display:flex;gap:10px;align-items:center}
table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);padding:8px 9px;text-align:left;font-size:13px;vertical-align:middle}th{background:#f0f3f6;color:#304254;font-weight:800;white-space:nowrap}.table-scroll{overflow:auto}.editable-table input{width:100%;min-width:85px;border-radius:6px;padding:7px}.editable-table td{padding:5px}.editable-table .calc-cell{font-weight:700;color:var(--navy);background:#f8fafc}.editable-table .small{min-width:55px}.editable-table .wide-input{min-width:160px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.sticky-summary{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;border-top:5px solid var(--gold)}.summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;flex:1}.summary-kpis div,.stats div{background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:12px}.summary-kpis span,.stats span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:700}.summary-kpis strong,.stats strong{display:block;margin-top:4px;font-size:21px;color:var(--navy)}.stats{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.summary-total{font-size:18px;font-weight:800}.unknown{background:#fff4f2!important;border-color:#ffb4a8!important}.readonly-grid{font-size:14px;line-height:1.5}.print-header{text-align:center;margin:15px 0 20px}.print-header h1{font-size:28px}.print-header h2{font-size:18px;color:var(--muted)}
@media(max-width:1000px){.cols-4,.cols-6,.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-summary{align-items:stretch;flex-direction:column}.summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{flex-direction:column;align-items:flex-start}}
@media print{.no-print,.topbar{display:none!important}body{background:#fff}.page{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:1px solid #bbb;break-inside:avoid}.sticky-summary{position:static}.button,button{display:none}th{background:#eee!important}.stats{grid-template-columns:repeat(4,1fr)}}

.span-3{grid-column:1/-1}.print-actions{margin:20px 0;text-align:center}.print-table{font-size:11px}.print-table th,.print-table td{padding:5px 6px}.print-table tfoot th{background:#e8edf2;font-weight:800}.takeoff-print-table th:nth-child(13),.takeoff-print-table td:nth-child(13){min-width:160px}.print-table-card{overflow:visible}
@media print{
  @page{size:A4 landscape;margin:10mm}
  .print-table{font-size:9px}
  .print-table th,.print-table td{padding:3px 4px}
  .print-header h1{font-size:20px}.print-header h2{font-size:14px}
  .print-job-card,.print-stats-card{break-inside:avoid}
  .print-table-card{break-inside:auto}
  .print-table tr{break-inside:avoid}
}
