:root{color-scheme:light;--surface-page: #fbfbf8;--surface-card: #ffffff;--surface-panel: #f8fafc;--surface-marketing: #fbfbf8;--overlay: #0b0f198f;--text: #111827;--text-2: #1f2937;--text-muted: #596579;--text-disabled: #9ca3af;--on-primary: #ffffff;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-text: #1d4ed8;--primary-tint: #eef2ff;--accent: #f6881f;--accent-text: #8f4300;--accent-tint: #fdeedd;--success: #0f8a55;--success-text: #0b6b42;--success-tint: #e4f5ec;--warning: #b36b00;--warning-text: #7d4a00;--warning-tint: #fef3d8;--danger: #c62828;--on-danger: #ffffff;--danger-text: #a31f1f;--danger-tint: #fce9e9;--border-subtle: #e5e7eb;--border-control: #76849a;--focus-ring: #1d4ed8;--row-hover: #f3f6fd;--chart-1: #2563eb;--chart-2: #c2570a;--chart-3: #0d8f84;--chart-4: #7c3aed;--chart-5: #9a5b00;--map-water: #aad3f0;--map-land: #f1efe9;--map-road: #ffffff;--map-green: #cde6bf;--shadow-sm: 0 1px 2px rgba(20, 40, 80, .06);--shadow-card: 0 10px 30px rgba(15, 23, 42, .06);--shadow-menu: 0 12px 34px rgba(16, 32, 60, .16), 0 2px 6px rgba(16, 32, 60, .07);--shadow-glow: 0 0 28px 0 rgba(147, 197, 253, .28);--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-16: 64px;--space-20: 80px;--space-28: 112px;--space-32: 128px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-card: 28px;--radius-pill: 999px;--control-sm: 32px;--control-md: 40px;--control-lg: 48px;--pill-h: 24px;--avatar: 32px;--icon: 16px;--icon-lg: 20px;--topbar-h: 52px;--rail-w: 64px;--rail-w-open: 240px;--logo-min: 20px;--logo-sm: 24px;--logo-md: 28px;--logo-lg: 40px;--logo-xl: 52px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--z-rail: 20;--z-topbar: 30;--z-menu: 40;--z-modal: 50;--z-toast: 60;--font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-arabic: "Noto Sans Arabic", Inter, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-page: #0b0f19;--surface-card: #111827;--surface-panel: #0d1420;--surface-marketing: #0b0f19;--overlay: #000000a6;--text: #f3f4f6;--text-2: #d1d5db;--text-muted: #9ca3af;--text-disabled: #5b6472;--on-primary: #ffffff;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-text: #8fb0ff;--primary-tint: #15234a;--accent: #f6881f;--accent-text: #ffab5c;--accent-tint: #3a2a17;--success: #2fbf85;--success-text: #5fd6a2;--success-tint: #0f2620;--warning: #e0a040;--warning-text: #f0bd6a;--warning-tint: #2c2411;--danger: #f26d6d;--on-danger: #1a0b0b;--danger-text: #ff9494;--danger-tint: #2c1a1b;--border-subtle: #1f2937;--border-control: #667386;--focus-ring: #8fb0ff;--row-hover: #162033;--chart-1: #6ea0ff;--chart-2: #ffa04a;--chart-3: #2dd4bf;--chart-4: #a78bfa;--chart-5: #e0b14c;--map-water: #0c1d2e;--map-land: #151c28;--map-road: #2a3542;--map-green: #1c3324;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-card: 0 10px 30px rgba(0, 0, 0, .45);--shadow-menu: 0 12px 34px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .35);--shadow-glow: 0 0 28px 0 rgba(123, 166, 255, .22)}}:root[data-theme=dark]{color-scheme:dark;--surface-page: #0b0f19;--surface-card: #111827;--surface-panel: #0d1420;--surface-marketing: #0b0f19;--overlay: #000000a6;--text: #f3f4f6;--text-2: #d1d5db;--text-muted: #9ca3af;--text-disabled: #5b6472;--on-primary: #ffffff;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-text: #8fb0ff;--primary-tint: #15234a;--accent: #f6881f;--accent-text: #ffab5c;--accent-tint: #3a2a17;--success: #2fbf85;--success-text: #5fd6a2;--success-tint: #0f2620;--warning: #e0a040;--warning-text: #f0bd6a;--warning-tint: #2c2411;--danger: #f26d6d;--on-danger: #1a0b0b;--danger-text: #ff9494;--danger-tint: #2c1a1b;--border-subtle: #1f2937;--border-control: #667386;--focus-ring: #8fb0ff;--row-hover: #162033;--chart-1: #6ea0ff;--chart-2: #ffa04a;--chart-3: #2dd4bf;--chart-4: #a78bfa;--chart-5: #e0b14c;--map-water: #0c1d2e;--map-land: #151c28;--map-road: #2a3542;--map-green: #1c3324;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-card: 0 10px 30px rgba(0, 0, 0, .45);--shadow-menu: 0 12px 34px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .35);--shadow-glow: 0 0 28px 0 rgba(123, 166, 255, .22)}.ui-title{font-family:var(--font-sans);font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.3px}.ui-heading{font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:600}.ui-subheading{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:700}.ui-body{font-family:var(--font-sans);font-size:13px;line-height:20px;font-weight:400}.ui-body-strong,.ui-button{font-family:var(--font-sans);font-size:13px;line-height:20px;font-weight:600}.ui-caption{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:400}.ui-overline{font-family:var(--font-sans);font-size:11px;line-height:16px;font-weight:700;letter-spacing:.5px}.ui-pill{font-family:var(--font-sans);font-size:11px;line-height:16px;font-weight:700}.display{font-family:var(--font-sans);font-size:40px;line-height:38px;font-weight:300;letter-spacing:-1.2px}.heading-1{font-family:var(--font-sans);font-size:30px;line-height:36px;font-weight:300}.heading-2{font-family:var(--font-sans);font-size:24px;line-height:32px;font-weight:400}.heading-3{font-family:var(--font-sans);font-size:20px;line-height:28px;font-weight:600}.body-lg{font-family:var(--font-sans);font-size:18px;line-height:29px;font-weight:400}.prose{font-family:var(--font-sans);font-size:19px;line-height:33px;font-weight:400}html,body{background:var(--surface-page);color:var(--text)}.tb-scope{font-family:var(--font-sans);color:var(--text);background:var(--surface-page)}.tb-scope *,.tb-scope *:before,.tb-scope *:after{box-sizing:border-box}.tb-icon{width:var(--icon);height:var(--icon);flex:none}.tb-icon--lg{width:var(--icon-lg);height:var(--icon-lg)}[dir=rtl]{font-family:var(--font-arabic)}[dir=rtl] .tb-flip{transform:scaleX(-1)}.tb-btn:focus-visible,.tb-input:focus-visible,.tb-check:focus-visible,.tb-switch:focus-visible,.tb-nav-item:focus-visible,.tb-link:focus-visible,.tb-chip button:focus-visible,.tb-lang button:focus-visible,.tb-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.tb-logo{display:block;flex:none;height:var(--logo-md);width:auto;max-width:none}.tb-logo--sm{height:var(--logo-sm)}.tb-logo--lg{height:var(--logo-lg)}.tb-logo--xl{height:var(--logo-xl)}.tb-logo-on-dark,[data-theme=dark] .tb-logo-on-light{display:none}[data-theme=dark] .tb-logo-on-dark,.tb-scope[data-theme=light] .tb-logo-on-light{display:block}.tb-scope[data-theme=light] .tb-logo-on-dark,.tb-scope[data-theme=dark] .tb-logo-on-light{display:none}.tb-scope[data-theme=dark] .tb-logo-on-dark{display:block}.tb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;font-family:inherit;text-decoration:none}.tb-btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm)}.tb-btn--primary:hover{background:var(--primary-hover)}.tb-btn--secondary{background:var(--surface-card);color:var(--text);border-color:var(--border-control)}.tb-btn--secondary:hover{background:var(--row-hover)}.tb-btn--ghost{background:transparent;color:var(--primary-text)}.tb-btn--ghost:hover{background:var(--primary-tint)}.tb-btn--danger{background:var(--danger);color:var(--on-danger)}.tb-btn--danger:hover{filter:brightness(.94)}.tb-btn--sm{height:var(--control-sm);padding:0 var(--space-3)}.tb-btn--lg{height:var(--control-lg);padding:0 var(--space-6)}.tb-btn--pill{border-radius:var(--radius-pill)}.tb-btn--icon{width:var(--control-sm);height:var(--control-sm);padding:0;background:transparent;color:var(--text-2)}.tb-btn--icon:hover{background:var(--row-hover)}.tb-btn[disabled],.tb-btn[aria-disabled=true]{background:var(--surface-panel);color:var(--text-disabled);border-color:var(--border-subtle);box-shadow:none;cursor:not-allowed;filter:none}.tb-link{color:var(--primary-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.tb-pill{display:inline-flex;align-items:center;gap:var(--space-1-5);height:var(--pill-h);padding:0 var(--space-2-5);border-radius:var(--radius-pill);white-space:nowrap;background:var(--surface-panel);color:var(--text-2);border:1px solid var(--border-subtle)}.tb-pill:before{content:"";width:8px;height:8px;flex:none;background:var(--text-muted);border-radius:50%}.tb-pill--success{background:var(--success-tint);color:var(--success-text);border-color:transparent}.tb-pill--success:before{background:var(--success);border-radius:50%}.tb-pill--info{background:var(--primary-tint);color:var(--primary-text);border-color:transparent}.tb-pill--info:before{background:var(--primary);border-radius:2px}.tb-pill--warning{background:var(--warning-tint);color:var(--warning-text);border-color:transparent}.tb-pill--warning:before{background:var(--warning);border-radius:0;width:10px;height:9px;clip-path:polygon(50% 0,100% 100%,0 100%)}.tb-pill--danger{background:var(--danger-tint);color:var(--danger-text);border-color:transparent}.tb-pill--danger:before{background:var(--danger);border-radius:0;width:10px;height:10px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.tb-pill--accent{background:var(--accent-tint);color:var(--accent-text);border-color:transparent}.tb-pill--accent:before{background:var(--accent);border-radius:0;clip-path:polygon(0 0,100% 50%,0 100%)}.tb-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.tb-field>label{color:var(--text-2)}.tb-input{height:var(--control-md);width:100%;padding:0 var(--space-3);background:var(--surface-panel);color:var(--text);border:1px solid var(--border-control);border-radius:var(--radius-md);font-family:inherit}.tb-input::placeholder{color:var(--text-muted);opacity:1}.tb-input:hover{border-color:var(--text-muted)}.tb-input:focus-visible{border-color:var(--focus-ring)}.tb-input[aria-invalid=true]{border-color:var(--danger)}.tb-input[disabled]{color:var(--text-disabled);border-color:var(--border-subtle);background:var(--surface-page);cursor:not-allowed}.tb-help{color:var(--text-muted)}.tb-error{color:var(--danger-text);display:flex;gap:var(--space-1);align-items:center}.tb-select{position:relative}.tb-select .tb-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-inline-end:var(--space-8)}.tb-select:after{content:"";position:absolute;inset-inline-end:var(--space-3);top:50%;width:7px;height:7px;margin-top:-6px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);pointer-events:none}.tb-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin:0;border:2px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-panel);display:inline-grid;place-content:center;cursor:pointer}.tb-check:checked{background:var(--primary);border-color:var(--primary)}.tb-check:checked:after{content:"";width:4px;height:8px;border:solid var(--on-primary);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.tb-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:40px;height:var(--pill-h);margin:0;border-radius:var(--radius-pill);cursor:pointer;background:var(--surface-panel);border:2px solid var(--border-control)}.tb-switch:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:inset-inline-start .12s}.tb-switch:checked{background:var(--primary);border-color:var(--primary)}.tb-switch:checked:after{background:var(--on-primary);inset-inline-start:19px}.tb-table-wrap{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:auto}.tb-table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.tb-table th{position:sticky;top:0;background:var(--surface-panel);color:var(--text-muted);text-align:start;text-transform:uppercase;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.tb-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-2);vertical-align:middle}.tb-table--dense td{padding-block:var(--space-2)}.tb-table tr:last-child td{border-bottom:0}.tb-table tbody tr:hover td{background:var(--row-hover)}.tb-table tr[aria-selected=true] td{background:var(--primary-tint);color:var(--text)}.tb-table tr[aria-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--primary)}[dir=rtl] .tb-table tr[aria-selected=true] td:first-child{box-shadow:inset -3px 0 0 var(--primary)}.tb-table .tb-num{text-align:end}.tb-table .tb-key{color:var(--text)}.tb-table-foot{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card)}.tb-rail{display:flex;flex-direction:column;gap:var(--space-1);width:var(--rail-w-open);padding:var(--space-3);background:var(--surface-card);border-inline-end:1px solid var(--border-subtle)}.tb-rail--collapsed{width:var(--rail-w);align-items:center}.tb-rail--collapsed .tb-nav-label,.tb-rail--collapsed .tb-nav-group,.tb-rail--collapsed .tb-nav-count{display:none}.tb-nav-group{color:var(--text-muted);text-transform:uppercase;padding:var(--space-3) var(--space-2) var(--space-1)}.tb-nav-item{display:flex;align-items:center;gap:var(--space-3);height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-2);text-decoration:none;cursor:pointer;width:100%;background:none;border:0;font-family:inherit;text-align:start}.tb-rail--collapsed .tb-nav-item{width:var(--control-md);justify-content:center;padding:0}.tb-nav-item:hover{background:var(--row-hover);color:var(--text)}.tb-nav-item[aria-current=page]{background:var(--primary);color:var(--on-primary)}.tb-nav-label{flex:1}.tb-nav-count{background:var(--primary-tint);color:var(--primary-text);border-radius:var(--radius-pill);padding:0 var(--space-2);min-width:24px;text-align:center}.tb-nav-item[aria-current=page] .tb-nav-count{background:var(--on-primary);color:var(--primary-hover)}.tb-topbar{display:flex;align-items:center;gap:var(--space-4);height:var(--topbar-h);padding:0 var(--space-5);background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.tb-search{position:relative;width:280px;max-width:100%}.tb-search .tb-input{padding-inline-start:var(--space-10);height:var(--control-sm)}.tb-search .tb-icon{position:absolute;inset-inline-start:var(--space-3);top:50%;margin-top:-8px;color:var(--text-muted)}.tb-lang{display:inline-flex;border:1px solid var(--border-control);border-radius:var(--radius-md);overflow:hidden;height:var(--control-sm)}.tb-lang button{background:transparent;border:0;color:var(--text-2);padding:0 var(--space-3);cursor:pointer;font-family:inherit}.tb-lang button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.tb-avatar{width:var(--avatar);height:var(--avatar);border-radius:var(--radius-pill);background:var(--primary-tint);color:var(--primary-text);display:grid;place-content:center}.tb-tenant{height:var(--control-sm);padding:0 var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text)}.tb-tenant>span:first-child{width:24px;height:24px;border-radius:var(--radius-sm);background:var(--accent-tint);color:var(--accent-text);display:grid;place-content:center}.tb-dot{position:relative}.tb-dot:after{content:"";position:absolute;top:4px;inset-inline-end:4px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid var(--surface-card);box-sizing:content-box;margin:-2px}.tb-filterbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2-5);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.tb-filterbar .tb-field{flex:1 1 160px;max-width:240px}.tb-filterbar-actions{display:flex;gap:var(--space-2);margin-inline-start:auto}.tb-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%}.tb-chip{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-1) 0 var(--space-3);border-radius:var(--radius-pill);background:var(--primary-tint);color:var(--primary-text)}.tb-chip button{width:24px;height:24px;display:grid;place-content:center;border:0;background:transparent;color:inherit;border-radius:50%;cursor:pointer}.tb-chip button:hover{background:var(--surface-card)}@media(max-width:768px){.tb-filterbar .tb-field{flex-basis:calc(50% - var(--space-2-5));max-width:none}.tb-search{width:100%}}@media(max-width:640px){.tb-filterbar .tb-field{flex-basis:100%}.tb-filterbar-actions{width:100%}.tb-filterbar-actions .tb-btn{flex:1}}.tb-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4)}.tb-module{display:flex;flex-direction:column;gap:var(--space-3)}.tb-module-head{display:flex;gap:var(--space-3);align-items:flex-start}.tb-module-icon{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-md);background:var(--primary-tint);color:var(--primary-text);display:grid;place-content:center;flex:none}.tb-module-title{flex:1;min-width:0}.tb-module-meta{display:flex;gap:var(--space-3);color:var(--text-muted);flex-wrap:wrap}.tb-module-foot{display:flex;gap:var(--space-2);align-items:center;border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}.tb-module-foot .tb-spacer{flex:1}.tb-panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);overflow:hidden}.tb-panel-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-subtle)}.tb-panel-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.tb-panel-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--surface-panel)}.tb-setting{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.tb-setting small{display:block;color:var(--text-muted)}.tb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);background:var(--surface-card);border:1px dashed var(--border-control);border-radius:var(--radius-lg)}.tb-empty-icon{width:var(--control-lg);height:var(--control-lg);border-radius:var(--radius-pill);background:var(--primary-tint);color:var(--primary-text);display:grid;place-content:center}.tb-empty p{margin:0;color:var(--text-muted);max-width:40ch}.tb-empty h3{margin:0}:root,[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}.tb-page,.tb-page *,.tb-dialog,.tb-dialog *,.tb-drawer,.tb-drawer *,.tb-toast,.tb-banner{box-sizing:border-box}.tb-page{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);max-width:1280px;margin-inline:auto;width:100%;min-width:0}.tb-page-head{display:flex;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap}.tb-page-head>.tb-grow{flex:1;min-width:240px}.tb-page-head h1{margin:0}.tb-sub{margin:var(--space-1) 0 0;color:var(--text-muted)}.tb-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.tb-crumbs{display:flex;gap:var(--space-2);align-items:center;color:var(--text-muted);flex-wrap:wrap}.tb-crumbs a{color:var(--primary-text);text-decoration:none}.tb-crumbs a:hover{text-decoration:underline;text-underline-offset:3px}.tb-crumbs [aria-current]{color:var(--text-2)}.tb-crumbs a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.tb-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);overflow-x:auto}.tb-tab{background:none;border:0;padding:var(--space-3) var(--space-4);color:var(--text-muted);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;gap:var(--space-2);align-items:center;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tb-tab:hover{color:var(--text);background:var(--row-hover)}.tb-tab[aria-selected=true]{color:var(--primary-text);border-bottom-color:var(--primary)}.tb-tab-count{background:var(--surface-panel);color:var(--text-2);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:0 var(--space-2)}.tb-tab[aria-selected=true] .tb-tab-count{background:var(--primary-tint);color:var(--primary-text);border-color:transparent}.tb-banner{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--primary-tint);color:var(--primary-text);flex-wrap:wrap}.tb-banner>.tb-icon{flex:none}.tb-banner .tb-banner-text{flex:1;min-width:200px;color:var(--text)}.tb-banner .tb-banner-text strong{color:inherit}.tb-banner--warning{background:var(--warning-tint);color:var(--warning-text)}.tb-banner--danger{background:var(--danger-tint);color:var(--danger-text)}.tb-banner--success{background:var(--success-tint);color:var(--success-text)}.tb-banner--warning .tb-banner-text,.tb-banner--danger .tb-banner-text,.tb-banner--success .tb-banner-text{color:var(--text)}.tb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-4)}.tb-overlay--drawer{place-items:stretch end;padding:0}.tb-dialog{width:min(600px,100%);max-height:100%;display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-menu);overflow:hidden}.tb-drawer{width:min(480px,100%);height:100%;display:flex;flex-direction:column;background:var(--surface-card);border-inline-start:1px solid var(--border-subtle);box-shadow:var(--shadow-menu)}.tb-dialog-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-subtle)}.tb-dialog-head h2{margin:0;flex:1}.tb-dialog-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;min-height:0;flex:1}.tb-dialog-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--surface-panel);flex-wrap:wrap}.tb-dialog-foot .tb-spacer{flex:1}.tb-toasts{position:fixed;inset-block-end:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:calc(100% - var(--space-8))}.tb-toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--text);color:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-menu)}.tb-toast button{background:none;border:0;padding:0 var(--space-1);color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-family:inherit}.tb-toast button:focus-visible{outline:2px solid var(--surface-card);outline-offset:2px}.tb-steps{display:flex;gap:var(--space-2);list-style:none;margin:0;padding:0;flex-wrap:wrap}.tb-step{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted)}.tb-step-n{width:24px;height:24px;border-radius:var(--radius-pill);border:2px solid var(--border-control);display:grid;place-content:center;color:var(--text-2);background:var(--surface-card)}.tb-step[aria-current=step]{color:var(--text)}.tb-step[aria-current=step] .tb-step-n{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tb-step[data-done=true] .tb-step-n{background:var(--primary-tint);border-color:transparent;color:var(--primary-text)}.tb-step+.tb-step:before{content:"";width:var(--space-4);height:2px;background:var(--border-control);border-radius:1px}.tb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.tb-grid--features{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.tb-tile{display:flex;flex-direction:column;gap:var(--space-3)}.tb-tile--feature{background:var(--primary-tint);box-shadow:none;border-color:transparent}.tb-tile--feature .tb-module-icon{background:var(--surface-card)}.tb-tile .tb-tile-title a,.tb-module-title a{color:var(--text);text-decoration:none}.tb-tile .tb-tile-title a:hover,.tb-module-title a:hover{text-decoration:underline;text-underline-offset:3px}.tb-tile .tb-tile-title a:focus-visible,.tb-module-title a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.tb-publisher{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-muted)}.tb-publisher svg{color:var(--primary-text)}.tb-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--text-2)}.tb-tile-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.tb-tile--feature .tb-tile-foot{border-top-color:var(--border-subtle)}.tb-price{color:var(--text)}.tb-price small{color:var(--text-muted)}.tb-spacer{flex:1}.tb-cats{display:flex;gap:var(--space-2);flex-wrap:wrap}.tb-cat{height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border-control);background:var(--surface-card);color:var(--text-2);cursor:pointer;font-family:inherit}.tb-cat:hover{background:var(--row-hover)}.tb-cat[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tb-cat:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.tb-seg{display:inline-flex;border:1px solid var(--border-control);border-radius:var(--radius-md);overflow:hidden;height:var(--control-sm)}.tb-seg button{background:transparent;border:0;color:var(--text-2);width:var(--control-sm);display:grid;place-content:center;cursor:pointer}.tb-seg button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.tb-seg button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.tb-toolbar{display:flex;gap:var(--space-2-5);align-items:center;flex-wrap:wrap}.tb-toolbar .tb-search{flex:1 1 260px;max-width:420px}.tb-toolbar .tb-select{width:200px;max-width:100%}.tb-perms{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.tb-perms li{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-card)}.tb-perms li:last-child{border-bottom:0}.tb-perms li>.tb-icon{margin-top:2px;color:var(--text-muted)}.tb-perms .tb-grow{flex:1;min-width:0}.tb-perms small{display:block;color:var(--text-muted)}.tb-perms li[data-new=true]{background:var(--warning-tint)}.tb-facts{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3) var(--space-4);margin:0}.tb-facts dt{color:var(--text-muted)}.tb-facts dd{margin:0;color:var(--text);min-width:0}.tb-list{margin:0;padding-inline-start:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);color:var(--text-2)}.tb-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-6);align-items:start}@media(max-width:1024px){.tb-cols{grid-template-columns:minmax(0,1fr)}}.tb-hero{display:flex;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap}.tb-hero .tb-module-icon{width:var(--control-lg);height:var(--control-lg)}.tb-req{display:flex;gap:var(--space-2);align-items:flex-start}.tb-req svg{flex:none;margin-top:2px}.tb-req[data-ok=true] svg{color:var(--success-text)}.tb-req[data-ok=false] svg{color:var(--warning-text)}.tb-danger-zone{border:1px solid var(--danger);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap;background:var(--surface-card)}.tb-danger-zone .tb-grow{flex:1;min-width:220px}.tb-progress{height:8px;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);overflow:hidden}.tb-progress>span{display:block;height:100%;background:var(--primary);width:0;transition:width .2s linear}@media(prefers-reduced-motion:reduce){.tb-progress>span{transition:none}}.tb-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.tb-plan{position:relative;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-control);border-radius:var(--radius-lg);cursor:pointer}.tb-plan input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.tb-plan:hover{background:var(--row-hover)}.tb-plan:has(input:checked){border-color:var(--primary);background:var(--primary-tint);box-shadow:inset 0 0 0 1px var(--primary)}.tb-plan:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.tb-plan .tb-plan-name,.tb-plan .tb-plan-price{color:var(--text)}.tb-plan small{color:var(--text-muted)}.tb-plan:has(input:checked) small{color:var(--text-2)}.tb-summary{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.tb-summary>div{display:flex;justify-content:space-between;gap:var(--space-4);color:var(--text-2)}.tb-summary>div:last-child{border-top:1px solid var(--border-subtle);padding-top:var(--space-2);color:var(--text)}.tb-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin:0;border:2px solid var(--border-control);border-radius:50%;background:var(--surface-panel);display:inline-grid;place-content:center;cursor:pointer;flex:none}.tb-radio:checked{border-color:var(--primary)}.tb-radio:checked:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary)}.tb-radio:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.tb-choice{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid var(--border-control);border-radius:var(--radius-lg);background:var(--surface-card);cursor:pointer}.tb-choice:hover{background:var(--row-hover)}.tb-choice small{display:block;color:var(--text-muted)}html,body{margin:0;min-height:100%}body{font-family:var(--font-sans)}.tb-app{min-height:100vh;display:flex;flex-direction:column}.tb-shell{display:grid;grid-template-columns:auto minmax(0,1fr);flex:1}.tb-topbar{position:sticky;top:0;z-index:var(--z-topbar);height:var(--topbar-h);display:flex;align-items:center;gap:var(--space-3);padding-inline:var(--space-4);background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.tb-topbar-logo{display:inline-flex}.tb-topbar-spacer{flex:1}.tb-tenant{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.tb-tenant-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.tb-monogram{width:24px;height:24px;border-radius:var(--radius-sm);display:inline-grid;place-items:center;background:var(--accent-tint);color:var(--accent-text);font-weight:600}.tb-avatar{width:var(--avatar);height:var(--avatar);border-radius:var(--radius-pill);display:inline-grid;place-items:center;background:var(--primary-tint);color:var(--primary-text)}.tb-page{padding:var(--space-6);display:grid;gap:var(--space-6);align-content:start;min-width:0}.tb-page-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.tb-block{display:grid;gap:var(--space-3);padding:var(--space-4)}.tb-block-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.tb-block-actions{display:flex;gap:var(--space-2);align-items:center}.tb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.tb-kpi{display:grid;gap:var(--space-1);padding:var(--space-4);color:inherit;text-decoration:none}.tb-bars{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.tb-bars li{display:grid;grid-template-columns:minmax(120px,220px) 1fr auto;gap:var(--space-3);align-items:center}.tb-bar-track{height:var(--space-2);background:var(--surface-panel);border-radius:var(--radius-pill);overflow:hidden}.tb-bar-fill{display:block;height:100%;background:var(--chart-1);border-radius:var(--radius-pill)}.tb-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end}.tb-chip.is-on{background:var(--primary-tint);color:var(--primary-text)}.tb-table-wrap{overflow-x:auto}.tb-table td.tb-end,.tb-table th.tb-end{text-align:end}.tb-table td.tb-mono{font-family:var(--font-mono)}.tb-table-foot{padding-top:var(--space-2)}.tb-num{font-variant-numeric:tabular-nums}.tb-mono{font-family:var(--font-mono)}.tb-break{word-break:break-all}.tb-muted{color:var(--text-muted)}.tb-help{display:block}.tb-form{display:grid;gap:var(--space-4);max-width:480px}.tb-json{font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;margin:var(--space-2) 0 0}.tb-device-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.tb-player-screen{aspect-ratio:16 / 9;display:grid;place-items:center;background:var(--map-land);border-radius:var(--radius-lg)}.tb-login{min-height:100vh;display:grid;place-items:center;padding:var(--space-6)}.tb-login-card{width:min(420px,100%);display:grid;gap:var(--space-5);padding:var(--space-8)}.tb-login-head{display:flex;align-items:center;justify-content:space-between}@media(max-width:768px){.tb-shell{grid-template-columns:minmax(0,1fr)}.tb-rail{display:none}.tb-page{padding:var(--space-4)}}
