/* ============================================================
   Asia Tappeti — Gestionale · Lightage srl
   ============================================================ */
:root{
  --blu:#1F6EB7; --blu-scuro:#14324F; --grigio:#9AA0A6;
  --bg:#F4F6F8; --card:#fff; --bordo:#DDE3E8; --testo:#22272E;
  --ok:#2E9E5B; --warn:#D98A00; --err:#C0392B;
}
*{box-sizing:border-box}
body{margin:0;font:15px/1.45 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--testo)}
a{color:var(--blu);text-decoration:none} a:hover{text-decoration:underline}
h1{font-size:1.35rem;color:var(--blu-scuro);margin:.2rem 0 1rem}
h2{font-size:1.05rem;color:var(--blu);margin:1.2rem 0 .5rem}
main{max-width:1200px;margin:0 auto;padding:1rem 1.2rem 3rem}

/* topbar */
.topbar{display:flex;align-items:center;gap:1rem;background:var(--blu-scuro);color:#fff;padding:.5rem 1rem;flex-wrap:wrap}
.brand{font-weight:700;font-size:1.05rem;white-space:nowrap}
.brand-asia{color:#7FB6E8;font-style:italic}
.topbar nav{display:flex;flex-wrap:wrap;gap:.15rem;flex:1}
.topbar nav a{color:#D7E3EF;padding:.35rem .55rem;border-radius:6px;font-size:.88rem}
.topbar nav a:hover{background:#22496F;text-decoration:none}
.topbar nav a.active{background:var(--blu);color:#fff}
.userbox{font-size:.85rem;display:flex;align-items:center;gap:.5rem}
.foot{max-width:1200px;margin:2rem auto;padding:0 1.2rem;color:var(--grigio);font-size:.8rem}

/* cards / tabelle */
.card{background:var(--card);border:1px solid var(--bordo);border-radius:10px;padding:1rem;margin-bottom:1rem}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:.45rem .55rem;border-bottom:1px solid var(--bordo);text-align:left;font-size:.9rem;vertical-align:middle}
th{background:var(--blu);color:#fff;font-weight:600;font-size:.82rem}
tr:hover td{background:#F2F7FC}
.right{text-align:right}.center{text-align:center}
.badge{display:inline-block;color:#fff;border-radius:20px;padding:.1rem .6rem;font-size:.76rem;white-space:nowrap}
.pill-colore{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid #0002;vertical-align:-3px;margin-right:4px}

/* form */
form.inline{display:inline}
label{display:block;font-size:.8rem;color:#555;margin:.5rem 0 .15rem}
input,select,textarea{width:100%;padding:.45rem .55rem;border:1px solid var(--bordo);border-radius:6px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #1F6EB744;border-color:var(--blu)}
.grid{display:grid;gap: .6rem 1rem}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:800px){.g2,.g3,.g4{grid-template-columns:1fr}}

.btn{display:inline-block;background:var(--blu);color:#fff !important;border:0;border-radius:7px;
     padding:.5rem .9rem;font:inherit;cursor:pointer;text-decoration:none !important}
.btn:hover{background:#185A96}
.btn-sm{padding:.25rem .6rem;font-size:.8rem}
.btn-ok{background:var(--ok)}.btn-ok:hover{background:#25824B}
.btn-warn{background:var(--warn)}.btn-warn:hover{background:#B57300}
.btn-err{background:var(--err)}.btn-err:hover{background:#9C2D22}
.btn-ghost{background:#fff;color:var(--blu) !important;border:1px solid var(--blu)}

/* flash */
.flash{padding:.6rem .9rem;border-radius:8px;margin-bottom:.8rem;font-size:.9rem}
.flash-ok{background:#E4F5E9;color:#1E6B3D;border:1px solid #B7E2C6}
.flash-err{background:#FBE9E7;color:#8E2A20;border:1px solid #F0BBB4}
.flash-warn{background:#FDF3DC;color:#7A4E00;border:1px solid #EED9A6}

/* dashboard kpi */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin-bottom:1rem}
.kpi{background:#fff;border:1px solid var(--bordo);border-left:5px solid var(--blu);border-radius:8px;padding:.7rem .9rem}
.kpi b{display:block;font-size:1.5rem;color:var(--blu-scuro)}
.kpi span{font-size:.78rem;color:#666}

/* scanner */
.scanbox{max-width:460px;margin:0 auto;text-align:center}
.scanbox input{font-size:1.6rem;text-align:center;letter-spacing:.2em;padding:.7rem}
.scan-result{margin-top:1rem}

/* login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--blu-scuro)}
.login-card{background:#fff;padding:2rem;border-radius:12px;width:340px}
.login-card h1{margin-top:0}

/* ------------------------------------------------------------
   STAMPE
   ------------------------------------------------------------ */
.print-doc{background:#fff;max-width:820px;margin:1rem auto;padding:1.4rem;border:1px solid var(--bordo);font-size:13px}
.print-doc table{font-size:12px}
.print-doc th{background:#eee;color:#000;border:1px solid #999}
.print-doc td{border:1px solid #bbb}
.print-actions{max-width:820px;margin:.6rem auto;text-align:right}
.doc-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.doc-logo{font-size:2rem;font-weight:800;font-style:italic;color:#000}
.mono{font-family:ui-monospace,Consolas,monospace}

/* targhetta tappeto: etichetta piccola con barcode */
.targhetta{width:62mm;padding:3mm;border:1px dashed #999;margin:4mm;display:inline-block;text-align:center;vertical-align:top}
.targhetta .num{font-size:20px;font-weight:700;letter-spacing:.1em}

/* targhetta pacco */
.pacco{width:150mm;border:1px solid #000;padding:6mm;margin:5mm auto;font-family:ui-monospace,monospace;font-size:13px}
.pacco .marchio{font-size:22px;font-weight:800;text-align:center;letter-spacing:.05em}

@media print{
  .topbar,.foot,.print-actions,.no-print{display:none !important}
  body{background:#fff}
  main{max-width:none;padding:0}
  .print-doc{border:0;margin:0;max-width:none}
  .targhetta{border:1px dashed #ccc;page-break-inside:avoid}
  .pacco{page-break-inside:avoid}
}
