:root{
  --bg:#0a0f1c;
  --panel:#111a2e;
  --panel-2:#0d1526;
  --border:#22304d;
  --text:#e6ebf5;
  --muted:#8b96b3;
  --primary:#3b82f6;
  --primary-hover:#2563eb;
  --primary-light:#16233f;
  --amber:#fbbf24;
  --amber-bg:#3a2c0e;
  --blue:#60a5fa;
  --blue-bg:#122a4d;
  --green:#4ade80;
  --green-bg:#0f2f1d;
  --red:#f87171;
  --red-bg:#3a1414;
  --radius:12px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);}
header.topbar{
  background:var(--panel);border-bottom:1px solid var(--border);
  padding:14px 28px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:20;
}
header.topbar h1{font-size:16px;margin:0;font-weight:650;letter-spacing:-0.01em;color:var(--text);}
header.topbar .sub{color:var(--muted);font-size:12.5px;margin-top:2px;}
.persona-switch{display:flex;gap:6px;background:var(--bg);padding:4px;border-radius:999px;border:1px solid var(--border);}
.persona-switch button{
  border:none;background:transparent;padding:7px 16px;border-radius:999px;font-size:13px;
  font-weight:600;color:var(--muted);cursor:pointer;transition:.15s;
}
.persona-switch button.active{background:var(--primary);color:#fff;}
main{max-width:1080px;margin:0 auto;padding:24px 20px 60px;}
.view{display:none;}
.view.active{display:block;}
.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.tabs button{
  border:none;background:transparent;padding:10px 16px;font-size:13.5px;font-weight:600;
  color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;
}
.tabs button.active{color:var(--blue);border-bottom-color:var(--primary);}
.subview{display:none;}
.subview.active{display:block;}
.subview-estoque{display:none;}
.subview-estoque.active{display:block;}
.card{
  background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px 22px;margin-bottom:16px;
}
.card h2{font-size:15px;margin:0 0 4px;font-weight:650;color:var(--text);}
.card .hint{color:var(--muted);font-size:12.5px;margin:0 0 14px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px;}
input[type=text],input[type=number],input[type=tel],select,textarea{
  width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;
  font-size:13.5px;background:var(--panel-2);color:var(--text);font-family:inherit;
}
input[type=text]::placeholder,input[type=number]::placeholder,input[type=tel]::placeholder,textarea::placeholder{color:#5b6785;}
input[type=file]{color:var(--muted);font-size:12.5px;}
textarea{resize:vertical;min-height:80px;}
.field{margin-bottom:12px;}
.btn{
  display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;
  border:none;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;
}
.btn:hover{background:var(--primary-hover);}
.btn.secondary{background:var(--primary-light);color:var(--blue);}
.btn.secondary:hover{background:#1c2c4d;}
.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border);}
.btn.ghost:hover{border-color:#3a4a70;color:var(--text);}
.btn:disabled{opacity:.45;cursor:not-allowed;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{text-align:left;color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:1px solid var(--border);}
td{padding:10px 10px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text);}
tr:last-child td{border-bottom:none;}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:650;white-space:nowrap;}
.badge.amber{background:var(--amber-bg);color:var(--amber);}
.badge.blue{background:var(--blue-bg);color:var(--blue);}
.badge.green{background:var(--green-bg);color:var(--green);}
.badge.red{background:var(--red-bg);color:var(--red);}
.badge.muted{background:#1a2338;color:var(--muted);}
.order-block{border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:var(--panel-2);}
.order-block .row1{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.order-block .meta{color:var(--muted);font-size:12.5px;margin-top:3px;}
.imei-chip{display:inline-block;background:#182238;border:1px solid var(--border);border-radius:6px;padding:3px 8px;margin:2px 4px 2px 0;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text);}
.flag-box{background:var(--red-bg);border:1px solid #5a2323;color:var(--red);border-radius:8px;padding:10px 12px;font-size:12.5px;margin-top:10px;white-space:pre-line;}
.ok-box{background:var(--green-bg);border:1px solid #235036;color:var(--green);border-radius:8px;padding:10px 12px;font-size:12.5px;margin-top:10px;}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;}
.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;}
.stat .num{font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--text);}
.stat .lbl{color:var(--muted);font-size:12px;margin-top:2px;}
.thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;border:1px solid var(--border);margin-right:6px;}
.empty{color:var(--muted);font-size:13px;padding:20px 0;text-align:center;}
.price-table td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums;}
.price-table th:last-child,.price-table td:last-child{text-align:right;}
.note{font-size:11.5px;color:var(--muted);margin-top:8px;}
footer.note-bottom{max-width:1080px;margin:0 auto;padding:0 20px 40px;color:var(--muted);font-size:12px;}
.auth-card{max-width:420px;margin:40px auto;}
.muted-text{color:var(--muted);font-size:13px;}

/* Estoque: cadastro em lote (grade de campos de IMEI) */
.imei-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;
  margin:6px 0 16px;padding:14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;
}
.imei-grid:empty{display:none;}
.imei-field label{font-size:11px;}
.imei-field input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}

/* Estoque: tabela de revisão da importação */
.import-preview-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:10px;}
.import-preview-table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;padding:6px 6px;border-bottom:1px solid var(--border);}
.import-preview-table td{padding:5px 6px;border-bottom:1px solid var(--border);}
.import-preview-table input,.import-preview-table select{padding:6px 8px;font-size:12.5px;}

/* Estoque: checkbox de pré-compra */
.checkbox-field{margin-bottom:14px;}
.checkbox-field label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;}
.checkbox-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;}

/* Estoque: barra de progresso da conferência de chegada */
.progress-bar{height:6px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);margin-top:10px;overflow:hidden;}
.progress-bar-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .2s;}

::selection{background:var(--primary);color:#fff;}
