:root{--bg:#E9EDF1;--surface:#EEF1F4;--surface-elevated:#F2F5F8;--surface-inset:#E4E8ED;--text:#15191F;--text-secondary:#3A4250;--muted:#66707A;--accent:#4F6EF7;--accent-strong:#3D5BE0;--accent-soft:#6B85FF;--accent-glow:rgba(79,110,247,.14);--accent-border:rgba(79,110,247,.28);--green:#1A9E5C;--green-bg:#E6F5EC;--amber:#B77900;--amber-bg:#FFF3D6;--red:#D43D3D;--red-bg:#FFEDED;--shadow-light:#FFFFFF;--shadow-dark:#C3CAD2;--border:rgba(255,255,255,.65);--line:rgba(21,25,31,.07);--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-full:9999px;--ease:cubic-bezier(.22,1,.36,1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent);color:#fff}a:focus-visible,.btn:focus-visible,.input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}.page{padding:28px 0 8px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:4px 0 20px}.page-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:7px 14px;border-radius:var(--radius-full);background:var(--accent-glow);border:1px solid var(--accent-border);margin-bottom:10px}.page-title{margin:0;font-size:clamp(1.5rem,2.4vw + 1rem,2.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.12}.page-sub{margin:6px 0 0;color:var(--muted);font-size:14.5px;max-width:640px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light)}.card-sm{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;box-shadow:8px 8px 18px var(--shadow-dark),-8px -8px 18px var(--shadow-light)}.neu-inset{background:var(--surface-inset);border-radius:var(--radius-md);box-shadow:inset 7px 7px 14px var(--shadow-dark),inset -7px -7px 14px var(--shadow-light);border:1px solid rgba(255,255,255,.4)}.card h2,.card h3{letter-spacing:-.02em}.muted{color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.topbar{position:sticky;top:0;z-index:50;background:#eef1f4e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;color:var(--text);letter-spacing:-.02em}.brand:hover{text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,var(--accent-soft),var(--accent-strong));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;box-shadow:4px 4px 10px #4f6ef766,inset 1px 1px 1px #ffffff59;flex-shrink:0}.brand small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.nav-toggle{display:none;width:44px;height:44px;border-radius:14px;background:var(--surface);box-shadow:5px 5px 12px var(--shadow-dark),-5px -5px 12px var(--shadow-light);border:1px solid var(--border);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.nav-toggle span{display:block;width:20px;height:2.5px;border-radius:2px;background:var(--text-secondary);transition:transform .25s var(--ease),opacity .2s}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.primary-nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.nav-link{padding:9px 14px;border-radius:var(--radius-full);font-size:13.5px;font-weight:600;color:var(--text-secondary);white-space:nowrap;transition:background .2s,box-shadow .2s,color .2s}.nav-link:hover{background:var(--surface-elevated);box-shadow:4px 4px 10px var(--shadow-dark),-4px -4px 10px var(--shadow-light);text-decoration:none;color:var(--text)}.nav-link.active{background:var(--surface-inset);box-shadow:inset 4px 4px 9px var(--shadow-dark),inset -4px -4px 9px var(--shadow-light);color:var(--accent-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-full);font-size:14px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:wait}.btn-primary{background:linear-gradient(180deg,var(--accent-soft),var(--accent) 60%,var(--accent-strong));color:#fff;box-shadow:6px 6px 14px #4f6ef752,-4px -4px 12px var(--shadow-light),inset 1px 1px 1px #ffffff59}.btn-primary:hover{transform:translateY(-2px);box-shadow:8px 10px 20px #4f6ef761,-6px -6px 14px var(--shadow-light)}.btn-secondary{background:var(--surface);color:var(--text-secondary);box-shadow:5px 5px 12px var(--shadow-dark),-5px -5px 12px var(--shadow-light);border-color:var(--border)}.btn-secondary:hover{transform:translateY(-1px)}.btn-sm{padding:8px 15px;font-size:12.5px}.input,select.input,textarea.input{width:100%;padding:12px 15px;border-radius:13px;border:1px solid transparent;background:var(--surface-inset);font:inherit;font-size:14px;color:var(--text);box-shadow:inset 4px 4px 9px var(--shadow-dark),inset -4px -4px 9px var(--shadow-light)}.input:focus{outline:none;border-color:var(--accent-border);box-shadow:inset 4px 4px 9px var(--shadow-dark),inset -4px -4px 9px var(--shadow-light),0 0 0 3px var(--accent-glow)}label{font-size:13px;font-weight:600;display:grid;gap:6px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);font-size:11.5px;font-weight:800;background:var(--accent-glow);color:var(--accent-strong);border:1px solid var(--accent-border);white-space:nowrap}.badge.green{background:var(--green-bg);color:var(--green);border-color:transparent}.badge.amber{background:var(--amber-bg);color:var(--amber);border-color:transparent}.badge.red{background:var(--red-bg);color:var(--red);border-color:transparent}.badge.grey{background:var(--surface-inset);color:var(--muted);border-color:transparent}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stat{position:relative;overflow:hidden;padding:18px;transition:transform .22s var(--ease)}.stat:hover{transform:translateY(-3px)}.stat:hover a{text-decoration:none}.stat-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.stat-icon{width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--surface-inset);box-shadow:inset 4px 4px 9px var(--shadow-dark),inset -4px -4px 9px var(--shadow-light)}.stat-label{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:12px}.stat-value{font-size:clamp(1.5rem,1vw + 1.2rem,1.9rem);font-weight:800;letter-spacing:-.03em;margin:2px 0 8px;line-height:1.1}.stat-link{font-size:12.5px;font-weight:700}.stat-accent{position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:4px}.bar-row{display:grid;gap:6px;padding:4px 0}.bar-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;gap:10px}.bar-meta strong{text-transform:capitalize;font-weight:700}.bar-meta span{color:var(--muted);font-variant-numeric:tabular-nums}.bar-track{height:10px;border-radius:999px;background:var(--surface-inset);box-shadow:inset 4px 4px 9px var(--shadow-dark),inset -4px -4px 9px var(--shadow-light);overflow:hidden;padding:0}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent-soft),var(--accent-strong));box-shadow:2px 0 6px #4f6ef766;transition:width .8s var(--ease)}.bar-fill.green{background:linear-gradient(90deg,#3CC483,var(--green))}.bar-fill.amber{background:linear-gradient(90deg,#E5B93E,var(--amber))}.bar-fill.red{background:linear-gradient(90deg,#F08686,var(--red))}.queue-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;padding:12px 4px;border-bottom:1px solid var(--line);flex-wrap:wrap}.queue-row:last-child{border-bottom:0}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;min-width:640px}.tbl th{text-align:left;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:10px 12px;background:var(--surface-inset);white-space:nowrap}.tbl th:first-child{border-radius:12px 0 0 12px}.tbl th:last-child{border-radius:0 12px 12px 0}.tbl td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:#fff6}.auth-wrap{max-width:440px;margin:48px auto}.auth-logo{display:flex;justify-content:center;margin-bottom:18px}.empty{padding:36px 20px;text-align:center;color:var(--muted)}.footer{text-align:center;color:var(--muted);font-size:12px;padding:36px 0 28px}.skeleton{border-radius:12px;background:linear-gradient(90deg,var(--surface-inset) 25%,var(--surface-elevated) 50%,var(--surface-inset) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite linear;min-height:18px}@keyframes shimmer{to{background-position:-200% 0}}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 16px}.search-box{position:relative;flex:1;min-width:200px;max-width:340px}.search-box .input{padding-left:38px;border-radius:var(--radius-full)}.search-box .search-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--muted);pointer-events:none}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.chip{padding:8px 16px;border-radius:var(--radius-full);font-size:12.5px;font-weight:700;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);box-shadow:4px 4px 10px var(--shadow-dark),-4px -4px 10px var(--shadow-light);cursor:pointer;transition:box-shadow .2s var(--ease),color .2s;white-space:nowrap}.chip:hover{color:var(--text)}.chip.active{background:var(--surface-inset);box-shadow:inset 4px 4px 9px var(--shadow-dark),inset -4px -4px 9px var(--shadow-light);color:var(--accent-strong)}.seg{display:inline-flex;padding:4px;border-radius:var(--radius-full);background:var(--surface-inset);box-shadow:inset 3px 3px 8px var(--shadow-dark),inset -3px -3px 8px var(--shadow-light);gap:4px}.seg button{padding:8px 18px;border-radius:var(--radius-full);border:0;background:none;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .2s var(--ease)}.seg button.active{background:var(--surface);color:var(--accent-strong);box-shadow:3px 3px 8px var(--shadow-dark),-3px -3px 8px var(--shadow-light)}.btn-ghost{background:none;border:0;box-shadow:none;color:var(--accent-strong);padding:8px 12px;font-size:13px;font-weight:700}.btn-ghost:hover{background:var(--accent-glow);transform:none}.btn-danger{background:linear-gradient(180deg,#F08686,var(--red) 60%,#B93030);color:#fff;box-shadow:6px 6px 14px #d43d3d4d,-4px -4px 12px var(--shadow-light)}.btn-danger:hover{transform:translateY(-2px)}.btn-icon{width:42px;height:42px;padding:0;border-radius:14px;font-size:17px;flex-shrink:0}.btn-xs{padding:6px 12px;font-size:13px}.btn-xs.danger{color:var(--red)}.input-sm{width:auto;padding:6px 10px;font-size:13px}.alert{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-md);font-size:13.5px;font-weight:600;margin:0 0 16px}.alert.err{background:var(--red-bg);color:var(--red);border:1px solid rgba(212,61,61,.25)}.alert.ok{background:var(--green-bg);color:var(--green);border:1px solid rgba(26,158,92,.25)}.alert.info{background:var(--amber-bg);color:var(--amber);border:1px solid rgba(183,121,0,.25)}.avatar{width:38px;height:38px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--accent-soft),var(--accent-strong));box-shadow:3px 3px 8px #4f6ef759;flex-shrink:0}.avatar.sm{width:30px;height:30px;font-size:11px;border-radius:10px}.avatar.green{background:linear-gradient(145deg,#3CC483,var(--green));box-shadow:3px 3px 8px #1a9e5c59}.avatar.amber{background:linear-gradient(145deg,#E5B93E,var(--amber));box-shadow:3px 3px 8px #b7790059}.avatar.red{background:linear-gradient(145deg,#F08686,var(--red));box-shadow:3px 3px 8px #d43d3d59}.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13.5px;align-items:baseline}.kv dt{color:var(--muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}.list-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:6px 6px 14px var(--shadow-dark),-6px -6px 14px var(--shadow-light);transition:transform .2s var(--ease)}.list-row:hover{transform:translateY(-2px)}.list-row+.list-row{margin-top:12px}.list-main{flex:1;min-width:0}.list-title{font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list-sub{color:var(--muted);font-size:12.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-side{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.tbl td.actions{text-align:right;white-space:nowrap}.tbl td.num{font-variant-numeric:tabular-nums}.tbl .mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.form-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}.card-head h3{margin:0;font-size:15.5px}.card-head .muted{font-size:12.5px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--shadow-dark);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.list-side{width:100%;justify-content:flex-start}}@media (max-width:1024px){.grid-4,.grid-3{grid-template-columns:1fr 1fr}.container{padding:0 20px}}.tabbar,.sheet-backdrop,.more-sheet{display:none}@media (max-width:1100px){.nav-toggle{display:flex}.primary-nav{display:none;position:absolute;top:calc(100% + 8px);left:16px;right:16px;flex-direction:column;align-items:stretch;padding:14px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light);gap:4px;z-index:55}.primary-nav.open{display:flex}.primary-nav .nav-link,.primary-nav .btn{width:100%;text-align:left}.topbar-inner{position:relative}}@media (max-width:860px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.topbar-inner{flex-wrap:nowrap;padding-top:10px;padding-bottom:10px}.brand{font-size:15px}.brand-mark{width:32px;height:32px;font-size:12px}.grid-2,.grid-3{grid-template-columns:1fr}.page-head{margin-bottom:14px}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#eef1f4f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));gap:2px}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;min-height:56px;border-radius:14px;font-size:10.5px;font-weight:700;color:var(--muted);border:0;background:none;cursor:pointer}.tab:hover{text-decoration:none;color:var(--text)}.tab-icon{font-size:19px;line-height:1}.tab.active{color:var(--accent-strong);background:var(--surface-inset);box-shadow:inset 3px 3px 7px var(--shadow-dark),inset -3px -3px 7px var(--shadow-light)}.sheet-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#15191f66}.more-sheet.open{display:block;position:fixed;left:0;right:0;bottom:0;z-index:71;max-height:78vh;overflow-y:auto;background:var(--surface);border-radius:24px 24px 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px #15191f40}.sheet-grab{width:44px;height:5px;border-radius:3px;background:var(--shadow-dark);margin:2px auto 12px}.sheet-title{margin:0 0 8px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sheet-link{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;background:var(--surface);box-shadow:5px 5px 12px var(--shadow-dark),-5px -5px 12px var(--shadow-light);border:1px solid var(--border);font-size:13.5px;font-weight:700;color:var(--text)}.sheet-link:hover{text-decoration:none}.sheet-link.active{background:var(--surface-inset);box-shadow:inset 4px 4px 9px var(--shadow-dark),inset -4px -4px 9px var(--shadow-light);color:var(--accent-strong)}.sheet-link .tab-icon{font-size:17px}.sheet-logout{grid-column:1/-1;justify-content:center;color:var(--red)}}@media (max-width:560px){.grid-4{grid-template-columns:1fr 1fr;gap:12px}.card{padding:18px;border-radius:20px}.card-sm.stat{padding:13px 12px;border-radius:16px}.stat-icon{width:32px;height:32px;font-size:15px;border-radius:11px}.stat-label{font-size:9.5px;margin-top:9px}.stat-value{font-size:1.25rem;margin:1px 0 5px}.stat-link{display:none}.stat-accent{top:10px;bottom:10px;width:3px}.page{padding:16px 0 4px}.container{padding:0 14px}.page-title{font-size:1.35rem}.page-sub{font-size:13px}.btn{padding:12px 18px}.queue-row{font-size:13px}.sheet-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
