
/* ====== Global reset & theme ====== */
:root{
  --bg:#0b1020;
  --card:#11172e;
  --muted:#99a2c2;
  --text:#e8ecff;
  --accent:#7c73ff;
  --accent-2:#2bd4bd;
  --danger:#ff6b6b;
  --ok:#2ecc71;
  --glass:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.08);
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{height:100%;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:radial-gradient(1200px 600px at 80% -10%,#1b2143 0%,#0b1020 40%,#0b1020 100%);
  color:var(--text);
  font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,"Helvetica Neue","Noto Sans",sans-serif;
}
img{max-width:100%;height:auto}
a{color:var(--text);opacity:.9;text-decoration:none}
a:hover{opacity:1}

/* ====== Topbar ====== */
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);backdrop-filter:blur(8px);background:var(--glass)}
.top .brand{font-weight:700;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .links{display:flex;gap:12px;align-items:center;overflow:auto;-webkit-overflow-scrolling:touch;flex-wrap:wrap}
.top .btn{background:var(--accent);padding:8px 12px;border-radius:10px;box-shadow:var(--shadow)}

/* ====== Layout ====== */
.container{max-width:1100px;margin:18px auto;padding:0 14px}

/* ====== Cards ====== */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.card{background:linear-gradient(170deg,rgba(124,115,255,.18),rgba(43,212,189,.12));border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:var(--shadow)}
.card b{opacity:.85}.card .n{font-size:30px;font-weight:800;margin-top:6px}

/* ====== Tables (desktop-first) ====== */
.table{width:100%;border-collapse:separate;border-spacing:0 10px;display:table;white-space:normal;overflow-x:visible}
.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.table td,.table th{padding:10px 12px}
.table tr{background:var(--card);border:1px solid var(--border)}
.table tr td:first-child,.table tr th:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}
.table tr td:last-child,.table tr th:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}

/* ====== Forms ====== */
label{display:block;margin:10px 0 6px;color:var(--muted);font-size:13px}
input,select,textarea,button{width:100%;background:#0e1630;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px 14px;min-height:44px}
textarea{min-height:110px}
button{background:linear-gradient(160deg,var(--accent),var(--accent-2));cursor:pointer;font-weight:700;border:none}
button:hover{filter:brightness(1.05)}
.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ====== Messages ====== */
.err{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.4);padding:10px;border-radius:12px;margin:12px 0}
.ok{background:rgba(46,204,113,.12);border:1px solid rgba(46,204,113,.4);padding:10px;border-radius:12px;margin:12px 0}
.small{color:var(--muted);font-size:12px}
.badge{padding:8px 10px;background:var(--glass);border:1px solid var(--border);border-radius:10px;font-size:12px;white-space:nowrap}
hr{border:none;height:1px;background:var(--border);margin:18px 0}

/* ====== Login ====== */
.login{max-width:420px;margin:8vh auto;background:var(--card);padding:22px;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow)}
.login h3{margin:0 0 12px}
fieldset{border:1px solid var(--border);border-radius:14px;padding:12px;margin:14px 0;background:var(--card)}
legend{color:var(--muted);padding:0 8px;font-size:12px}

/* ====== Orders page ====== */
body.page-orders .container{max-width:100%;width:100%}
.orders-table{display:block;width:100%}
.orders-cards{display:none;gap:12px;margin-top:10px}
.order-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:12px;box-shadow:var(--shadow);min-height:320px}
.order-card .hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.order-card .pid{font-weight:700}.order-card .body{margin:6px 0 10px}.order-card .body .pname{font-weight:600}
.order-card .act form{display:flex;gap:8px;flex-wrap:wrap}
.order-card select,.order-card input{min-width:200px}

/* Mobile: Orders => only cards */
@media (max-width:760px){
  .cards{grid-template-columns:1fr}
  .top{padding:10px 12px}.top .links{gap:10px}
  .container{padding:0 12px}
  input,select,textarea,button{min-height:46px;font-size:16px}
  body.page-orders .orders-table{display:none}
  body.page-orders .orders-cards{display:grid;grid-template-columns:1fr}
}

/* Mid breakpoints */
@media (max-width:980px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card .n{font-size:28px}
}

/* ====== Logs page ====== */
body.page-logs .container{max-width:100%;width:100%}
/* Safety: if a table exists on logs, hide it (prevents dual view on mobile) */
body.page-logs table, body.page-logs .table{display:none!important}
/* Always show cards on logs */
body.page-logs .orders-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px}
@media (max-width:1100px){ body.page-logs .orders-cards{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ body.page-logs .orders-cards{grid-template-columns:1fr} }

/* ====== Utility ====== */
.hidden{display:none!important}
.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}
.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}
