body { background:#f6f7f9; }
.card { border:0; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.badge { font-size:.8rem; }
.report-body { background:white; }
.metric-card { position:relative; overflow:hidden; min-height:105px; }
.metric-card h6 { color:rgba(255,255,255,.82); text-transform:uppercase; letter-spacing:.04em; font-size:.75rem; }
.metric-card h2 { margin:0; font-weight:800; color:white; }
.metric-icon { position:absolute; right:.8rem; top:.55rem; font-size:1.55rem; opacity:.85; }
.metric-total { background:linear-gradient(135deg,#0f172a,#1d4ed8); }
.metric-customers { background:linear-gradient(135deg,#334155,#64748b); }
.metric-awaiting { background:linear-gradient(135deg,#f59e0b,#fbbf24); }
.metric-awaiting h6,.metric-awaiting h2 { color:#111827; }
.metric-testing { background:linear-gradient(135deg,#0284c7,#38bdf8); }
.metric-passed { background:linear-gradient(135deg,#15803d,#22c55e); }
.metric-failed { background:linear-gradient(135deg,#991b1b,#ef4444); }
.quick-action { display:block; padding:1rem; border-radius:.75rem; background:white; text-decoration:none; color:#111827; font-weight:700; box-shadow:0 2px 8px rgba(0,0,0,.06); border:1px solid #eef0f3; }
.quick-action:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.09); color:#0d6efd; }
.status-badge { display:inline-block; padding:.35rem .6rem; border-radius:999px; font-size:.78rem; font-weight:700; background:#e9ecef; color:#212529; }
.status-awaiting-test { background:#fff3cd; color:#664d03; }
.status-in-progress { background:#cff4fc; color:#055160; }
.status-pass { background:#d1e7dd; color:#0f5132; }
.status-fail { background:#f8d7da; color:#842029; }
.status-ready-to-ship { background:#dbeafe; color:#1e40af; }
.status-shipped { background:#e2e3e5; color:#41464b; }
.workflow-line { display:flex; flex-direction:column; gap:.45rem; }
.workflow-step { border-left:4px solid #dee2e6; padding:.35rem .75rem; background:#f8f9fa; border-radius:.25rem; font-size:.85rem; font-weight:600; color:#6c757d; }
.workflow-step.current { border-left-color:#0d6efd; background:#e7f1ff; color:#084298; }
.intake-steps { display:flex; gap:.75rem; flex-wrap:wrap; }
.intake-step { padding:.55rem .9rem; border-radius:999px; background:#e9ecef; color:#495057; font-weight:700; font-size:.85rem; }
.intake-step.active { background:#0d6efd; color:white; }
.attachment-card { padding:.75rem; border:1px solid #dee2e6; border-radius:.5rem; background:#f8f9fa; }
.nav-tabs .nav-link { font-weight:600; }
.warehouse-card h4,.queue-card h4 { font-size:1.05rem; }
.warehouse-item,.queue-item { padding:.85rem; margin:.65rem 0; border:1px solid #e5e7eb; border-radius:.65rem; background:#fff; cursor:pointer; transition:.12s ease-in-out; }
.warehouse-item:hover,.queue-item:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.08); border-color:#bfdbfe; }
.queue-card { min-height:280px; }
.asset-stat h6 { color:#64748b; text-transform:uppercase; letter-spacing:.04em; font-size:.72rem; }
.asset-stat h2,.asset-stat h5 { margin:0; font-weight:800; }
.asset-notes { white-space:pre-wrap; font-family:inherit; }
.asset-timeline { border-left:3px solid #dbeafe; padding-left:1rem; }
.timeline-event { position:relative; padding:.75rem 1rem; margin-bottom:.75rem; background:#fff; border:1px solid #e5e7eb; border-radius:.65rem; }
.timeline-event:before { content:""; position:absolute; left:-1.55rem; top:1rem; width:.75rem; height:.75rem; border-radius:50%; background:#0d6efd; box-shadow:0 0 0 4px #dbeafe; }
.quick-receive-box { font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.attachment-tile { min-height:205px; display:flex; flex-direction:column; justify-content:flex-start; }
.attachment-thumb { width:100%; height:135px; object-fit:cover; border-radius:.45rem; border:1px solid #e5e7eb; background:#fff; }
.file-icon { height:135px; display:flex; align-items:center; justify-content:center; font-size:3rem; border-radius:.45rem; background:#eef2ff; border:1px solid #dbe3ef; }
.asset-label-sheet { display:flex; justify-content:center; padding:1rem; background:#f8fafc; border-radius:.75rem; }
.asset-label-card { width:4in; min-height:2.4in; padding:.18in; border:2px solid #111827; border-radius:.08in; background:white; color:#111827; }
.label-brand { font-size:24px; font-weight:900; letter-spacing:.08em; line-height:1; }
.label-subtitle { font-size:11px; color:#64748b; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.08in; }
.label-main-row { display:flex; justify-content:space-between; gap:.12in; align-items:center; }
.label-asset-id { font-size:28px; font-weight:900; margin-bottom:.08in; }
.label-field { font-size:13px; line-height:1.35; }
.qr-box { width:1.25in; text-align:center; }
#assetQrCanvas { width:1.15in !important; height:1.15in !important; }
.label-footer { margin-top:.08in; padding-top:.06in; border-top:1px solid #d1d5db; font-size:10px; color:#4b5563; word-break:break-all; }
.closeout-item { padding:.8rem .9rem; border:1px solid #e5e7eb; border-radius:.65rem; background:#f8fafc; font-weight:650; }
.closeout-item:before { content:"✓"; display:inline-flex; align-items:center; justify-content:center; width:1.35rem; height:1.35rem; border-radius:999px; margin-right:.45rem; background:#d1e7dd; color:#0f5132; font-weight:900; }
.next-build-card { border-left:5px solid #0d6efd; }
@media print {
  .navbar, .no-print, .nav-tabs, .asset-stat, .tab-pane:not(#label), .btn, .alert { display:none !important; }
  main.container { width:auto; max-width:none; margin:0; padding:0; }
  body { background:white; }
  #label { display:block !important; opacity:1 !important; }
  .tab-content>.tab-pane { display:none; }
  .tab-content>#label { display:block !important; }
  .card { box-shadow:none; border:0; padding:0 !important; }
  .asset-label-sheet { padding:0; background:white; justify-content:flex-start; }
}
