:root{--bg:#f6f8fb;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--shadow:0 10px 30px #02061714;--btn:#0b1220;--btnText:#fff;--pill:#eef2ff;--danger:#ef4444;--ok:#16a34a;--warn:#f59e0b}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Noto Sans,Helvetica Neue,sans-serif}a{color:inherit}.appShell{width:100%;height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:linear-gradient(#ffffffeb,#ffffffc7);flex-direction:column;gap:18px;width:270px;padding:18px;display:flex}.sidebarHeader{align-items:center;gap:12px;display:flex}.brandMark{color:#1d4ed8;background:radial-gradient(120% 120% at 30% 20%,#2366ff4d,#2366ff1a);border:1px solid #2366ff33;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brandName{font-weight:900;line-height:1.1}.brandSub{color:var(--muted);margin-top:2px;font-size:12px}.sidebarNav{flex-direction:column;gap:6px;display:flex}.navItem{width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;transition:transform .14s,background .14s,border-color .14s;display:flex}.navItem:hover{background:#2366ff14;border-color:#2366ff24;transform:translateY(-1px)}.navItemActive{background:#2366ff1f;border-color:#2366ff2e}.navIcon{color:#1d4ed8;place-items:center;width:22px;display:grid}.navLabel{font-weight:750}.sidebarFooter{flex-direction:column;gap:10px;margin-top:auto;display:flex}.rolePill{color:var(--muted);border:1px solid var(--border);background:#0f172a05;border-radius:14px;padding:10px 12px;font-size:12px}.appContent{flex-direction:column;flex:1;min-width:0;display:flex}.appTopbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;justify-content:space-between;align-items:center;height:68px;padding:14px 22px;display:flex}.pageTitle{font-size:18px;font-weight:900}.pageSubtitle{color:var(--muted);margin-top:2px;font-size:12px}.appTopbarRight{align-items:center;gap:10px;display:flex}.contentInner{padding:22px;overflow:auto}.btnPrimary{color:#fff;background:linear-gradient(#2366fffa,#144ed8fa);border:1px solid #2366ff66}.btnDanger{color:#991b1b;background:#ef44441a;border:1px solid #ef444438}.btnGhost{border:1px solid var(--border);color:var(--text);background:0 0}.btnFull{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.btnIcon{place-items:center;display:grid}.container{width:100%;max-width:1600px;margin:0 auto;padding:14px}.topbar{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.brand{letter-spacing:.2px;font-weight:800}.tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tabBtn{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:10px;padding:8px 12px;font-weight:600}.tabBtn.active{background:var(--btn);color:var(--btnText);border-color:var(--btn)}.rolePill{background:var(--pill);border:1px solid var(--border);color:#334155;border-radius:999px;padding:6px 10px;font-weight:700}.btn{background:var(--btn);color:var(--btnText);cursor:pointer;border:0;border-radius:10px;padding:10px 14px;font-weight:700}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px}.hint{color:var(--muted);font-size:13px}.badge{border:1px solid var(--border);color:#0f172a;background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.badge.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.badge.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.badge.warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.gridScroll{width:100%;padding-bottom:10px;overflow-x:auto}.kanbanGrid{grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;align-items:start;gap:12px;min-width:1100px;display:grid}.colHeader{border:1px solid var(--border);background:#f8fafc;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:800;display:flex}.colBody{min-height:520px;padding:10px}.orderCard{border:1px solid var(--border);background:var(--card);border-radius:16px;margin-bottom:10px;padding:12px;transition:transform .14s,box-shadow .14s;box-shadow:0 8px 18px #0206170f}.orderCard:hover{transform:translateY(-2px);box-shadow:0 14px 34px #0206171a}.orderActions{flex-wrap:wrap;gap:8px;display:flex}.orderTop{justify-content:space-between;align-items:start;gap:10px;margin-bottom:8px;display:flex}.orderId{font-size:16px;font-weight:900}.orderMeta{color:var(--muted);font-size:12px;line-height:1.35}.actionsRow{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.smallBtn{border:1px solid var(--border);color:#fff;cursor:pointer;background:#0b1220;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:800}.smallBtn.secondary{color:#0b1220;background:#fff;border-color:#0b1220}.smallBtn:disabled{opacity:.55;cursor:not-allowed}.sectionTitle{margin:14px 0 6px;font-size:20px;font-weight:900}.tableWrap{border:1px solid var(--border);border-radius:14px;overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:10px}.modalBackdrop{background:#0206178c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border);width:100%;max-width:900px;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:14px}.loginWrap{justify-content:center;align-items:center;min-height:100vh;padding:18px;display:flex}.loginCard{border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:18px}.input{border:1px solid var(--border);border-radius:12px;outline:none;width:100%;padding:12px}.input:focus{border-color:#94a3b8}
