
:root { --brand:#0f766e; }
.logo-sm { width:48px; height:48px; object-fit:contain; }

/* Printing headers */
.print-header { display:flex; gap:12px; align-items:center; margin-bottom:12px; border-bottom:2px solid #e5e5e5; padding-bottom:8px; }
.print-header img { width:48px; height:48px; object-fit:contain; }
.print-header .h1 { font-weight:700; font-size:1rem; }
@page { size: A4; margin: 12mm; }
@media print { .no-print { display:none !important; } .container, .container-fluid { width:100% !important; max-width:none !important; padding:0 !important; } }

/* KPI & gradients */
.kpi-card { color:#fff; border:0; overflow:hidden; }
.kpi-primary { background: linear-gradient(135deg,#2563eb,#60a5fa); }
.kpi-success { background: linear-gradient(135deg,#16a34a,#86efac); }
.kpi-warning { background: linear-gradient(135deg,#d97706,#fbbf24); }
.kpi-danger  { background: linear-gradient(135deg,#dc2626,#f87171); }
.kpi-card .card-body .muted { opacity:.9; font-weight:500; }
.kpi-card .card-body .big   { font-size:2rem; font-weight:800; }

.card-header.hdr-grad { color:#fff; }
.hdr-blue   { background: linear-gradient(135deg,#1d4ed8,#60a5fa); }
.hdr-green  { background: linear-gradient(135deg,#059669,#34d399); }
.hdr-purple { background: linear-gradient(135deg,#7c3aed,#a78bfa); }
.hdr-amber  { background: linear-gradient(135deg,#b45309,#f59e0b); }
.hdr-cyan   { background: linear-gradient(135deg,#0891b2,#22d3ee); }

/* Thumbnails & placeholders */
.thumb-mini { width:56px; height:42px; object-fit:cover; border:1px solid #e5e7eb; border-radius:.35rem; }
.thumb-ph { width:56px; height:42px; display:flex; align-items:center; justify-content:center; border:1px dashed #cbd5e1; border-radius:.35rem; color:#64748b; font-size:.8rem; }
.img-thumb { max-width: 100%; height:200px; width:auto; object-fit:contain; border-radius:.75rem; border:1px solid #e5e7eb; }
.img-mini  { width: 160px; height: 120px; object-fit: cover; border-radius:.5rem; border:1px solid #e5e7eb; }
.img-placeholder { display:flex; align-items:center; justify-content:center; width:160px; height:120px; border:1px dashed #cbd5e1; color:#64748b; border-radius:.5rem; }

/* Sortable headers */
th.sortable { cursor:pointer; user-select:none; white-space:nowrap; }
th.sortable .sort-ind { opacity:.6; font-size:.85em; margin-left:.25rem; }
th.sortable.active { color:#111827; }

/* Stickers */
.stickers { display:grid; grid-template-columns: repeat(4, 1fr); gap:10px; }
.sticker { border:1px solid #dee2e6; border-radius:.75rem; padding:10px; }
.sticker .top { display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.sticker .top img { width:24px; height:24px; object-fit:contain; }
.sticker .title { font-weight:700; font-size:13px; }
.sticker .meta { font-size:11px; color:#374151; }
.sticker .qr-right { margin-left:10px; text-align:right; }
.sticker .qr-right img { width:88px; height:88px; }

/* Signature footer */
.sign-block { page-break-inside: avoid; }
.sign-space { height: 72px; }
@media print { .sign-space { height: 88px; } }
