.topbar-hamburger,.sidebar-mobile-backdrop{display:none}:root{--pastel-blue: #CDEBF1;--pastel-green: #DEF1D0;--pastel-violet: #CBCEEA;--pastel-pink: #F8E5E5;--grey-50: #FAFAF9;--grey-100: #F8F6F5;--grey-200: #EFEDEA;--grey-300: #E4E1DC;--grey-400: #C8C5BF;--grey-500: #9B9893;--grey-600: #6F6D69;--grey-700: #5D5D5A;--grey-800: #3B3B39;--grey-900: #1C1C1B;--bg: #FFFFFF;--bg-subtle: #F8F6F5;--bg-sunken: #F4F1EE;--bg-hover: #F4F1EE;--surface: #FFFFFF;--surface-elev: #FFFFFF;--border: #EBE8E4;--border-strong: #DFDBD5;--text: #1C1C1B;--text-secondary: #5D5D5A;--text-muted: #8A8884;--text-disabled: #B5B2AC;--accent-tint: #CBCEEA;--accent-tint-2: #E2E3F2;--accent: #5B5FCB;--accent-hover: #4A4DB8;--accent-fg: #FFFFFF;--accent-soft-fg: #383A91;--status-success-bg: #DEF1D0;--status-success-fg: #355C24;--status-info-bg: #CDEBF1;--status-info-fg: #1F5A66;--status-warn-bg: #F6E9CC;--status-warn-fg: #6B4A0F;--status-danger-bg: #F8E5E5;--status-danger-fg: #7A2424;--status-neutral-bg: #EFEDEA;--status-neutral-fg: #3B3B39;--row-h: 32px;--row-px: 12px;--sidebar-w: 220px;--topbar-h: 44px;--radius: 6px;--radius-sm: 4px;--radius-lg: 10px;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--shadow-sm: 0 1px 2px rgba(28,28,27,.04);--shadow-md: 0 4px 12px rgba(28,28,27,.06), 0 1px 2px rgba(28,28,27,.04);--shadow-lg: 0 16px 48px rgba(28,28,27,.12), 0 4px 8px rgba(28,28,27,.04);--shadow-pop: 0 24px 64px rgba(28,28,27,.18)}[data-theme=dark]{--bg: #0E0E0D;--bg-subtle: #161614;--bg-sunken: #0A0A09;--bg-hover: #1E1E1C;--surface: #161614;--surface-elev: #1C1C1A;--border: #262522;--border-strong: #34332F;--text: #F5F4F1;--text-secondary: #B3B0AA;--text-muted: #7C7975;--text-disabled: #4E4C48;--accent-tint: #2A2C5A;--accent-tint-2: #1F2049;--accent: #8B8FE8;--accent-hover: #A4A8F0;--accent-fg: #0E0E0D;--accent-soft-fg: #C7CAF2;--status-success-bg: #1F2E15;--status-success-fg: #B9D89D;--status-info-bg: #122830;--status-info-fg: #8CC8D6;--status-warn-bg: #2E2410;--status-warn-fg: #E0BE7A;--status-danger-bg: #2E1414;--status-danger-fg: #E8A0A0;--status-neutral-bg: #222220;--status-neutral-fg: #C8C5BF;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-lg: 0 16px 48px rgba(0,0,0,.5);--shadow-pop: 0 24px 64px rgba(0,0,0,.6)}[data-density=compact]{--row-h: 28px;--row-px: 10px}[data-density=cozy]{--row-h: 32px;--row-px: 12px}[data-density=comfortable]{--row-h: 40px;--row-px: 14px}[data-radius=sharp]{--radius: 2px;--radius-sm: 1px;--radius-lg: 4px}[data-radius=standard]{--radius: 6px;--radius-sm: 4px;--radius-lg: 10px}[data-radius=pill]{--radius: 10px;--radius-sm: 6px;--radius-lg: 16px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:13px;line-height:1.4;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11";letter-spacing:-.005em}button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer;padding:0;white-space:nowrap}input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;height:100dvh;overflow:hidden;background:var(--bg-subtle)}.app[data-sidebar=hidden]{grid-template-columns:0 1fr}.app[data-sidebar=hidden] .sidebar{display:none}.app[data-sidebar=icons]{grid-template-columns:52px 1fr}.app[data-sidebar=icons] .nav-label,.app[data-sidebar=icons] .nav-section-label,.app[data-sidebar=icons] .sidebar-footer-text,.app[data-sidebar=icons] .ws-meta{display:none}.app[data-sidebar=icons] .nav-item{justify-content:center}.app[data-sidebar=icons] .ws-switcher{padding:8px}.app[data-sidebar=icons] .ws-switcher .ws-name{display:none}.main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden}.sidebar{background:var(--bg-subtle);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;height:100vh;height:100dvh;position:sticky;top:0;overflow:hidden}.ws-switcher{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;height:48px}.ws-switcher:hover{background:var(--bg-hover)}.ws-logo{width:26px;height:26px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);display:grid;place-items:center;color:var(--accent-fg);font-weight:700;font-size:12px;letter-spacing:-.02em;flex:none}.ws-name{font-size:13px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-meta{color:var(--text-muted);font-size:11px}.nav{flex:1;overflow-y:auto;padding:8px}.nav-section{margin-top:12px}.nav-section:first-child{margin-top:4px}.nav-section-label{font-size:10.5px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 8px 4px}.nav-item{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item[data-active=true]{background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm)}.nav-item .icon{width:14px;height:14px;flex:none;color:currentColor}.nav-item .nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item .nav-count{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);font-weight:500}.nav-item[data-active=true] .nav-count{color:var(--accent-soft-fg)}.nav-item .kbd{color:var(--text-muted);font-size:10.5px}.sidebar-footer{padding:8px;border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.user-chip:hover{background:var(--bg-hover)}.avatar{width:22px;height:22px;border-radius:50%;background:var(--pastel-violet);color:var(--accent-soft-fg);display:grid;place-items:center;font-size:10.5px;font-weight:600;flex:none;overflow:hidden}.avatar.lg{width:40px;height:40px;font-size:14px}.avatar.xl{width:64px;height:64px;font-size:22px}.avatar img{width:100%;height:100%;object-fit:cover}.avatar[data-tone=green]{background:var(--pastel-green);color:var(--status-success-fg)}.avatar[data-tone=blue]{background:var(--pastel-blue);color:var(--status-info-fg)}.avatar[data-tone=pink]{background:var(--pastel-pink);color:var(--status-danger-fg)}.avatar[data-tone=neutral]{background:var(--bg-sunken);color:var(--text-secondary)}.sidebar-footer-text{flex:1;min-width:0}.sidebar-footer-text .n{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer-text .e{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{display:flex;align-items:center;height:var(--topbar-h);padding:0 16px;border-bottom:1px solid var(--border);gap:12px;background:var(--bg);flex:none}.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-secondary);min-width:0}.crumbs .sep{color:var(--text-muted)}.crumbs .current{color:var(--text)}.crumbs .crumb{cursor:pointer}.crumbs .crumb:hover{color:var(--text)}.topbar .spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:6px}.cmdk-btn{display:flex;align-items:center;gap:8px;height:28px;padding:0 10px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:12px;min-width:220px;white-space:nowrap;flex:none}.cmdk-btn>span{white-space:nowrap}.cmdk-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.cmdk-btn .kbd{margin-left:auto}.kbd{font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border-radius:3px;background:var(--bg-sunken);color:var(--text-secondary);border:1px solid var(--border)}.icon-btn{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--text-secondary)}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.page{flex:1;overflow-y:auto;background:var(--bg)}.page-inner{padding:16px 20px 60px;max-width:1600px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;gap:16px}.page-title{display:flex;align-items:center;gap:10px;margin:0 0 2px;font-size:18px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;flex-wrap:wrap}.page-title>span{white-space:nowrap}.page-title .count{font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:var(--text-muted);background:var(--bg-subtle);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border)}.page-sub{color:var(--text-muted);font-size:12.5px}.btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;border:1px solid var(--border);background:var(--bg);color:var(--text);white-space:nowrap}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn .icon{width:13px;height:13px}.btn.sm{height:24px;padding:0 8px;font-size:11.5px}.btn.lg{height:32px;padding:0 12px;font-size:13px}.btn.icon-only{width:28px;padding:0;justify-content:center}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--bg-hover);border-color:transparent}.btn.danger{color:var(--status-danger-fg)}.btn.danger:hover{background:var(--status-danger-bg);border-color:var(--status-danger-bg)}.btn.success{color:var(--status-success-fg)}.btn.success:hover{background:var(--status-success-bg);border-color:var(--status-success-bg)}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;height:18px;border-radius:9px;font-size:11px;font-weight:500;background:var(--status-neutral-bg);color:var(--status-neutral-fg);white-space:nowrap}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge[data-tone=success]{background:var(--status-success-bg);color:var(--status-success-fg)}.badge[data-tone=info]{background:var(--status-info-bg);color:var(--status-info-fg)}.badge[data-tone=warn]{background:var(--status-warn-bg);color:var(--status-warn-fg)}.badge[data-tone=danger]{background:var(--status-danger-bg);color:var(--status-danger-fg)}.badge[data-tone=accent]{background:var(--accent-tint-2);color:var(--accent-soft-fg)}.badge[data-tone=violet]{background:var(--pastel-violet);color:var(--accent-soft-fg)}.badge.square{border-radius:4px}.input,.select,textarea.input{width:100%;height:28px;padding:0 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12.5px;color:var(--text);outline:none}textarea.input{height:auto;padding:8px 10px}.input:focus,.select:focus,textarea.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint-2)}.input::placeholder{color:var(--text-muted)}.input-wrap{position:relative;display:inline-flex;align-items:center;flex:1;min-width:0}.input-wrap .icon-left{position:absolute;left:8px;color:var(--text-muted);pointer-events:none}.input-wrap .input{padding-left:28px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11.5px;color:var(--text-secondary);font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.card-title{font-size:13px;font-weight:600}.card-body{padding:14px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.stat .label{font-size:11.5px;color:var(--text-secondary);font-weight:500;display:flex;align-items:center;gap:6px}.stat .value{font-family:var(--font-mono);font-size:24px;font-weight:500;letter-spacing:-.02em}.stat .delta{font-family:var(--font-mono);font-size:11px;display:flex;align-items:center;gap:4px}.stat .delta[data-tone=up]{color:var(--status-success-fg)}.stat .delta[data-tone=down]{color:var(--status-danger-fg)}.stat .spark{height:28px;margin-top:4px}.stat.tint-violet{background:var(--pastel-violet);border-color:transparent}.stat.tint-violet .label,.stat.tint-violet .value,.stat.tint-violet .delta{color:var(--accent-soft-fg)}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:8px;flex-wrap:wrap}.toolbar .input-wrap{min-width:240px;max-width:320px}.toolbar-spacer{flex:1}.tabs{display:flex;gap:2px;padding:2px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.tab{height:22px;padding:0 8px;border-radius:3px;font-size:11.5px;color:var(--text-secondary);font-weight:500;display:inline-flex;align-items:center;gap:5px}.tab[data-active=true]{background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm)}.tab .ct{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted)}.filter-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-size:11.5px;color:var(--text-secondary)}.filter-chip[data-active=true]{border-style:solid;background:var(--accent-tint-2);color:var(--accent-soft-fg);border-color:var(--accent-tint)}.filter-chip .val{color:var(--text);font-weight:500}.filter-chip[data-active=true] .val{color:var(--accent-soft-fg)}.filter-chip .x{color:var(--text-muted)}.dt{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dt table{width:100%;border-collapse:collapse}.dt th,.dt td{height:var(--row-h);padding:0 var(--row-px);text-align:left;font-size:12.5px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.dt th{position:sticky;top:0;background:var(--bg-subtle);color:var(--text-muted);font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;z-index:1;-webkit-user-select:none;user-select:none}.dt th .col{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.dt th .col:hover{color:var(--text)}.dt th.num,.dt td.num{text-align:right;font-family:var(--font-mono)}.dt tbody tr{cursor:pointer}.dt tbody tr:hover{background:var(--bg-subtle)}.dt tbody tr[data-selected=true]{background:var(--accent-tint-2)}.dt tbody tr[data-selected=true]:hover{background:var(--accent-tint)}.dt tbody tr:last-child td{border-bottom:0}.dt td.fade{color:var(--text-muted)}.dt td .cell-mono{font-family:var(--font-mono);font-size:11.5px;color:var(--text-secondary)}.dt td .cell-id{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.dt td.actions{text-align:right;padding-right:6px}.dt td .row-actions{display:inline-flex;gap:2px;opacity:0}.dt tbody tr:hover .row-actions,.dt tbody tr[data-selected=true] .row-actions{opacity:1}.cb{width:14px;height:14px;border:1.5px solid var(--border-strong);border-radius:3px;display:inline-grid;place-items:center;background:var(--bg);cursor:pointer;vertical-align:middle}.cb[data-checked=true],.cb[data-indeterminate=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.user-cell{display:inline-flex;align-items:center;gap:8px;min-width:0}.user-cell .info{min-width:0}.user-cell .name{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis}.user-cell .sub{color:var(--text-muted);font-size:11px}.empty{padding:48px 16px;text-align:center;color:var(--text-muted)}.empty .e-title{color:var(--text);font-weight:500;margin-bottom:4px}.pager{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-muted);background:var(--bg-subtle)}.pager .nums{display:flex;gap:2px}.pager .pg{height:22px;min-width:22px;padding:0 6px;border-radius:3px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.pager .pg:hover{background:var(--bg-hover);color:var(--text)}.pager .pg[data-active=true]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.bulk-bar{position:sticky;bottom:12px;margin:8px auto 0;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:4px 4px 4px 14px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);z-index:5;width:fit-content;font-size:12.5px}.bulk-bar .n{font-weight:600}.bulk-bar .div{width:1px;height:16px;background:var(--border)}.slide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1b33;z-index:50;animation:fadeIn .12s ease}.slide-over{position:fixed;top:0;right:0;bottom:0;width:540px;max-width:calc(100vw - 80px);background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow-pop);z-index:51;display:flex;flex-direction:column;animation:slideIn .2s cubic-bezier(.16,1,.3,1)}.slide-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);min-height:48px}.slide-head .crumbs{font-size:12px}.slide-body{flex:1;overflow-y:auto;padding:16px 20px}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1b52;z-index:100;display:grid;place-items:start center;padding-top:12vh;animation:fadeIn .12s ease}.cmdk{width:640px;max-width:calc(100vw - 24px);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden;animation:popIn .18s cubic-bezier(.16,1,.3,1)}.cmdk-input{width:100%;height:44px;padding:0 14px;border:0;outline:0;font-size:14px;border-bottom:1px solid var(--border);background:transparent}.cmdk-list{max-height:56vh;overflow-y:auto;padding:4px}.cmdk-group-label{font-size:10.5px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px 4px}.cmdk-item{display:flex;align-items:center;gap:10px;padding:6px 10px;height:32px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.cmdk-item[data-active=true],.cmdk-item:hover{background:var(--bg-subtle)}.cmdk-item .icon{color:var(--text-secondary)}.cmdk-item .sub{color:var(--text-muted);font-size:11.5px;margin-left:auto}.cmdk-foot{padding:6px 10px;border-top:1px solid var(--border);display:flex;gap:14px;font-size:11px;color:var(--text-muted)}.cmdk-foot .k{display:inline-flex;align-items:center;gap:4px}.feed{display:flex;flex-direction:column;gap:0}.feed-item{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:8px 0;position:relative}.feed-item:before{content:"";position:absolute;left:10px;top:28px;bottom:-4px;width:1px;background:var(--border)}.feed-item:last-child:before{display:none}.feed-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-secondary);z-index:1}.feed-dot[data-tone=success]{background:var(--status-success-bg);color:var(--status-success-fg);border-color:transparent}.feed-dot[data-tone=info]{background:var(--status-info-bg);color:var(--status-info-fg);border-color:transparent}.feed-dot[data-tone=warn]{background:var(--status-warn-bg);color:var(--status-warn-fg);border-color:transparent}.feed-dot[data-tone=danger]{background:var(--status-danger-bg);color:var(--status-danger-fg);border-color:transparent}.feed-body .t{font-size:12.5px;color:var(--text)}.feed-body .t b{font-weight:600}.feed-body .meta{font-size:11px;color:var(--text-muted);margin-top:2px}.dl{display:grid;grid-template-columns:130px 1fr;gap:6px 16px;font-size:12.5px}.dl dd{min-width:0;overflow-wrap:anywhere}.dl dt{color:var(--text-muted)}.dl dd{margin:0;color:var(--text)}.section{margin-top:20px}.section-title{font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.section-title .actions{display:flex;gap:6px}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}.tag{display:inline-flex;align-items:center;height:18px;padding:0 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-subtle);font-size:10.5px;color:var(--text-secondary);font-family:var(--font-mono)}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-5{grid-template-columns:repeat(5,1fr)}.grid.cols-6{grid-template-columns:repeat(6,1fr)}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.gap-2{gap:2px}.gap-16{gap:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes popIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.divider{height:1px;background:var(--border);margin:12px 0}.vdivider{width:1px;background:var(--border);align-self:stretch}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(800px 400px at 20% 10%,var(--pastel-violet) 0%,transparent 60%),radial-gradient(700px 380px at 85% 90%,var(--pastel-blue) 0%,transparent 55%),var(--bg)}.login-card{width:380px;max-width:calc(100vw - 24px);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-lg)}.bars{display:flex;align-items:flex-end;gap:3px;height:60px}.bars .bar{flex:1;background:var(--accent-tint);border-radius:2px 2px 0 0;min-width:4px}.bars .bar.alt{background:var(--accent)}.hr{height:1px;background:var(--border)}.img-ph{background:repeating-linear-gradient(45deg,var(--bg-sunken) 0 6px,var(--bg-subtle) 6px 12px);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-muted);font-family:var(--font-mono);font-size:10.5px}.tip{position:relative}.tip[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--grey-900);color:#fff;padding:3px 6px;border-radius:4px;font-size:11px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:20}[data-theme=dark] .tip[data-tip]:after{background:var(--grey-100);color:var(--grey-900)}.tip:hover[data-tip]:after{opacity:1}.spinner{width:28px;height:28px;border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner.sm{width:16px;height:16px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:20px;right:20px;z-index:80;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:12.5px;font-weight:500;border:1px solid var(--border);background:var(--bg);animation:toast-in .18s ease-out}.toast[data-type=success]{background:var(--status-success-bg);color:var(--status-success-fg);border-color:transparent}.toast[data-type=error]{background:var(--status-danger-bg);color:var(--status-danger-fg);border-color:transparent}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#00000052;display:grid;place-items:center;padding:20px;animation:fade-in .12s ease-out}.modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:100%;animation:modal-in .16s ease-out}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-body{padding:16px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#000000e6;display:grid;place-items:center}.lightbox img{max-height:85vh;max-width:90vw;object-fit:contain}.lightbox .lb-btn{position:absolute;color:#fff;background:#ffffff1f;border:none;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;cursor:pointer}.lightbox .lb-btn:hover{background:#ffffff3d}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:12px;font-weight:500;color:var(--text-secondary)}.textarea{width:100%;padding:8px 10px;resize:vertical;font:inherit;font-size:13px;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.textarea:focus,.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint-2)}.select{width:100%;padding:7px 10px;font:inherit;font-size:13px;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.switch{position:relative;width:38px;height:22px;border-radius:999px;border:none;cursor:pointer;background:var(--border-strong);transition:background .16s}.switch[data-on=true]{background:var(--accent)}.switch[data-on=true][data-danger=true]{background:var(--status-danger-fg)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .16s;box-shadow:var(--shadow-sm)}.switch[data-on=true]:after{transform:translate(16px)}.detail-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;align-items:start}.kv{display:grid;grid-template-columns:140px 1fr;row-gap:10px;column-gap:12px;font-size:13px}.kv .k{color:var(--text-secondary);font-size:12px}.thumb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.thumb-grid img{width:100%;height:120px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer}.impersonate-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:var(--radius);background:var(--status-warn-bg);color:var(--status-warn-fg);border-left:3px solid var(--status-warn-fg)}.chat{display:flex;flex-direction:column;height:600px}.chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.chat-bubble{max-width:70%;padding:8px 12px;border-radius:12px;font-size:13px}.chat-bubble.own{align-self:flex-end;background:var(--accent);color:var(--accent-fg)}.chat-bubble.other{align-self:flex-start;background:var(--bg-subtle);color:var(--text)}.chat-bubble .time{font-size:10.5px;opacity:.7;margin-top:3px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--bg-subtle);padding:20px}.login-card{width:100%;max-width:380px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:28px}.login-logo{width:48px;height:48px;border-radius:12px;background:var(--accent-tint);color:var(--accent);display:grid;place-items:center;margin:0 auto 14px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.alert-box{padding:10px 12px;border-radius:var(--radius-sm);font-size:12.5px}.alert-box[data-tone=danger]{background:var(--status-danger-bg);color:var(--status-danger-fg)}.alert-box[data-tone=success]{background:var(--status-success-bg);color:var(--status-success-fg)}.alert-box[data-tone=info]{background:var(--status-info-bg);color:var(--status-info-fg)}.dash-charts-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;margin-top:12px}.dash-queues-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.dash-category-grid{display:grid;grid-template-columns:130px 1fr 40px;row-gap:6px;column-gap:12px;font-size:11.5px}.dash-table-scroll{overflow-x:auto}.grid>*,.dash-charts-grid>*,.dash-queues-grid>*{min-width:0}@media (max-width: 768px){.app,.app[data-sidebar=labels],.app[data-sidebar=icons],.app[data-sidebar=hidden]{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;width:var(--sidebar-w);transform:translate(-100%);transition:transform .26s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-lg)}.sidebar.mobile-open{transform:translate(0)}.sidebar-mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1b4d;z-index:59;animation:fadeIn .16s ease}.topbar-hamburger{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0}.topbar-hamburger:hover{background:var(--bg-hover);color:var(--text)}.topbar{padding:0 10px;gap:8px}.cmdk-btn{display:none}.page-inner{padding:12px 14px 60px}.page-header{flex-wrap:wrap;gap:10px}.page-title{font-size:16px}.grid.cols-6,.grid.cols-5{grid-template-columns:repeat(3,1fr)}.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.kv{grid-template-columns:100px 1fr}.thumb-grid{grid-template-columns:repeat(2,1fr)}.toolbar .input-wrap{min-width:140px}.dt{overflow-x:auto}.bulk-bar{width:calc(100% - 28px);border-radius:var(--radius);flex-wrap:wrap;gap:8px}.impersonate-banner{flex-direction:column;align-items:flex-start;gap:8px}.chat{height:420px}.slide-over{width:calc(100vw - 24px)}.pager{flex-direction:column;align-items:flex-start;gap:6px}.toast{left:12px;right:12px;bottom:12px}.dash-charts-grid,.dash-queues-grid{grid-template-columns:1fr}.dash-category-grid{grid-template-columns:100px 1fr 34px}.page{overflow-x:hidden}.card{min-width:0;overflow:hidden}.feed-body .t{overflow-wrap:break-word;word-break:break-word}.feed-body .t b{word-break:break-all}.dash-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-table-scroll table{table-layout:fixed;width:100%}.dash-table-scroll td:first-child{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-cell{min-width:0;max-width:100%}.user-cell .name,.user-cell .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat{min-width:0;overflow:hidden}.stat .value{font-size:20px}.page-header>div:last-child{flex-wrap:wrap}}@media (max-width: 480px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.grid.cols-4,.grid.cols-6{grid-template-columns:repeat(2,1fr)}.kv{grid-template-columns:85px 1fr;font-size:12px}.thumb-grid{grid-template-columns:repeat(2,1fr)}.page-inner{padding:10px 12px 60px}.page-title{font-size:15px}.stat .value{font-size:18px}.dash-category-grid{grid-template-columns:80px 1fr 28px;font-size:11px}}
