:root { --navy:#083b66; --blue:#1167a8; --pale:#eaf4fb; --line:#9fb7c9; --ink:#132231; --muted:#5b7080; }
* { box-sizing: border-box; }
body { margin:0; background:#f3f7fa; color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
button { border:0; border-radius:8px; background:var(--navy); color:#fff; font-weight:700; padding:11px 16px; cursor:pointer; }
button.secondary { background:#e5eff6; color:var(--navy); }
.app-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px max(20px, calc((100% - 1180px)/2)); background:var(--navy); color:#fff; }
.app-header h1 { margin:1px 0 0; font-size:24px; }
.eyebrow,.print-title p { margin:0; font-size:11px; font-weight:700; letter-spacing:.11em; }
.header-actions { display:flex; gap:8px; }
main { max-width:1180px; margin:20px auto 36px; padding:0 16px; }
.input-card,.container-card,.platform-card { background:#fff; border:1px solid #d6e2ea; border-radius:12px; box-shadow:0 2px 8px #14344a12; }
.input-card,.scan-card { padding:18px; margin-bottom:20px; }
.scan-card { display:flex; align-items:center; justify-content:space-between; gap:20px; background:#fff; border:1px solid #d6e2ea; border-radius:12px; box-shadow:0 2px 8px #14344a12; }
.scan-card h2 { font-size:18px; }.scan-card p { margin:5px 0 0; color:var(--muted); font-size:14px; max-width:720px; }.scan-actions { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }.file-button { display:inline-block; border-radius:8px; background:var(--navy); color:#fff; font-size:14px; font-weight:700; padding:11px 14px; cursor:pointer; }.secondary-file { background:#e5eff6; color:var(--navy); }.scan-card .scan-status { width:100%; color:#18733a; font-weight:700; font-size:13px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:15px; }
.input-actions { display:flex; gap:8px; flex-shrink:0; }
h2,h3 { margin:0; color:var(--navy); } .section-heading p { margin:5px 0 0; color:var(--muted); font-size:14px; }
.table-scroll { overflow-x:auto; }
table { border-collapse:collapse; width:100%; min-width:650px; }
th,td { border:1px solid var(--line); text-align:center; padding:7px; font-size:13px; }
th { background:var(--navy); color:#fff; font-weight:700; }
.input-table th:first-child,.input-table td:first-child { text-align:left; font-weight:700; min-width:70px; }
.input-table td:not(:first-child) { padding:9px; }
input[type=number] { width:92px; border:1px solid #bfd0dc; border-radius:5px; padding:10px; font:inherit; font-size:18px; text-align:right; }
.status { min-height:20px; margin:12px 0 0; color:#a23323; font-weight:700; font-size:13px; }
.print-area { background:#fff; padding:16px; border:1px solid #d6e2ea; border-radius:12px; }
.print-title { display:flex; align-items:end; justify-content:space-between; border-bottom:2px solid var(--navy); padding-bottom:8px; margin-bottom:12px; }
.print-title h2 { margin-top:2px; font-size:18px; }.generated-at { color:var(--muted); font-size:11px; letter-spacing:0; font-weight:400!important; }
.containers { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.container-card,.platform-card { padding:10px; border-radius:6px; box-shadow:none; }
.container-card h3,.platform-card h3 { font-size:14px; margin-bottom:8px; text-transform:uppercase; }
.pallet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.pallet { border:1px solid #497b9c; background:var(--pale); min-height:52px; display:flex; align-items:center; justify-content:center; padding:5px; text-align:center; font-size:16px; font-weight:700; word-break:break-word; }
.pallet.empty { background:#fff; color:#a8b6c1; font-weight:400; }
.platform-table { min-width:700px; }.platform-table th:first-child { width:48px; }.platform-table td { height:36px; font-size:15px; }.platform-table td:not(:first-child) { text-align:left; }
.platform-table td:first-child { background:#e8f1f7; font-weight:700; text-align:center; }.print-note { margin:8px 0 0; color:var(--muted); font-size:11px; }
@media (max-width:680px) { .app-header,.section-heading,.scan-card { align-items:flex-start; flex-direction:column; }.header-actions,.scan-actions,.input-actions { width:100%; }.header-actions button,.input-actions button,.file-button { flex:1; text-align:center; }.containers { grid-template-columns:1fr; }.print-area { padding:10px; }.pallet { min-height:34px; font-size:11px; } }
@page { size:A4 portrait; margin:10mm; }
@media print { body { background:#fff; } .no-print { display:none!important; } main { margin:0; padding:0; max-width:none; } .print-area { display:block; border:0; padding:0; border-radius:0; width:100%; } .print-title { margin-bottom:5mm; padding-bottom:3mm; } .print-title p { font-size:8pt; } .print-title h2 { font-size:15pt; } .generated-at { font-size:8pt; } .containers { grid-template-columns:1fr 1fr; gap:4mm; margin-bottom:4mm; break-inside:avoid; page-break-inside:avoid; }.container-card,.platform-card { padding:3mm; border-color:#6b8da4; break-inside:avoid; page-break-inside:avoid; } .container-card h3,.platform-card h3 { margin-bottom:2mm; font-size:10pt; }.pallet-grid { gap:1.5mm; }.pallet { min-height:10mm; font-size:11.5pt; padding:1mm; }.platform-table { min-width:0; }.platform-table th,.platform-table td { padding:1.7mm; font-size:9.5pt; height:6.2mm; }.platform-table th { font-size:8.5pt; }.print-note { margin-top:2mm; font-size:7pt; } .table-scroll { overflow:visible; } }
