/* ── Admin gate ──────────────────────────────── */
.adm-gate{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:40px}
.adm-gate-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:48px 40px;width:100%;max-width:380px;text-align:center;display:flex;flex-direction:column;gap:16px}
.adm-gate-logo{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.adm-gate-title{font-size:26px;font-weight:400;letter-spacing:-.02em}

/* ── Admin layout ────────────────────────────── */
.adm-wrap{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 80px)}
.adm-sidebar{background:var(--ink);color:var(--bg);padding:32px 16px;display:flex;flex-direction:column}
.adm-brand{font-size:18px;font-weight:500;letter-spacing:-.02em;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}
.adm-brand em{color:var(--ocean-soft);font-style:normal}
.adm-nav{display:flex;flex-direction:column;gap:4px;flex:1}
.adm-nav-btn{background:none;border:none;color:rgba(245,238,228,.55);font-size:13px;text-align:left;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all var(--tf)}
.adm-nav-btn:hover{background:rgba(255,255,255,.08);color:var(--bg)}
.adm-nav-btn.active{background:var(--ocean);color:var(--bg)}
.adm-logout{background:none;border:1px solid rgba(255,255,255,.15);color:rgba(245,238,228,.45);font-size:12px;border-radius:6px;padding:10px 12px;cursor:pointer;text-align:left;transition:all var(--tf);margin-top:24px;letter-spacing:.02em}
.adm-logout:hover{color:var(--bg);border-color:rgba(255,255,255,.35)}
.adm-content{padding:40px;overflow-y:auto;background:var(--bg)}

/* ── Admin panel ─────────────────────────────── */
.adm-panel{max-width:900px}
.adm-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:16px}
.adm-panel-head h2{font-size:26px;font-weight:400;letter-spacing:-.02em;margin:0}
.adm-help{font-size:13px;color:var(--muted);margin:0 0 20px;line-height:1.5}
.adm-section-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:32px 0 12px}

/* ── Table ───────────────────────────────────── */
.adm-table{width:100%;border-collapse:collapse;font-size:14px}
.adm-table th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-bottom:2px solid var(--line)}
.adm-table td{padding:11px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.adm-table tbody tr:hover{background:var(--bg-soft)}
.adm-actions{display:flex;gap:8px;justify-content:flex-end}
.adm-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.adm-badge-new{background:var(--ocean);color:var(--bg)}
.adm-badge-used{background:var(--ink);color:var(--bg)}

/* ── Form controls ───────────────────────────── */
.adm-input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font:inherit;font-size:14px;color:var(--ink);transition:border-color var(--tf);outline:none}
.adm-input:focus{border-color:var(--ocean)}
.adm-input-sm{width:110px;padding:6px 10px}
.adm-btn-primary{background:var(--ocean);color:var(--bg);border:none;border-radius:6px;padding:10px 20px;font-size:14px;cursor:pointer;transition:background var(--tf);white-space:nowrap}
.adm-btn-primary:hover{background:var(--ocean-deep)}
.adm-btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px 20px;font-size:14px;cursor:pointer;transition:all var(--tf);white-space:nowrap}
.adm-btn-ghost:hover{border-color:var(--ink)}
.adm-btn-sm{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:5px 12px;font-size:12px;cursor:pointer;transition:all var(--tf)}
.adm-btn-sm:hover{color:var(--ink);border-color:var(--ink);background:var(--bg-soft)}
.adm-btn-danger:hover{color:var(--ocean);border-color:var(--ocean)}
.adm-form{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:24px;margin-bottom:24px}
.adm-form-title{font-size:15px;font-weight:500;margin-bottom:20px;letter-spacing:-.01em}
.adm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.adm-field{display:flex;flex-direction:column;gap:5px}
.adm-field label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.adm-field select{padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font:inherit;font-size:14px;color:var(--ink);outline:none;cursor:pointer}
.adm-form-foot{display:flex;gap:12px;align-items:center}

/* ── Orders & status ─────────────────────────── */
.ord-status{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;cursor:pointer;border:1px solid;transition:all var(--tf)}
.ord-s-pending{color:#92400E;background:#FEF3C7;border-color:#F59E0B}
.ord-s-received,.ord-s-delivered{color:#065F46;background:#D1FAE5;border-color:#10B981}
.ord-s-shipped{color:#1E40AF;background:#DBEAFE;border-color:#3B82F6}
.rep-s-confirmed{color:#1E40AF;background:#DBEAFE;border-color:#3B82F6}
.rep-s-pending{color:#92400E;background:#FEF3C7;border-color:#F59E0B}
.rep-s-done,.rep-s-received{color:#065F46;background:#D1FAE5;border-color:#10B981}
.ord-row{cursor:pointer}
.ord-row:hover td{background:var(--bg-soft)}
.ord-detail{display:flex;flex-direction:column;gap:0}
.ord-detail-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;background:none;border:none;padding:0;margin-bottom:24px;transition:color var(--tf)}
.ord-detail-back:hover{color:var(--ink)}
.ord-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.ord-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:20px 22px}
.ord-card-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.ord-card-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.ord-card-line:last-child{border-bottom:none}
.ord-card-line .k{color:var(--muted);font-size:13px}
.ord-status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.ord-status-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.ord-status-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.ord-status-toggle{display:flex;gap:6px;flex-wrap:wrap}
.ord-status-btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:4px;border:1px solid var(--line);background:var(--bg);cursor:pointer;transition:all var(--tf)}
.ord-status-btn.active-pending{background:#FEF3C7;border-color:#F59E0B;color:#92400E}
.ord-status-btn.active-received,.ord-status-btn.active-delivered,.ord-status-btn.active-done{background:#D1FAE5;border-color:#10B981;color:#065F46}
.ord-status-btn.active-shipped,.ord-status-btn.active-confirmed{background:#DBEAFE;border-color:#3B82F6;color:#1E40AF}

/* ── Photo grid ──────────────────────────────── */
.ord-photos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.ord-photo-thumb{aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--line-soft);position:relative;cursor:pointer}
.ord-photo-thumb img{width:100%;height:100%;object-fit:cover}
.ord-photo-del{position:absolute;top:4px;right:4px;background:rgba(44,26,14,.6);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--tf)}
.ord-photo-thumb:hover .ord-photo-del{opacity:1}
.ord-photo-add{border:2px dashed var(--line);border-radius:6px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--tf);font-size:22px;color:var(--muted)}
.ord-photo-add:hover{border-color:var(--ocean);color:var(--ocean)}

/* ── Planning ────────────────────────────────── */
.plan-nav{display:flex;align-items:center;gap:12px;font-size:15px}
.plan-legend{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;align-items:center}
.plan-leg{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}
.plan-leg::before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;border:1px solid}
.pl-open::before{background:var(--bg-soft);border-color:var(--line)}
.pl-full::before{background:#FEF3C7;border-color:#F59E0B}
.pl-closed::before{background:#FEE2E2;border-color:#EF4444}
.plan-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.plan-dow{text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 0}
.plan-cell{border-radius:6px;padding:7px 6px 6px;min-height:88px;display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:all var(--tf);border:1px solid transparent;overflow:hidden}
.plan-cell-empty{cursor:default;background:transparent!important;border-color:transparent!important}
.plan-open{background:var(--bg-soft);border-color:var(--line)}
.plan-open:hover{border-color:var(--ocean)}
.plan-full{background:#FEF3C7;border-color:#F59E0B}
.plan-full:hover{background:#FDE68A}
.plan-closed{background:#FEE2E2;border-color:#EF4444}
.plan-closed:hover{background:#FECACA}
.plan-past{opacity:.35;cursor:default;pointer-events:none}
.plan-today{outline:2px solid var(--ocean);outline-offset:1px}
.plan-d{font-size:12px;font-weight:600;line-height:1;margin-bottom:1px}
.plan-s{font-size:9px;color:var(--muted)}
.plan-full .plan-s{color:#B45309}
.plan-closed .plan-s{color:#DC2626}
.plan-ev{font-size:9px;font-family:var(--font-mono);letter-spacing:0;color:#fff;border-radius:3px;padding:2px 5px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:opacity var(--tf);flex-shrink:0}
.plan-ev:hover{opacity:.75}
.plan-ev-more{font-size:9px;color:var(--muted);font-family:var(--font-mono);padding:0 2px}
.plan-legend-stage{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.plan-legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}

/* ── Analytics ───────────────────────────────── */
.akpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:36px}
.akpi{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:20px 22px}
.akpi-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.akpi-val{font-size:30px;font-weight:500;letter-spacing:-.03em;line-height:1}
.achart-legend{display:flex;gap:20px;margin-bottom:12px;flex-wrap:wrap}
.achart-leg{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.achart-leg::before{content:'';display:inline-block;width:10px;height:10px;border-radius:2px}
.al-new::before{background:var(--ocean)}
.al-stock::before{background:var(--ocean-soft)}
.al-rep::before{background:var(--ink)}
.achart-wrap{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:20px 24px}
.achart{display:flex;align-items:flex-end;gap:10px;height:180px;border-bottom:1px solid var(--line);padding-bottom:0}
.achart-col{display:flex;flex-direction:column;align-items:center;gap:0;flex:1;height:100%}
.achart-val{font-family:var(--font-mono);font-size:9px;color:var(--muted);min-height:16px;text-align:center;padding-bottom:4px}
.achart-bars{display:flex;align-items:flex-end;gap:2px;flex:1;width:80%;margin:0 auto}
.achart-bar{width:100%;border-radius:2px 2px 0 0;transition:height .5s ease;min-height:0}
.achart-bar-new{background:var(--ocean)}
.achart-bar-stock{background:var(--ocean-soft)}
.achart-bar-rep{background:var(--ink)}
.achart-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--muted);padding-top:8px;text-align:center}
.atraffic-bar{height:5px;border-radius:3px;background:var(--ocean);min-width:2px;transition:width .4s ease}

/* ── Responsive ──────────────────────────────── */
@media(max-width:820px){.adm-wrap{grid-template-columns:1fr}.adm-sidebar{flex-direction:row;flex-wrap:wrap;gap:8px;padding:16px}.adm-brand{padding:0;border:none;margin:0;flex-basis:100%}.adm-nav{flex-direction:row;flex-wrap:wrap}.adm-logout{margin-top:0}.akpi-grid{grid-template-columns:1fr 1fr}.adm-form-grid{grid-template-columns:1fr}}
