@font-face{font-family:primeicons;font-display:block;src:url(./primeicons.C1oiW3xv.eot);src:url(./primeicons.C1oiW3xv.eot?#iefix)format("embedded-opentype"),url(./primeicons.Cw7jw2u3.woff2)format("woff2"),url(./primeicons.DFbS0HxT.woff)format("woff"),url(./primeicons.MNyB0pWW.ttf)format("truetype"),url(./primeicons.DI7WxhAS.svg?#primeicons)format("svg");font-weight:400;font-style:normal}.pi{speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:primeicons;font-style:normal;font-weight:400;line-height:1;display:inline-block}.pi:before{--webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{text-align:center;width:1.28571em}.pi-spin{animation:2s linear infinite fa-spin}@media (prefers-reduced-motion:reduce){.pi-spin{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-iteration-count:1;animation-delay:-1ms}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.pi-eye-dropper:before{content:""}.pi-code-branch:before{content:""}.pi-signature:before{content:""}.pi-stamp:before{content:""}.pi-rectangle-xmark:before{content:""}.pi-note-sticky:before{content:""}.pi-sidebar:before{content:""}.pi-slash:before{content:""}.pi-grid-2:before{content:""}.pi-columns-2:before{content:""}.pi-rows-2:before{content:""}.pi-square:before{content:""}.pi-compress:before{content:""}.pi-pen-line:before{content:""}.pi-case-sensitive:before{content:""}.pi-text-color:before{content:""}.pi-list-tree:before{content:""}.pi-highlighter:before{content:""}.pi-text:before{content:""}.pi-heading-6:before{content:""}.pi-heading-5:before{content:""}.pi-heading-4:before{content:""}.pi-heading-3:before{content:""}.pi-heading-2:before{content:""}.pi-heading-1:before{content:""}.pi-heading:before{content:""}.pi-grip:before{content:""}.pi-grip-horizontal:before{content:""}.pi-grip-vertical:before{content:""}.pi-paragraph-right:before{content:""}.pi-paragraph-left:before{content:""}.pi-arrow-u-turn-up-left:before{content:""}.pi-arrow-u-turn-up-right:before{content:""}.pi-horizontal-rule:before{content:""}.pi-outdent:before{content:""}.pi-indent:before{content:""}.pi-list-ol:before{content:""}.pi-block-quote:before{content:""}.pi-superscript:before{content:""}.pi-subscript:before{content:""}.pi-strikethrough:before{content:""}.pi-underline:before{content:""}.pi-italic:before{content:""}.pi-bold:before{content:""}.pi-dot:before{content:""}.pi-folder-plus:before{content:""}.pi-receipt:before{content:""}.pi-asterisk:before{content:""}.pi-face-smile:before{content:""}.pi-pinterest:before{content:""}.pi-expand:before{content:""}.pi-pen-to-square:before{content:""}.pi-wave-pulse:before{content:""}.pi-turkish-lira:before{content:""}.pi-spinner-dotted:before{content:""}.pi-crown:before{content:""}.pi-pause-circle:before{content:""}.pi-warehouse:before{content:""}.pi-objects-column:before{content:""}.pi-clipboard:before{content:""}.pi-play-circle:before{content:""}.pi-venus:before{content:""}.pi-cart-minus:before{content:""}.pi-file-plus:before{content:""}.pi-microchip:before{content:""}.pi-twitch:before{content:""}.pi-building-columns:before{content:""}.pi-file-check:before{content:""}.pi-microchip-ai:before{content:""}.pi-trophy:before{content:""}.pi-barcode:before{content:""}.pi-file-arrow-up:before{content:""}.pi-mars:before{content:""}.pi-tiktok:before{content:""}.pi-arrow-up-right-and-arrow-down-left-from-center:before{content:""}.pi-ethereum:before{content:""}.pi-list-check:before{content:""}.pi-thumbtack:before{content:""}.pi-arrow-down-left-and-arrow-up-right-to-center:before{content:""}.pi-equals:before{content:""}.pi-lightbulb:before{content:""}.pi-star-half:before{content:""}.pi-address-book:before{content:""}.pi-chart-scatter:before{content:""}.pi-indian-rupee:before{content:""}.pi-star-half-fill:before{content:""}.pi-cart-arrow-down:before{content:""}.pi-calendar-clock:before{content:""}.pi-sort-up-fill:before{content:""}.pi-sparkles:before{content:""}.pi-bullseye:before{content:""}.pi-sort-down-fill:before{content:""}.pi-graduation-cap:before{content:""}.pi-hammer:before{content:""}.pi-bell-slash:before{content:""}.pi-gauge:before{content:""}.pi-shop:before{content:""}.pi-headphones:before{content:""}.pi-eraser:before{content:""}.pi-stopwatch:before{content:""}.pi-verified:before{content:""}.pi-delete-left:before{content:""}.pi-hourglass:before{content:""}.pi-truck:before{content:""}.pi-wrench:before{content:""}.pi-microphone:before{content:""}.pi-megaphone:before{content:""}.pi-arrow-right-arrow-left:before{content:""}.pi-bitcoin:before{content:""}.pi-file-edit:before{content:""}.pi-language:before{content:""}.pi-file-export:before{content:""}.pi-file-import:before{content:""}.pi-file-word:before{content:""}.pi-gift:before{content:""}.pi-cart-plus:before{content:""}.pi-thumbs-down-fill:before{content:""}.pi-thumbs-up-fill:before{content:""}.pi-arrows-alt:before{content:""}.pi-calculator:before{content:""}.pi-sort-alt-slash:before{content:""}.pi-arrows-h:before{content:""}.pi-arrows-v:before{content:""}.pi-pound:before{content:""}.pi-prime:before{content:""}.pi-chart-pie:before{content:""}.pi-reddit:before{content:""}.pi-code:before{content:""}.pi-sync:before{content:""}.pi-shopping-bag:before{content:""}.pi-server:before{content:""}.pi-database:before{content:""}.pi-hashtag:before{content:""}.pi-bookmark-fill:before{content:""}.pi-filter-fill:before{content:""}.pi-heart-fill:before{content:""}.pi-flag-fill:before{content:""}.pi-circle:before{content:""}.pi-circle-fill:before{content:""}.pi-bolt:before{content:""}.pi-history:before{content:""}.pi-box:before{content:""}.pi-at:before{content:""}.pi-arrow-up-right:before{content:""}.pi-arrow-up-left:before{content:""}.pi-arrow-down-left:before{content:""}.pi-arrow-down-right:before{content:""}.pi-telegram:before{content:""}.pi-stop-circle:before{content:""}.pi-stop:before{content:""}.pi-whatsapp:before{content:""}.pi-building:before{content:""}.pi-qrcode:before{content:""}.pi-car:before{content:""}.pi-instagram:before{content:""}.pi-linkedin:before{content:""}.pi-send:before{content:""}.pi-slack:before{content:""}.pi-moon:before{content:""}.pi-sun:before{content:""}.pi-youtube:before{content:""}.pi-vimeo:before{content:""}.pi-flag:before{content:""}.pi-wallet:before{content:""}.pi-map:before{content:""}.pi-link:before{content:""}.pi-credit-card:before{content:""}.pi-discord:before{content:""}.pi-percentage:before{content:""}.pi-euro:before{content:""}.pi-book:before{content:""}.pi-shield:before{content:""}.pi-paypal:before{content:""}.pi-amazon:before{content:""}.pi-phone:before{content:""}.pi-filter-slash:before{content:""}.pi-facebook:before{content:""}.pi-github:before{content:""}.pi-twitter:before{content:""}.pi-step-backward-alt:before{content:""}.pi-step-forward-alt:before{content:""}.pi-forward:before{content:""}.pi-backward:before{content:""}.pi-fast-backward:before{content:""}.pi-fast-forward:before{content:""}.pi-pause:before{content:""}.pi-play:before{content:""}.pi-compass:before{content:""}.pi-id-card:before{content:""}.pi-ticket:before{content:""}.pi-file-o:before{content:""}.pi-reply:before{content:""}.pi-directions-alt:before{content:""}.pi-directions:before{content:""}.pi-thumbs-up:before{content:""}.pi-thumbs-down:before{content:""}.pi-sort-numeric-down-alt:before{content:""}.pi-sort-numeric-up-alt:before{content:""}.pi-sort-alpha-down-alt:before{content:""}.pi-sort-alpha-up-alt:before{content:""}.pi-sort-numeric-down:before{content:""}.pi-sort-numeric-up:before{content:""}.pi-sort-alpha-down:before{content:""}.pi-sort-alpha-up:before{content:""}.pi-sort-alt:before{content:""}.pi-sort-amount-up:before{content:""}.pi-sort-amount-down:before{content:""}.pi-sort-amount-down-alt:before{content:""}.pi-sort-amount-up-alt:before{content:""}.pi-palette:before{content:""}.pi-undo:before{content:""}.pi-desktop:before{content:""}.pi-sliders-v:before{content:""}.pi-sliders-h:before{content:""}.pi-search-plus:before{content:""}.pi-search-minus:before{content:""}.pi-file-excel:before{content:""}.pi-file-pdf:before{content:""}.pi-check-square:before{content:""}.pi-chart-line:before{content:""}.pi-user-edit:before{content:""}.pi-exclamation-circle:before{content:""}.pi-android:before{content:""}.pi-google:before{content:""}.pi-apple:before{content:""}.pi-microsoft:before{content:""}.pi-heart:before{content:""}.pi-mobile:before{content:""}.pi-tablet:before{content:""}.pi-key:before{content:""}.pi-shopping-cart:before{content:""}.pi-comments:before{content:""}.pi-comment:before{content:""}.pi-briefcase:before{content:""}.pi-bell:before{content:""}.pi-paperclip:before{content:""}.pi-share-alt:before{content:""}.pi-envelope:before{content:""}.pi-volume-down:before{content:""}.pi-volume-up:before{content:""}.pi-volume-off:before{content:""}.pi-eject:before{content:""}.pi-money-bill:before{content:""}.pi-images:before{content:""}.pi-image:before{content:""}.pi-sign-in:before{content:""}.pi-sign-out:before{content:""}.pi-wifi:before{content:""}.pi-sitemap:before{content:""}.pi-chart-bar:before{content:""}.pi-camera:before{content:""}.pi-dollar:before{content:""}.pi-lock-open:before{content:""}.pi-table:before{content:""}.pi-map-marker:before{content:""}.pi-list:before{content:""}.pi-eye-slash:before{content:""}.pi-eye:before{content:""}.pi-folder-open:before{content:""}.pi-folder:before{content:""}.pi-video:before{content:""}.pi-inbox:before{content:""}.pi-lock:before{content:""}.pi-unlock:before{content:""}.pi-tags:before{content:""}.pi-tag:before{content:""}.pi-power-off:before{content:""}.pi-save:before{content:""}.pi-question-circle:before{content:""}.pi-question:before{content:""}.pi-copy:before{content:""}.pi-file:before{content:""}.pi-clone:before{content:""}.pi-calendar-times:before{content:""}.pi-calendar-minus:before{content:""}.pi-calendar-plus:before{content:""}.pi-ellipsis-v:before{content:""}.pi-ellipsis-h:before{content:""}.pi-bookmark:before{content:""}.pi-globe:before{content:""}.pi-replay:before{content:""}.pi-filter:before{content:""}.pi-print:before{content:""}.pi-align-right:before{content:""}.pi-align-left:before{content:""}.pi-align-center:before{content:""}.pi-align-justify:before{content:""}.pi-cog:before{content:""}.pi-cloud-download:before{content:""}.pi-cloud-upload:before{content:""}.pi-cloud:before{content:""}.pi-pencil:before{content:""}.pi-users:before{content:""}.pi-clock:before{content:""}.pi-user-minus:before{content:""}.pi-user-plus:before{content:""}.pi-trash:before{content:""}.pi-window-minimize:before{content:""}.pi-window-maximize:before{content:""}.pi-external-link:before{content:""}.pi-refresh:before{content:""}.pi-user:before{content:""}.pi-exclamation-triangle:before{content:""}.pi-calendar:before{content:""}.pi-chevron-circle-left:before{content:""}.pi-chevron-circle-down:before{content:""}.pi-chevron-circle-right:before{content:""}.pi-chevron-circle-up:before{content:""}.pi-angle-double-down:before{content:""}.pi-angle-double-left:before{content:""}.pi-angle-double-right:before{content:""}.pi-angle-double-up:before{content:""}.pi-angle-down:before{content:""}.pi-angle-left:before{content:""}.pi-angle-right:before{content:""}.pi-angle-up:before{content:""}.pi-upload:before{content:""}.pi-download:before{content:""}.pi-ban:before{content:""}.pi-star-fill:before{content:""}.pi-star:before{content:""}.pi-chevron-left:before{content:""}.pi-chevron-right:before{content:""}.pi-chevron-down:before{content:""}.pi-chevron-up:before{content:""}.pi-caret-left:before{content:""}.pi-caret-right:before{content:""}.pi-caret-down:before{content:""}.pi-caret-up:before{content:""}.pi-search:before{content:""}.pi-check:before{content:""}.pi-check-circle:before{content:""}.pi-times:before{content:""}.pi-times-circle:before{content:""}.pi-plus:before{content:""}.pi-plus-circle:before{content:""}.pi-minus:before{content:""}.pi-minus-circle:before{content:""}.pi-circle-on:before{content:""}.pi-circle-off:before{content:""}.pi-sort-down:before{content:""}.pi-sort-up:before{content:""}.pi-sort:before{content:""}.pi-step-backward:before{content:""}.pi-step-forward:before{content:""}.pi-th-large:before{content:""}.pi-arrow-down:before{content:""}.pi-arrow-left:before{content:""}.pi-arrow-right:before{content:""}.pi-arrow-up:before{content:""}.pi-bars:before{content:""}.pi-arrow-circle-down:before{content:""}.pi-arrow-circle-left:before{content:""}.pi-arrow-circle-right:before{content:""}.pi-arrow-circle-up:before{content:""}.pi-info:before{content:""}.pi-info-circle:before{content:""}.pi-home:before{content:""}.pi-spinner:before{content:""}:root{--bg:#f4f5f7;--surface:#fff;--surface-alt:#f1f2f4;--text:#1a1d23;--text-strong:#111827;--text-muted:#666d7a;--text-faint:#5b6271;--link:#1d4ed8;--toast-bg:#111827;--border:#eef0f3;--border-strong:#e5e7eb;--input-bg:#fff;--input-border:#d1d5db;--secondary-bg:#e5e7eb;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-bg:#dbeafe;--danger:#b91c1c;--danger-bg:#fee2e2;--success:#166534;--success-bg:#dcfce7;--warning:#92400e;--warning-bg:#fef3c7;--violet:#6d28d9;--violet-bg:#ede9fe;--sidebar:#12131a}:root,:root[data-theme=dark]{--toast-warn:#92400e;--toast-error:#b91c1c}:root[data-theme=dark]{--bg:#0f1115;--surface:#1a1d24;--surface-alt:#22252e;--text:#e5e7eb;--text-strong:#f9fafb;--text-muted:#9aa1b1;--text-faint:#8b94a3;--link:#7ea6f0;--toast-bg:#2b3140;--border:#2a2d36;--border-strong:#383c46;--input-bg:#1f222a;--input-border:#3a3e4a;--secondary-bg:#2a2d36;--primary:#3672e0;--primary-hover:#4a7fe0;--primary-bg:#3672e02e;--danger:#f87171;--danger-bg:#dc26262e;--success:#4ade80;--success-bg:#16a34a2e;--warning:#fbbf24;--warning-bg:#d977062e;--violet:#a78bfa;--violet-bg:#7c3aed33}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--link);text-decoration:none}button,input,select,textarea{color:inherit;font-family:inherit;font-size:14px}.app-shell{min-height:100dvh}.app-shell,.brand,.brand-mark,.nav,.nav-link,.sidebar{display:flex}.sidebar{background:var(--sidebar);color:#e5e7eb;z-index:40;flex-direction:column;flex-shrink:0;width:240px;height:100dvh;padding:18px 14px;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:8px;padding:0 6px 14px;font-size:16px;font-weight:700}.brand-mark{background:linear-gradient(135deg,#2563eb,#16a34a);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800}.nav{scrollbar-width:none;flex-direction:column;flex:1;gap:18px;min-height:0;overflow-y:auto}.nav-label{text-transform:uppercase;letter-spacing:.06em;color:#9aa1b1;margin-bottom:6px;padding:0 10px;font-size:10.5px;font-weight:700}.nav-link{color:#cbd2de;cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;font-size:14px}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{background:var(--primary);color:#fff;font-weight:600}.nav-link i{text-align:center;color:#94a3b8;width:22px;font-size:.95rem}.nav-link.active i,.nav-link:hover i{color:#fff}.nav-badge{color:#fff;text-align:center;background:#dc2626;border-radius:999px;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:12px;font-weight:700;line-height:18px}.side-foot{border-top:1px solid #ffffff14;gap:8px;margin-top:12px;padding:14px 6px 4px}.avatar,.side-foot,.side-foot .row{align-items:center;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;width:30px;height:30px;font-size:13px;font-weight:700}.content,.side-foot .who{flex:1;min-width:0}.side-foot .name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.side-foot .row{gap:6px;margin-top:4px}.role-badge{text-transform:uppercase;letter-spacing:.03em;background:var(--primary-bg);color:var(--link);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.sidebar .role-badge{color:#bcd0ff;background:#2563eb40}.logout,.sidebar .role-badge{white-space:nowrap;font-size:12px}.logout{color:#9aa1b1;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0}.content{flex-direction:column;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border-strong);z-index:30;gap:12px;padding:10px 20px;position:sticky;top:0}.crumbs,.search,.topbar{align-items:center;display:flex}.crumbs{color:var(--text-muted);gap:6px;min-width:0;font-size:13px}.crumbs b{color:var(--text-strong);font-weight:600}.topbar .grow{flex:1}.search{background:var(--surface-alt);border:1px solid var(--border-strong);width:260px;color:var(--text-muted);border-radius:8px;gap:6px;padding:6px 10px}.search input{background:0 0;border:none;outline:none;width:100%}.icon-btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn .dot{background:#dc2626;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:7px}.role-switch{background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:8px;gap:2px;padding:2px;display:flex}.role-switch button{white-space:nowrap;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.role-switch button.active{background:var(--primary);color:#fff}.mock-flag{color:var(--warning);background:var(--warning-bg);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.main{width:100%;max-width:1240px;margin:0 auto;padding:20px}.page-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.page-header h1{letter-spacing:-.01em;color:var(--text-strong);margin:0;font-size:22px;font-weight:700}.page-header p{color:var(--text-muted);margin:4px 0 0}.page-header .actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-alt)}.btn.primary{background:var(--primary);border-color:var(--link);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.danger{color:var(--danger);border-color:var(--danger-bg)}.btn.sm{padding:5px 9px;font-size:12px}.btn.ghost{background:0 0;border-color:#0000}.card{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:16px}.card h3{color:var(--text-strong);align-items:center;gap:8px;margin:0 0 10px;font-size:15px;display:flex}.card h3 .more{margin-left:auto;font-size:12px;font-weight:600}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-side{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.metric{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:14px 16px}.metric .lbl{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.metric .val{color:var(--text-strong);margin-top:6px;font-size:24px;font-weight:700}.metric .sub{color:var(--text-muted);margin-top:2px;font-size:12px}.up{color:var(--success)}.down{color:var(--danger)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.faint,.pill{font-size:12px}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.p-blue{background:var(--primary-bg);color:var(--link)}.p-green{background:var(--success-bg);color:var(--success)}.p-amber{background:var(--warning-bg);color:var(--warning)}.p-red{background:var(--danger-bg);color:var(--danger)}.p-grey{background:var(--secondary-bg);color:var(--text-muted)}.p-violet{background:var(--violet-bg);color:var(--violet)}.scope{background:var(--primary-bg);color:var(--link);border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;font-weight:600;display:flex}.note,.scope,.scope i,table.t{font-size:13px}.note{background:var(--warning-bg);color:var(--warning);border-radius:8px;gap:8px;padding:8px 12px;display:flex}table.t{border-collapse:separate;border-spacing:0;width:100%}.t th{text-align:left;background:var(--surface-alt);color:var(--text-muted);border-bottom:1px solid var(--border-strong);white-space:nowrap;font-size:12px;font-weight:600}.t td,.t th{padding:9px 12px}.t td{border-bottom:1px solid var(--border);vertical-align:middle}.t tr:hover td{background:var(--surface-alt)}.table-card{overflow:auto}.filters,.table-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.inp,.sel{border:1px solid var(--input-border);background:var(--input-bg);border-radius:8px;padding:7px 10px;font-size:13px}.inp,.li .body{min-width:0}.tabs{border-bottom:1px solid var(--border-strong);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tab{cursor:pointer;color:var(--text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-size:13px;font-weight:600}.tab.active{color:var(--link);border-bottom-color:var(--link)}.toggle{background:var(--secondary-bg);cursor:pointer;vertical-align:middle;border-radius:999px;flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--primary)}.toggle.on:after{left:18px}.chat-main,.drawer,.field,.list,.modal,.msgs,.stack,.vg{flex-direction:column}.ask,.chips,.dash-thumb,.li,.li .ic,.list{display:flex}.li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0}.li:last-child{border-bottom:none}.li .ic{background:var(--primary-bg);width:32px;height:32px;color:var(--link);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center}.li .body{flex:1}.li .ttl{color:var(--text-strong);font-size:13px;font-weight:600}.li .meta{color:var(--text-muted);font-size:12px}.chips{flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text);border-radius:999px;padding:6px 10px;font-size:12px}.chip.active,.chip:hover{border-color:var(--link);color:var(--link);background:var(--primary-bg)}.ask{background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;align-items:center;gap:8px;padding:8px 8px 8px 14px}.ask input{background:0 0;border:none;outline:none;flex:1;font-size:15px}.dash-card{background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:10px;overflow:hidden}.dash-card:hover{border-color:var(--link)}.dash-thumb{background:var(--surface-alt);align-items:flex-end;gap:5px;height:92px;padding:12px 14px}.dash-thumb span{background:var(--primary);opacity:.75;border-radius:3px 3px 0 0;flex:1}.dash-body{padding:12px 14px}.dash-body .ttl{color:var(--text-strong);font-weight:700}.progress{background:var(--secondary-bg);border-radius:999px;height:8px;overflow:hidden}.progress span{background:var(--primary);height:100%;display:block}.kv{grid-template-columns:150px 1fr;gap:8px 12px;font-size:13px;display:grid}.kv .k{color:var(--text-muted)}.health{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.dotc{background:#16a34a;border-radius:50%;flex-shrink:0;width:9px;height:9px}.dotc.amber{background:#d97706}.dotc.red{background:#dc2626}.matrix td,.matrix th{text-align:center}.dg th,.matrix td:first-child,.matrix th:first-child{text-align:left}.chk{width:16px;height:16px;accent-color:var(--link)}.chat{grid-template-columns:250px minmax(0,1fr);gap:14px;height:calc(100vh - 130px);display:grid}.chat-hist{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:12px;overflow:auto}.chat-hist .h{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;margin-bottom:2px;padding:8px 10px;font-size:13px;overflow:hidden}.chat-hist .h:hover{background:var(--surface-alt)}.chat-hist .h.active{background:var(--primary-bg);color:var(--link);font-weight:600}.chat-main{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;min-height:0}.chat-main,.msg-a,.msg-a .bot,.msgs{display:flex}.msgs{flex:1;gap:16px;padding:18px;overflow:auto}.msg-u{background:var(--primary);color:#fff;border-radius:14px 14px 4px;align-self:flex-end;max-width:70%;padding:10px 14px}.msg-a{align-self:flex-start;gap:10px;max-width:88%}.msg-a .bot{background:var(--violet-bg);width:30px;height:30px;color:var(--violet);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center}.msg-a .bubble{background:var(--surface-alt);border-radius:4px 14px 14px;min-width:0;padding:12px 14px}.assume{border-left:3px solid var(--warning);background:var(--warning-bg);color:var(--warning);border-radius:0 6px 6px 0;margin-top:10px;padding:6px 10px;font-size:12px}.chart-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;margin-top:10px;padding:12px}.chart-card .bar{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chart-card .bar,.cite,.composer{align-items:center}.cite{background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;gap:4px;margin:6px 6px 0 0;padding:3px 8px;font-size:12px;display:inline-flex}.composer{border-top:1px solid var(--border-strong);gap:8px;padding:12px;display:flex}.composer input{border:1px solid var(--input-border);background:var(--input-bg);outline:none;flex:1}.approval,.composer input{border-radius:10px;padding:10px 12px}.approval{border:1px solid var(--violet);background:var(--violet-bg);margin-top:10px}.dt-wrap{grid-template-columns:220px minmax(0,1fr);gap:14px;display:grid}.dt-side{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;align-self:start;padding:10px}.dt-side .dept{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:10px 8px 4px;font-size:12px;font-weight:700}.dt-side .dept,.dt-side .tbl{align-items:center;display:flex}.dt-side .tbl{cursor:pointer;border-radius:7px;gap:8px;padding:7px 8px;font-size:13px}.dt-side .tbl:hover{background:var(--surface-alt)}.dt-side .tbl.active{background:var(--primary-bg);color:var(--link);font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px}.toolbar,.views{border-bottom:1px solid var(--border-strong);display:flex}.views{gap:2px;padding:8px 10px 0;overflow:auto}.views .v{color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:8px 8px 0 0;padding:7px 12px;font-size:13px;font-weight:600}.views .v.active{background:var(--surface-alt);color:var(--text-strong);border:1px solid var(--border-strong);border-bottom-color:var(--surface-alt)}.grid-scroll{max-height:calc(100vh - 290px);overflow:auto}table.dg{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}.dg th{background:var(--surface-alt);z-index:2;border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border);color:var(--text-muted);white-space:nowrap;padding:0;font-size:12px;font-weight:600;position:sticky;top:0}.dg th .hd{cursor:grab;align-items:center;gap:6px;padding:8px 10px;display:flex}.dg th .hd i{font-size:12px}.dg th.dragover{box-shadow:inset 3px 0 0 var(--primary)}.dg tr.qf th{background:var(--surface);z-index:2;padding:4px 6px;top:33px}.dg tr.qf input{border:1px solid var(--border-strong);background:var(--input-bg);border-radius:6px;width:100%;min-width:70px;padding:4px 7px;font-size:12px}.dg td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:7px 10px}.dg td.edit{cursor:text}.dg td.edit:focus{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-bg)}.dg td.rn{color:var(--text-faint);text-align:right;background:var(--surface-alt);z-index:1;font-size:12px;position:sticky;left:0}.dg td.num{text-align:right;font-variant-numeric:tabular-nums}.dg tfoot td{color:var(--text-muted);font-size:12px;font-weight:600;position:sticky;bottom:0}.dg td.locked,.dg tfoot td{background:var(--surface-alt)}.dg td.locked{color:var(--text-faint)}.overlay{z-index:80;background:#11182773;display:none;position:fixed;inset:0}.overlay.open{display:block}.drawer{background:var(--surface);z-index:90;width:460px;max-width:100%;height:100vh;display:none;position:fixed;top:0;right:0;box-shadow:-8px 0 24px #00000026}.drawer .df,.drawer .dh,.drawer.open{display:flex}.drawer .dh{border-bottom:1px solid var(--border-strong);align-items:center;gap:10px;padding:14px 16px}.drawer .dh h2{flex:1;margin:0;font-size:16px}.drawer .db{flex:1;padding:16px;overflow:auto}.drawer .df{border-top:1px solid var(--border-strong);justify-content:flex-end;gap:8px;padding:12px 16px}.modal{background:var(--surface);z-index:90;border-radius:12px;width:760px;max-width:calc(100% - 32px);max-height:calc(100vh - 40px);display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #00000040}.field,.modal.open,.steps{display:flex}.field{gap:5px;margin-bottom:12px}.field label{color:var(--text-muted);font-size:12px;font-weight:600}.field .inp,.field .sel{width:100%}.steps{gap:8px;margin-bottom:16px}.step{color:var(--text-muted);flex:1;gap:8px;font-weight:600}.step,.step b{align-items:center;font-size:12px;display:flex}.step b{background:var(--secondary-bg);border-radius:50%;justify-content:center;width:22px;height:22px}.step.done b{background:var(--success);color:#fff}.step.cur b{background:var(--primary);color:#fff}.step.cur{color:var(--text-strong)}.empty{text-align:center;color:var(--text-muted);padding:30px}.mono,.secret{font-family:ui-monospace,Consolas,monospace;font-size:12px}.secret{background:var(--surface-alt);border-radius:6px;padding:3px 8px}.toast{color:#fff;z-index:100;background:#111827;border-radius:8px;padding:10px 16px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.mobile-toggle,.toast{display:none}@media (width<=1000px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.chat,.dt-wrap,.g-side,.g3{grid-template-columns:1fr}.chat-hist,.dt-side{display:none}}@media (width<=640px){.btn.sm,.menu-btn{min-height:40px}.vg-toolbar .search{width:100%!important}}:root[data-theme=dark] .p-blue{color:#8fb3ff}@media (width<=720px){.sidebar{transition:left .2s;position:fixed;left:-260px}.sidebar.open{left:0}.mobile-toggle{display:inline-flex}.g2,.g4{grid-template-columns:1fr}.main{padding:14px}.mock-flag{display:none}.topbar{flex-wrap:wrap}.role-switch{order:5;width:100%}.role-switch button{flex:1}}.vg{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;min-height:0;display:flex;overflow:hidden}.vg-head-wrap{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px 6px;display:flex}.vg-head-wrap h1{white-space:nowrap;color:var(--text-strong);margin:0;font-size:18px}.vg-views{border-bottom:1px solid var(--border-strong);gap:2px;padding:6px 10px 0;display:flex;overflow:auto}.vg-views .v{color:var(--text-muted);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;padding:7px 12px;font-size:13px;font-weight:600}.vg-views .v.active{background:var(--surface-alt);color:var(--text-strong);border-color:var(--border-strong)}.vg-toolbar{border-bottom:1px solid var(--border-strong);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.vg-toolbar .sp{flex:1}.vg-scroll{height:calc(100vh - 330px);min-height:320px;position:relative;overflow:auto}.vg-inner{min-width:100%;position:relative}.vg-hrow{background:var(--surface-alt);top:0}.vg-frow,.vg-hrow{z-index:4;border-bottom:1px solid var(--border-strong);display:flex;position:sticky}.vg-frow{background:var(--surface);top:34px}.vg-cell{border-right:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;flex:none;align-items:center;height:34px;padding:0 10px;font-size:13px;display:flex;overflow:hidden}.vg-hrow .vg-cell{color:var(--text-muted);padding:0;font-size:12px;font-weight:600}.vg-frow .vg-cell{height:32px;padding:3px 5px}.vg-frow input,.vg-frow select{border:1px solid var(--border-strong);background:var(--input-bg);border-radius:6px;width:100%;min-width:0;height:24px;padding:3px 6px;font-size:12px}.vg-frow input.bad{border-color:var(--danger)}.vg-th{cursor:grab;align-items:center;gap:6px;width:100%;height:100%;padding:0 8px;display:flex}.vg-th .t{text-overflow:ellipsis;flex:1;overflow:hidden}.vg-th .menu-btn{opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px}.vg-th .menu-btn:hover{opacity:1;background:var(--secondary-bg)}.vg-th.over{box-shadow:inset 3px 0 0 var(--primary)}.vg-cell.rn{z-index:3;background:inherit;color:var(--text-faint);justify-content:flex-start;gap:6px;font-size:12px;position:sticky;left:0}.vg-frow .vg-cell.rn,.vg-hrow .vg-cell.rn{background:inherit;z-index:5}.vg-row{border-bottom:1px solid var(--border);background:var(--surface);height:34px;display:flex}.vg-row:hover{background:var(--surface-alt)}.vg-row.sel{background:var(--primary-bg)}.vg-row .vg-cell.rn{background:var(--surface-alt)}.vg-cell.num{font-variant-numeric:tabular-nums;justify-content:flex-end}.vg-cell.ed{cursor:text}.vg-cell.ed:hover{box-shadow:inset 0 0 0 1px var(--input-border)}.vg-cell.ro,.vg-foot{color:var(--text-muted)}.vg-cell.editing{box-shadow:inset 0 0 0 2px var(--primary);background:var(--surface);padding:0}.vg-cell.editing input,.vg-cell.editing select{background:0 0;border:none;outline:none;width:100%;height:100%;padding:0 10px;font-size:13px}.vg-cell.err{box-shadow:inset 0 0 0 2px var(--danger)}.vg-ph{background:var(--secondary-bg);opacity:.6;border-radius:4px;width:60%;height:10px}.vg-foot{background:var(--surface-alt);border-top:1px solid var(--border-strong);font-size:12px;font-weight:600;display:flex}.vg-foot .vg-cell{height:30px;font-size:12px}.vg-status{border-top:1px solid var(--border-strong);color:var(--text-faint);align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.vg-empty{text-align:center;color:var(--text-muted);padding:40px}.menu{z-index:60;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;min-width:190px;padding:4px;position:absolute;box-shadow:0 8px 24px #0000002e}.menu .mi{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.menu .mi:hover,tr.clickable:hover td{background:var(--surface-alt)}.menu .mi.danger{color:var(--danger)}.menu hr{border:none;border-top:1px solid var(--border);margin:4px 0}.menu label.mi,.persona,tr.clickable{cursor:pointer}.tab-row{border-bottom:1px solid var(--border-strong);gap:4px;margin-bottom:14px;display:flex}.checkline{align-items:center;gap:8px;font-size:13px;display:flex}.hint{color:var(--text-faint);font-size:12px}.err-text{color:var(--danger);margin-top:2px;font-size:12px}.fld-row{grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) auto auto auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}@media (width<=720px){.chat{grid-template-columns:1fr;height:auto}.chat-hist{max-height:140px}.chat-main{min-height:60vh}.msg-u{max-width:92%}.msg-a{max-width:100%}.fld-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.fld-row>.inp,.fld-row>.sel{grid-column:1/-1}}.login-wrap{max-width:980px;margin:0 auto;padding:40px 20px}.persona{text-align:left;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.persona:hover{border-color:var(--link);background:var(--primary-bg)}.stack{gap:12px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=720px){.grid-2{grid-template-columns:1fr}.vg-scroll{height:calc(100vh - 420px)}}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.vg-cell:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-bg)}.skip-link{z-index:300;background:var(--primary);color:#fff;border-radius:8px;padding:8px 14px;font-weight:600;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main:focus{outline:none}.logout{padding:3px 6px}.logout,.menu-btn,.search input{min-height:24px}.menu-btn{min-width:24px}.vg .chk{width:24px;height:24px}.vg .chk,.vg-cell.rn .menu-btn{flex-shrink:0}.brand-mark-lg{color:#fff;border-radius:10px;width:36px;height:36px}button.tab{border:0;border-bottom:2px solid #0000}button.tab,button.v{background:0 0;font-family:inherit}.menu button.mi,button.chip{font-family:inherit}.chip-off{opacity:.5;cursor:not-allowed}.table-card,.table-wrap{max-width:100%;overflow-x:auto}@media (width<=720px){.persona-switch{flex:1;min-width:0}.persona-switch .sel{width:100%;min-width:0;max-width:100%}.persona-switch .hint{display:none}}.menu button.mi{width:100%}.menu button.mi,.vg-th button.t{text-align:left;color:inherit;background:0 0;border:0}.vg-th button.t{font:inherit;cursor:pointer;min-height:24px;padding:0}.vg-cell.rn .menu-btn{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:4px}.ml-auto{margin-left:auto}.ml-6{margin-left:6px}.mr-4{margin-right:4px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mt-8{margin-top:8px}.mt-14{margin-top:14px}.pad-16{padding:16px}.ta-right{text-align:right}.nowrap{white-space:nowrap}.fs-24{font-size:24px}.dialog-text{padding:18px 18px 8px}.dialog-foot{border-top:1px solid var(--border-strong);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.dash-frame{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;width:100%;height:calc(100dvh - 210px);min-height:440px;display:block}@media (width<=700px){.dash-frame{height:calc(100dvh - 170px);min-height:380px}}.sql-box{background:var(--surface);border:1px solid var(--border-strong);white-space:pre-wrap;word-break:break-word;color:var(--text);border-radius:6px;margin:4px 0 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:auto}.toast-stack{z-index:200;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast-item{background:var(--toast-bg);color:#fff;border-radius:8px;max-width:560px;padding:10px 16px;font-size:13px;box-shadow:0 8px 24px #00000040}.toast-item.warn{background:var(--toast-warn)}.toast-item.error{background:var(--toast-error)}
