@font-face{font-family:Geist;src:url(/fonts/geist-sans-var.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-var.woff2)format("woff2");font-weight:100 900;font-display:swap}:root[data-ui=shadcn],:root[data-ui=shadcn] .app,:root[data-ui=shadcn] [data-theme=light]{--sc-background:#fff;--sc-foreground:#09090b;--sc-card:#fff;--sc-popover:#fff;--sc-muted:#eef3f3;--sc-muted-foreground:#6b6b74;--sc-hover:#eef4f4;--sc-border:#dde3e3;--sc-control:#8e8e97;--sc-control-fill:#fff;--sc-ring:#71717a;--sc-primary:var(--platform-accent,#008184);--sc-on-primary:var(--platform-on-accent,#fff);--sc-destructive:#dc2626;--sc-on-destructive:#fff;--sc-sidebar:#ecf2f2;--sc-thumb:#fff;--sc-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--sc-shadow-xs:0 1px 2px 0 #0000000d;--sc-shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--sc-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--sc-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--sc-ring-halo:0 0 0 3px color-mix(in srgb, var(--sc-ring) 35%, transparent);--paper:#f4f8f8;--paper-2:#ecf2f2;--paper-3:#dde3e3;--surface:#fff;--white:#fff;--ink:#09090b;--ink-2:#3f3f46;--muted:#6b6b74;--rule:#dde3e3;--rule-strong:#cbd5d5;--field-border:#8e8e97;--link:var(--platform-accent,#008184);--accent:var(--platform-accent,#008184);--accent-bg:color-mix(in srgb, var(--platform-accent,#008184) 10%, #fff);--ok:#15803d;--ok-bg:#f0fdf4;--warn:#b45309;--warn-bg:#fffbeb;--danger:#b91c1c;--danger-bg:#fef2f2;--info:#1d4ed8;--info-bg:#eff6ff;--neutral-bg:#eef3f3;--code-bg:#18181b;--code-fg:#f4f4f5;--code-muted:#a1a1aa;--chart-line:var(--platform-accent,#008184);--chart-band:color-mix(in srgb, var(--platform-accent,#008184) 14%, transparent);--on-ink:#fff;--ink-hover:color-mix(in srgb, var(--platform-accent,#008184) 90%, #000);--row-hover:#f4f8f8;--shade:0 0 0;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:8px;--radius-sm:6px;--shell-accent:var(--platform-accent,#008184);--shell-on:var(--platform-on-accent,#fff);--shell-bg:#ecf2f2;--shell-main:#fff;--shell-ink:#09090b;--shell-muted:#6b6b74;--shell-line:#dde3e3;--shell-hover:#dce9e9;--shell-pill:#bcdcdb;--shell-menu:#fff}:root[data-ui=shadcn]:where([data-theme=dark]),:root[data-ui=shadcn]:where([data-theme=dark]) .app,:root[data-ui=shadcn] [data-theme=dark]{--sc-background:#232b2e;--sc-foreground:#fafafa;--sc-card:#232b2e;--sc-popover:#2a3438;--sc-muted:#2b3539;--sc-muted-foreground:#a1a1aa;--sc-hover:#24363a;--sc-border:#ffffff1a;--sc-control:#686872;--sc-control-fill:#ffffff0b;--sc-ring:#a1a1aa;--sc-destructive:#dc2626;--sc-sidebar:#161e21;--sc-thumb:#fafafa;--sc-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--sc-shadow-xs:0 1px 2px 0 #0000004d;--sc-shadow-sm:0 1px 3px 0 #0006, 0 1px 2px -1px #0006;--sc-shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006;--sc-shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--paper:#1c2427;--paper-2:#2a3438;--paper-3:#33404a;--surface:#232b2e;--white:#18181b;--ink:#fafafa;--ink-2:#d4d4d8;--muted:#a1a1aa;--rule:#ffffff1a;--rule-strong:#ffffff29;--field-border:#686872;--accent-bg:color-mix(in srgb, var(--platform-accent,#008184) 16%, #09090b);--ok:#4ade80;--ok-bg:#4ade801a;--warn:#fbbf24;--warn-bg:#fbbf241a;--danger:#f87171;--danger-bg:#f871711a;--info:#60a5fa;--info-bg:#60a5fa1a;--neutral-bg:#2b3539;--code-bg:#18181b;--code-fg:#f4f4f5;--code-muted:#a1a1aa;--chart-band:color-mix(in srgb, var(--platform-accent,#008184) 20%, transparent);--on-ink:#09090b;--ink-hover:color-mix(in srgb, var(--platform-accent,#008184) 90%, #fff);--row-hover:#ffffff08;--shell-bg:#161e21;--shell-main:#232b2e;--shell-ink:#fafafa;--shell-muted:#a1a1aa;--shell-line:#ffffff1a;--shell-hover:#1f2c30;--shell-pill:#1b3e44;--shell-menu:#2a3438}:root[data-ui=shadcn]{--sc-icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--sc-icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");--sc-icon-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");--sc-icon-success:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");--sc-icon-warning:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");--sc-icon-error:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E");--sc-icon-chevron-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}:root[data-ui=shadcn] body{font-feature-settings:"rlig" 1, "calt" 1;font-size:14px}:root[data-ui=shadcn] h1,:root[data-ui=shadcn] h2,:root[data-ui=shadcn] h3{letter-spacing:-.01em;font-weight:600}:root[data-ui=shadcn] :focus-visible{outline:2px solid var(--sc-ring);outline-offset:2px}:root[data-ui=shadcn] code{background:var(--sc-muted);border:0;border-radius:4px;padding:.15em .35em;font-size:.85em}:root[data-ui=shadcn] pre code{background:0 0;padding:0}:root[data-ui=shadcn] .code-block{border:1px solid var(--sc-border);border-radius:10px;padding:14px 16px;font-size:.8125rem}:root[data-ui=shadcn] .app{font-size:.875rem}:root[data-ui=shadcn] .sidebar{background:var(--shell-bg)}:root[data-ui=shadcn] .topbar{background:var(--shell-main)}:root[data-ui=shadcn] .side-user{border-radius:8px;min-height:48px;padding:8px}:root[data-ui=shadcn] .side-user .avatar{width:32px;height:32px;box-shadow:none;background:var(--sc-muted);color:var(--sc-foreground);border-radius:8px;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .side-user-text strong{font-size:.875rem;font-weight:600}:root[data-ui=shadcn] .side-user-text span{font-size:.75rem}:root[data-ui=shadcn] .nav-label,:root[data-ui=shadcn] .scope-section .nav-label{min-height:32px;color:var(--shell-muted);letter-spacing:0;text-transform:none;border-radius:8px;margin:0;padding:0 8px;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .nav-label:hover{color:var(--shell-ink)}:root[data-ui=shadcn] .nav-item{border-radius:8px;gap:8px;min-height:32px;padding:0 8px;font-size:.875rem}:root[data-ui=shadcn] .nav-item[aria-current=page]{background:var(--shell-pill);font-weight:500}:root[data-ui=shadcn] .nav-item svg,:root[data-ui=shadcn] .nav-item[aria-current=page] svg{color:inherit}:root[data-ui=shadcn] .nav-item .count,:root[data-ui=shadcn] .nav-item[aria-current=page] .count{color:var(--shell-muted);font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .scope-plus{border-radius:4px}:root[data-ui=shadcn] .side-scope{border-bottom-color:var(--shell-line)}:root[data-ui=shadcn] .side-switch{border-radius:8px}:root[data-ui=shadcn] .side-switch-name{font-size:.875rem}:root[data-ui=shadcn] .side-switch-meta{font-size:.75rem}:root[data-ui=shadcn] .tile{border-radius:6px}:root[data-ui=shadcn] .tile-lg{border-radius:8px;width:32px;height:32px}:root[data-ui=shadcn] .sidebar .plan-card{border:1px solid var(--shell-line);background:var(--sc-card);box-shadow:var(--sc-shadow-sm);border-radius:10px}:root[data-ui=shadcn] .sidebar .plan-card strong{font-size:.875rem;font-weight:600}:root[data-ui=shadcn] .plan-grid .plan-card{border:1px solid var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-sm);border-radius:12px;gap:8px;margin-top:0;padding:20px}:root[data-ui=shadcn] .plan-grid .plan-card.current{border-color:var(--sc-primary);box-shadow:0 0 0 1px var(--sc-primary), var(--sc-shadow-sm)}:root[data-ui=shadcn] .plan-grid .plan-card h3{font-size:1rem;font-weight:600}:root[data-ui=shadcn] .plan-grid .plan-price{letter-spacing:-.02em;font-size:1.5rem;font-weight:600}:root[data-ui=shadcn] .plan-grid .plan-limits{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .plan-grid .plan-limits strong{font-size:inherit;margin:0;font-weight:600;display:inline}:root[data-ui=shadcn] .plan-btn{letter-spacing:0;text-transform:none;border-radius:8px;min-height:32px;padding:0 12px;font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .plan-btn:hover{filter:none;background:color-mix(in srgb, var(--shell-accent) 90%, transparent)}:root[data-ui=shadcn] .side-help{border-radius:6px}:root[data-ui=shadcn] .fleet-card{border-left-color:var(--sc-border)}:root[data-ui=shadcn] .fleet-card:hover{background:var(--header-hover,var(--sc-hover))}:root[data-ui=shadcn] .fleet-card strong{font-size:.875rem;font-weight:600}:root[data-ui=shadcn] .fleet-pill{background:var(--sc-muted);color:var(--sc-foreground);border-radius:6px;padding:1px 8px;font-weight:500}:root[data-ui=shadcn] .ctx-btn{border-radius:8px}:root[data-ui=shadcn] .ctx-btn:hover,:root[data-ui=shadcn] .ctx-btn[aria-expanded=true]{background:var(--header-hover,var(--sc-hover))}:root[data-ui=shadcn] .ctx-tag{background:var(--sc-muted);font-family:var(--sans);border-radius:6px;font-size:.7rem}:root[data-ui=shadcn] .user-btn{border-color:var(--sc-border);box-shadow:var(--sc-shadow-xs)}:root[data-ui=shadcn] .crumbs{font-size:.875rem}:root[data-ui=shadcn] .crumbs ol{gap:6px}:root[data-ui=shadcn] .crumbs li+li:before{content:"";background:var(--sc-muted-foreground);width:14px;height:14px;-webkit-mask:var(--sc-icon-chevron-right) center / contain no-repeat;-webkit-mask:var(--sc-icon-chevron-right) center / contain no-repeat;mask:var(--sc-icon-chevron-right) center / contain no-repeat;flex:none;margin-right:6px}:root[data-ui=shadcn] .crumbs a{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .crumbs a:hover{color:var(--sc-foreground);text-decoration:none}:root[data-ui=shadcn] .crumbs [aria-current=page]{color:var(--sc-foreground);font-weight:400}:root[data-ui=shadcn] .theme-switch{border:1px solid var(--sc-border);background:var(--sc-background);box-shadow:var(--sc-shadow-xs);border-radius:8px;gap:0;padding:2px}:root[data-ui=shadcn] .theme-switch button{width:26px;height:26px;color:var(--sc-muted-foreground);border-radius:6px}:root[data-ui=shadcn] .theme-switch button:hover{background:var(--sc-hover);color:var(--sc-foreground)}:root[data-ui=shadcn] .theme-switch button[aria-pressed=true]{background:var(--sc-muted);box-shadow:none;color:var(--sc-foreground)}:root[data-ui=shadcn] .btn{border:1px solid var(--sc-border);background:var(--sc-background);min-height:36px;color:var(--sc-foreground);box-shadow:var(--sc-shadow-xs);border-radius:8px;gap:8px;padding:0 16px;font-size:.875rem;font-weight:500;line-height:1.25;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}:root[data-ui=shadcn][data-theme=dark] .btn{background:#ffffff0b;border-color:#ffffff26}:root[data-ui=shadcn] .btn:hover:not(:disabled){border-color:var(--sc-border);background:var(--btn-hover,var(--sc-hover))}:root[data-ui=shadcn][data-theme=dark] .btn:hover:not(:disabled){background:var(--btn-hover,#ffffff14);border-color:#ffffff26}:root[data-ui=shadcn] .btn:focus-visible{border-color:var(--sc-ring);box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .btn:disabled{cursor:not-allowed;opacity:.5}:root[data-ui=shadcn] .btn.primary,:root[data-ui=shadcn][data-theme=dark] .btn.primary{background:var(--sc-primary);color:var(--sc-on-primary);border-color:#0000}:root[data-ui=shadcn] .btn.primary:hover:not(:disabled),:root[data-ui=shadcn][data-theme=dark] .btn.primary:hover:not(:disabled){background:var(--primary-hover,color-mix(in srgb, var(--sc-primary) 90%, transparent));border-color:#0000}:root[data-ui=shadcn] .btn.danger,:root[data-ui=shadcn][data-theme=dark] .btn.danger,:root[data-ui=shadcn] .app .danger-zone>.card .btn.danger{background:var(--sc-destructive);color:var(--sc-on-destructive);border-color:#0000}:root[data-ui=shadcn] .btn.danger:hover:not(:disabled),:root[data-ui=shadcn][data-theme=dark] .btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--sc-destructive) 90%, transparent);border-color:#0000}:root[data-ui=shadcn] .btn.danger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--sc-destructive) 30%, transparent)}:root[data-ui=shadcn] .btn.ghost,:root[data-ui=shadcn][data-theme=dark] .btn.ghost{box-shadow:none;background:0 0;border-color:#0000}:root[data-ui=shadcn] .btn.ghost:hover:not(:disabled),:root[data-ui=shadcn][data-theme=dark] .btn.ghost:hover:not(:disabled){background:var(--btn-hover,var(--sc-hover));border-color:#0000}:root[data-ui=shadcn] .btn.small{gap:6px;min-height:32px;padding:0 12px;font-size:.875rem}:root[data-ui=shadcn] .btn[aria-label]:has(>svg:only-child){min-width:36px;padding-inline:10px}:root[data-ui=shadcn] .btn.small[aria-label]:has(>svg:only-child){min-width:32px;padding-inline:8px}:root[data-ui=shadcn] :is(td,.device-actions) .btn.danger,:root[data-ui=shadcn][data-theme=dark] :is(td,.device-actions) .btn.danger{border-color:var(--sc-border);background:var(--sc-background);color:var(--danger)}:root[data-ui=shadcn] :is(td,.device-actions) .btn.danger:hover:not(:disabled),:root[data-ui=shadcn][data-theme=dark] :is(td,.device-actions) .btn.danger:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger) 30%, var(--sc-border));background:var(--danger-bg)}:root[data-ui=shadcn] .btn svg{flex:none;width:16px;height:16px}:root[data-ui=shadcn] .btn[aria-busy=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite sc-spin}:root[data-ui=shadcn] .btn.block{width:100%}:root[data-ui=shadcn] .create-btn{min-height:32px;padding:0 12px}:root[data-ui=shadcn] .chip{border:1px solid var(--sc-border);background:var(--sc-background);min-height:28px;color:var(--sc-foreground);box-shadow:var(--sc-shadow-xs);border-radius:8px;gap:6px;padding:0 10px;font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .chip:hover{border-color:var(--sc-border);background:var(--btn-hover,var(--sc-hover))}:root[data-ui=shadcn] .chip svg{flex:none;width:14px;height:14px}:root[data-ui=shadcn] .badge{border:1px solid var(--sc-border);background:var(--sc-card);color:var(--sc-foreground);border-radius:6px;gap:5px;padding:1px 7px;font-size:.75rem;font-weight:500;line-height:1.4}:root[data-ui=shadcn] .badge .dot{width:6px;height:6px}:root[data-ui=shadcn] .badge svg{width:12px;height:12px}:root[data-ui=shadcn] .badge.success{border-color:var(--sc-border);background:var(--sc-card);color:var(--ok)}:root[data-ui=shadcn] .badge.warning{border-color:var(--sc-border);background:var(--sc-card);color:var(--warn)}:root[data-ui=shadcn] .badge.danger{border-color:var(--sc-border);background:var(--sc-card);color:var(--danger)}:root[data-ui=shadcn] .badge.info{border-color:var(--sc-border);background:var(--sc-card);color:var(--info)}:root[data-ui=shadcn] .badge.role,:root[data-ui=shadcn] .badge.connectivity,:root[data-ui=shadcn] .badge.toolchain{border-color:var(--sc-border);color:var(--sc-foreground);background:0 0}:root[data-ui=shadcn] .badge.role{font-family:var(--sans)}:root[data-ui=shadcn] .count-badge{background:var(--sc-primary);color:var(--sc-on-primary);font-family:var(--sans);border-radius:6px;font-weight:500}:root[data-ui=shadcn] .alert{border:1px solid var(--sc-border);background:var(--sc-card);color:var(--sc-foreground);border-radius:10px;padding:12px 16px 12px 44px;font-size:.875rem;line-height:1.45;position:relative}:root[data-ui=shadcn] .alert:before{content:"";width:16px;height:16px;-webkit-mask:var(--sc-icon-info) center / contain no-repeat;-webkit-mask:var(--sc-icon-info) center / contain no-repeat;mask:var(--sc-icon-info) center / contain no-repeat;background:currentColor;position:absolute;top:14px;left:16px}:root[data-ui=shadcn] .alert.info{border-color:var(--sc-border);background:var(--sc-card);color:var(--sc-foreground)}:root[data-ui=shadcn] .alert.success{border-color:var(--sc-border);background:var(--sc-card);color:var(--ok)}:root[data-ui=shadcn] .alert.success:before{-webkit-mask-image:var(--sc-icon-success);-webkit-mask-image:var(--sc-icon-success);mask-image:var(--sc-icon-success)}:root[data-ui=shadcn] .alert.warning{border-color:color-mix(in srgb, var(--warn) 30%, var(--sc-border));background:var(--sc-card);color:var(--warn)}:root[data-ui=shadcn] .alert.warning:before{-webkit-mask-image:var(--sc-icon-warning);-webkit-mask-image:var(--sc-icon-warning);mask-image:var(--sc-icon-warning)}:root[data-ui=shadcn] .account-notices .alert{border-color:var(--sc-border);color:var(--sc-foreground);padding-top:10px;padding-bottom:10px;font-size:.8125rem}:root[data-ui=shadcn] .account-notices .alert:before{top:12px}:root[data-ui=shadcn] .account-notices .alert.warning:before{background:var(--warn)}:root[data-ui=shadcn] .alert.error{border-color:color-mix(in srgb, var(--danger) 30%, var(--sc-border));background:var(--sc-card);color:var(--danger)}:root[data-ui=shadcn] .alert.error:before{-webkit-mask-image:var(--sc-icon-error);-webkit-mask-image:var(--sc-icon-error);mask-image:var(--sc-icon-error)}:root[data-ui=shadcn] .alert a{color:inherit;text-underline-offset:3px;font-weight:500;text-decoration:underline}:root[data-ui=shadcn] .platform-notice{border:1px solid var(--sc-border);background:var(--sc-card);color:var(--sc-foreground);border-radius:10px;align-items:center;gap:4px 10px;padding:12px 16px;font-size:.875rem}:root[data-ui=shadcn] .platform-notice:before{content:"";background:var(--sc-primary);width:16px;height:16px;-webkit-mask:var(--sc-icon-info) center / contain no-repeat;-webkit-mask:var(--sc-icon-info) center / contain no-repeat;mask:var(--sc-icon-info) center / contain no-repeat;flex:none;align-self:center}:root[data-ui=shadcn] .platform-notice.warning{border-color:color-mix(in srgb, var(--warn) 30%, var(--sc-border));background:var(--sc-card)}:root[data-ui=shadcn] .platform-notice.warning:before{background:var(--warn);-webkit-mask-image:var(--sc-icon-warning);-webkit-mask-image:var(--sc-icon-warning);mask-image:var(--sc-icon-warning)}:root[data-ui=shadcn] .platform-notice.critical{border-color:color-mix(in srgb, var(--danger) 30%, var(--sc-border));background:var(--sc-card)}:root[data-ui=shadcn] .platform-notice.critical:before{background:var(--danger);-webkit-mask-image:var(--sc-icon-error);-webkit-mask-image:var(--sc-icon-error);mask-image:var(--sc-icon-error)}:root[data-ui=shadcn] .platform-notice strong{font-weight:600}:root[data-ui=shadcn] .platform-notice a{color:var(--sc-foreground);text-underline-offset:3px;font-weight:500;text-decoration:underline}:root[data-ui=shadcn] .support-banner{font-size:.875rem}:root[data-ui=shadcn] .support-banner button{border-radius:6px}:root[data-ui=shadcn] .toast,:root[data-ui=shadcn] .toast.success,:root[data-ui=shadcn] .toast.warning,:root[data-ui=shadcn] .toast.error,:root[data-ui=shadcn] .toast.info,:root[data-ui=shadcn] .toast.progress{border:1px solid var(--sc-border);background:var(--sc-popover);color:var(--sc-foreground);box-shadow:var(--sc-shadow-lg);border-radius:10px;gap:10px;padding:14px 10px 14px 16px}:root[data-ui=shadcn] .toast .toast-mark,:root[data-ui=shadcn] .toast.success .toast-mark,:root[data-ui=shadcn] .toast.warning .toast-mark,:root[data-ui=shadcn] .toast.error .toast-mark,:root[data-ui=shadcn] .toast.info .toast-mark,:root[data-ui=shadcn] .toast.progress .toast-mark{background:0 0;width:16px;height:16px;margin-top:2px}:root[data-ui=shadcn] .toast.success .toast-mark{color:var(--ok)}:root[data-ui=shadcn] .toast.warning .toast-mark{color:var(--warn)}:root[data-ui=shadcn] .toast.error .toast-mark{color:var(--danger)}:root[data-ui=shadcn] .toast.info .toast-mark,:root[data-ui=shadcn] .toast.progress .toast-mark{color:var(--sc-foreground)}:root[data-ui=shadcn] .toast:not(.progress) .toast-mark{font-size:0}:root[data-ui=shadcn] .toast:not(.progress) .toast-mark svg{display:none}:root[data-ui=shadcn] .toast:not(.progress) .toast-mark:before{content:"";width:16px;height:16px;-webkit-mask:var(--sc-icon-info) center / contain no-repeat;-webkit-mask:var(--sc-icon-info) center / contain no-repeat;mask:var(--sc-icon-info) center / contain no-repeat;background:currentColor}:root[data-ui=shadcn] .toast.success .toast-mark:before{-webkit-mask-image:var(--sc-icon-success);-webkit-mask-image:var(--sc-icon-success);mask-image:var(--sc-icon-success)}:root[data-ui=shadcn] .toast.warning .toast-mark:before{-webkit-mask-image:var(--sc-icon-warning);-webkit-mask-image:var(--sc-icon-warning);mask-image:var(--sc-icon-warning)}:root[data-ui=shadcn] .toast.error .toast-mark:before{-webkit-mask-image:var(--sc-icon-error);-webkit-mask-image:var(--sc-icon-error);mask-image:var(--sc-icon-error)}:root[data-ui=shadcn] .toast-title{font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .toast-message{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .toast-action{font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .toast-close{border-radius:6px}:root[data-ui=shadcn] .toast-close:hover,:root[data-ui=shadcn] .toast-close:focus-visible{background:var(--sc-hover)}:root[data-ui=shadcn] .page-header h1{letter-spacing:-.025em;font-size:1.5rem;font-weight:600;line-height:1.2}:root[data-ui=shadcn] .page-header .kicker{color:var(--sc-muted-foreground);font-family:var(--sans);font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .page-header p.lede{max-width:68ch;color:var(--sc-muted-foreground);font-size:.875rem}:root[data-ui=shadcn] .project-hero .project-mark{display:none}:root[data-ui=shadcn] .project-identity h1{letter-spacing:-.025em;font-size:1.5rem}:root[data-ui=shadcn] .project-identity p{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] :is(td,th[scope=row]) a:not(.btn):not(.chip){color:var(--sc-foreground);font-weight:500;text-decoration:none}:root[data-ui=shadcn] :is(td,th[scope=row]) a:not(.btn):not(.chip):hover{text-underline-offset:3px;text-decoration:underline}:root[data-ui=shadcn] .muted{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .small{font-size:.8125rem}:root[data-ui=shadcn] .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card){border:1px solid var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-xs);border-radius:10px;gap:20px;padding:24px}:root[data-ui=shadcn] .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card)>.card-header{border-bottom:0;padding-bottom:0}:root[data-ui=shadcn] .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card)>.card-header h2{font-size:1rem;line-height:1.25}:root[data-ui=shadcn] .card-header p{color:var(--sc-muted-foreground);font-size:.875rem}:root[data-ui=shadcn] .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card) .card-foot{border-top:1px solid var(--sc-border);background:0 0;margin:0 -24px -24px;padding:16px 24px;font-size:.875rem}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card{border-top-color:var(--sc-border)}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card>.card-header h2{font-size:1rem;font-weight:600}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card>.card-header p{font-size:.875rem}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card .card-actions .btn:not(.primary):not(.danger){border-color:var(--sc-border);background:var(--sc-background);color:var(--sc-foreground)}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card .card-actions .btn:not(.primary):not(.danger):hover:not(:disabled){background:var(--btn-hover,var(--sc-hover))}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card .card-body>.table-wrap thead th{color:var(--sc-foreground);letter-spacing:0;text-transform:none;font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card .kv>:is(dt,dd){border-bottom-color:var(--sc-border)}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card .kv>dt{font-weight:500}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card:has(.chart,.bars,.plot,.tabs,.plan-grid,.trend-grid,.usage-meters,.spend-summary){grid-template-columns:minmax(0,1fr) auto}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card:has(.chart,.bars,.plot,.tabs,.plan-grid,.trend-grid,.usage-meters,.spend-summary)>.card-header>.card-actions{grid-column:2}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card:has(.chart,.bars,.plot,.tabs,.plan-grid,.trend-grid,.usage-meters,.spend-summary)>.card-body{grid-area:2/1/auto/-1}:root[data-ui=shadcn] .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card)>.card-body>.table-wrap{border:0;border-top:1px solid var(--sc-border);background:0 0;border-radius:0;margin:0 -24px}:root[data-ui=shadcn] .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card)>.card-body>.table-wrap:last-child{border-radius:0 0 10px 10px;margin-bottom:-24px}:root[data-ui=shadcn] td.ua{max-width:12rem;color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .stats{border:1px solid var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-xs);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;overflow:hidden}:root[data-ui=shadcn] .stats>.stat,:root[data-ui=shadcn] .stats>.stat:first-child{border:0;border-left:1px solid var(--sc-border);box-shadow:none;background:0 0;border-radius:0;margin:0 0 0 -1px;padding:16px 20px}:root[data-ui=shadcn] .stat-label{color:var(--sc-muted-foreground);font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin-top:4px;font-size:1.5rem;font-weight:600}:root[data-ui=shadcn] .stat-note{margin-top:6px;font-size:.8125rem}:root[data-ui=shadcn] .kv{font-size:.875rem}:root[data-ui=shadcn] .kv dt{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .setting-row{border-top-color:var(--sc-border)}:root[data-ui=shadcn] .setting-row label{font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .empty{border:1px dashed var(--sc-border);color:var(--sc-muted-foreground);border-radius:10px;padding:32px 24px;font-size:.875rem}:root[data-ui=shadcn][data-theme=dark] .empty{border-color:#ffffff29}:root[data-ui=shadcn] .avatar{background:var(--sc-muted);color:var(--sc-foreground);font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .field{gap:8px}:root[data-ui=shadcn] .field label,:root[data-ui=shadcn] .field>.label{color:var(--sc-foreground);font-size:.875rem;font-weight:500;line-height:1.2}:root[data-ui=shadcn] .field .hint,:root[data-ui=shadcn] .field>.muted.small{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .field-error,:root[data-ui=shadcn] .field .hint.issue{color:var(--danger);font-size:.8125rem}:root[data-ui=shadcn] input[type=text],:root[data-ui=shadcn] input[type=email],:root[data-ui=shadcn] input[type=password],:root[data-ui=shadcn] input[type=search],:root[data-ui=shadcn] input[type=date],:root[data-ui=shadcn] input[type=number],:root[data-ui=shadcn] input[type=time],:root[data-ui=shadcn] input[type=datetime-local],:root[data-ui=shadcn] input[type=url],:root[data-ui=shadcn] input[type=tel],:root[data-ui=shadcn] input:not([type]),:root[data-ui=shadcn] select,:root[data-ui=shadcn] textarea{border:1px solid var(--sc-control);background-color:var(--sc-control-fill);min-height:36px;color:var(--sc-foreground);box-shadow:var(--sc-shadow-xs);border-radius:8px;padding:4px 12px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}:root[data-ui=shadcn] textarea{min-height:64px;padding:8px 12px}:root[data-ui=shadcn] select:not([multiple]){appearance:none;background-image:var(--sc-chevron);background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:34px}:root[data-ui=shadcn] select option,:root[data-ui=shadcn] select optgroup{background-color:var(--sc-popover);color:var(--sc-foreground)}:root[data-ui=shadcn] select option:disabled{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] input::placeholder,:root[data-ui=shadcn] textarea::placeholder{color:var(--sc-muted-foreground);opacity:1}:root[data-ui=shadcn] input[type=text]:focus-visible,:root[data-ui=shadcn] input[type=email]:focus-visible,:root[data-ui=shadcn] input[type=password]:focus-visible,:root[data-ui=shadcn] input[type=search]:focus-visible,:root[data-ui=shadcn] input[type=date]:focus-visible,:root[data-ui=shadcn] input[type=number]:focus-visible,:root[data-ui=shadcn] input[type=time]:focus-visible,:root[data-ui=shadcn] input[type=datetime-local]:focus-visible,:root[data-ui=shadcn] input[type=url]:focus-visible,:root[data-ui=shadcn] input[type=tel]:focus-visible,:root[data-ui=shadcn] input:not([type]):focus-visible,:root[data-ui=shadcn] select:focus-visible,:root[data-ui=shadcn] textarea:focus-visible{border-color:var(--sc-ring);box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] input[aria-invalid=true],:root[data-ui=shadcn] select[aria-invalid=true],:root[data-ui=shadcn] textarea[aria-invalid=true]{border-color:var(--sc-destructive)}:root[data-ui=shadcn] input[aria-invalid=true]:focus-visible,:root[data-ui=shadcn] select[aria-invalid=true]:focus-visible,:root[data-ui=shadcn] textarea[aria-invalid=true]:focus-visible{border-color:var(--sc-destructive);box-shadow:0 0 0 3px color-mix(in srgb, var(--sc-destructive) 20%, transparent)}:root[data-ui=shadcn] input:disabled,:root[data-ui=shadcn] select:disabled,:root[data-ui=shadcn] textarea:disabled{cursor:not-allowed;opacity:.5}:root[data-ui=shadcn] input[type=color]{border:1px solid var(--sc-control);background:var(--sc-control-fill);width:56px;height:36px;box-shadow:var(--sc-shadow-xs);cursor:pointer;border-radius:8px;padding:3px}:root[data-ui=shadcn] input[type=color]::-webkit-color-swatch-wrapper{padding:0}:root[data-ui=shadcn] input[type=color]::-webkit-color-swatch{border:0;border-radius:5px}:root[data-ui=shadcn] input[type=color]::-moz-color-swatch{border:0;border-radius:5px}:root[data-ui=shadcn] input[type=checkbox]:not([role=switch]),:root[data-ui=shadcn] .check-row input[type=checkbox]:not([role=switch]),:root[data-ui=shadcn] .setting-row input[type=checkbox]:not([role=switch]){border:1px solid var(--sc-control);background:var(--sc-control-fill);width:16px;height:16px;box-shadow:var(--sc-shadow-xs);appearance:none;cursor:pointer;border-radius:4px;flex:none;place-content:center;margin:0;display:inline-grid}:root[data-ui=shadcn] input[type=checkbox]:not([role=switch]):before{content:"";background:var(--sc-on-primary);width:12px;height:12px;-webkit-mask:var(--sc-icon-check) center / contain no-repeat;-webkit-mask:var(--sc-icon-check) center / contain no-repeat;mask:var(--sc-icon-check) center / contain no-repeat;transition:transform .1s ease-out;transform:scale(0)}:root[data-ui=shadcn] input[type=checkbox]:not([role=switch]):is(:checked,:indeterminate){border-color:var(--sc-primary);background:var(--sc-primary)}:root[data-ui=shadcn] input[type=checkbox]:not([role=switch]):is(:checked,:indeterminate):before{transform:scale(1)}:root[data-ui=shadcn] input[type=checkbox]:not([role=switch]):indeterminate:before{-webkit-mask-image:var(--sc-icon-minus);-webkit-mask-image:var(--sc-icon-minus);mask-image:var(--sc-icon-minus)}:root[data-ui=shadcn] input[type=radio]{border:1px solid var(--sc-control);background:var(--sc-control-fill);width:16px;height:16px;box-shadow:var(--sc-shadow-xs);appearance:none;cursor:pointer;border-radius:50%;flex:none;place-content:center;margin:0;display:inline-grid}:root[data-ui=shadcn] input[type=radio]:before{content:"";background:var(--sc-primary);border-radius:50%;width:8px;height:8px;transition:transform .1s ease-out;transform:scale(0)}:root[data-ui=shadcn] input[type=radio]:checked{border-color:var(--sc-primary)}:root[data-ui=shadcn] input[type=radio]:checked:before{transform:scale(1)}:root[data-ui=shadcn] input[type=checkbox][role=switch],:root[data-ui=shadcn] .setting-row input[type=checkbox][role=switch]{background:var(--sc-control);width:32px;height:18px;box-shadow:var(--sc-shadow-xs);appearance:none;cursor:pointer;border:1px solid #0000;border-radius:999px;flex:none;margin:2px 0 0;transition:background-color .15s;position:relative}:root[data-ui=shadcn] input[type=checkbox][role=switch]:before{content:"";background:var(--sc-thumb);border-radius:50%;width:14px;height:14px;transition:transform .15s ease-out;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #00000040}:root[data-ui=shadcn] input[type=checkbox][role=switch]:checked{background:var(--sc-primary)}:root[data-ui=shadcn] input[type=checkbox][role=switch]:checked:before{background:var(--sc-on-primary);transform:translate(14px)}:root[data-ui=shadcn] input[type=checkbox]:focus-visible,:root[data-ui=shadcn] input[type=radio]:focus-visible,:root[data-ui=shadcn] input[type=color]:focus-visible{box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] input[type=checkbox]:disabled,:root[data-ui=shadcn] input[type=radio]:disabled{cursor:not-allowed;opacity:.5}:root[data-ui=shadcn] .check-row,:root[data-ui=shadcn] .check{gap:8px;font-size:.875rem}@media (forced-colors:active){:root[data-ui=shadcn] input[type=checkbox],:root[data-ui=shadcn] input[type=radio]{appearance:auto}:root[data-ui=shadcn] input[type=checkbox]:before,:root[data-ui=shadcn] input[type=radio]:before{display:none}}:root[data-ui=shadcn] .tab-list,:root[data-ui=shadcn] .section-tabs ul{border-bottom:1px solid var(--sc-border);width:100%;max-width:100%;box-shadow:none;scrollbar-width:none;background:0 0;border-radius:0;gap:24px;padding:0;display:flex;overflow-x:auto}:root[data-ui=shadcn] .section-tabs{border-bottom:0}:root[data-ui=shadcn] .tab,:root[data-ui=shadcn] .section-tabs a{min-height:0;color:var(--sc-muted-foreground);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;margin:0 0 -1px;padding:8px 0 10px;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}:root[data-ui=shadcn] .tab:hover,:root[data-ui=shadcn] .section-tabs a:hover{color:var(--sc-foreground);text-decoration:none}:root[data-ui=shadcn] .tab[aria-selected=true],:root[data-ui=shadcn] .section-tabs a[aria-current=page],:root[data-ui=shadcn] .project-tabs a[aria-current=page],:root[data-ui=shadcn][data-theme=dark] .tab[aria-selected=true],:root[data-ui=shadcn][data-theme=dark] .section-tabs a[aria-current=page]{border-bottom-color:var(--sc-foreground);color:var(--sc-foreground);box-shadow:none;background:0 0}:root[data-ui=shadcn] .tab:focus-visible,:root[data-ui=shadcn] .section-tabs a:focus-visible{box-shadow:inset 0 -2px 0 var(--sc-ring);outline:none}:root[data-ui=shadcn] .tab-panel{margin-top:16px}:root[data-ui=shadcn] .segmented{background:var(--sc-muted);border:0;border-radius:10px;gap:0;padding:3px}:root[data-ui=shadcn] .segmented button{min-height:30px;color:var(--sc-muted-foreground);border:1px solid #0000;border-radius:7px;padding:0 12px;font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .segmented button:hover{color:var(--sc-foreground)}:root[data-ui=shadcn] .segmented button.on{background:var(--sc-background);color:var(--sc-foreground);box-shadow:var(--sc-shadow-sm);font-weight:500}:root[data-ui=shadcn][data-theme=dark] .segmented button.on{background:#ffffff0f;border-color:#ffffff26}:root[data-ui=shadcn] .segmented button:focus-visible{box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .table-wrap,:root[data-ui=shadcn] .card-body>.table-wrap:last-child{border:1px solid var(--sc-border);background:var(--sc-card);border-radius:10px;margin:0}:root[data-ui=shadcn] table{font-size:.875rem}:root[data-ui=shadcn] th,:root[data-ui=shadcn] td{border-bottom-color:var(--sc-border);vertical-align:middle;padding:10px 12px}:root[data-ui=shadcn] th:first-child,:root[data-ui=shadcn] td:first-child{padding-left:16px}:root[data-ui=shadcn] th:last-child,:root[data-ui=shadcn] td:last-child{padding-right:16px}:root[data-ui=shadcn] thead th{height:40px;color:var(--sc-foreground);background:0 0;border-top:0;padding-top:0;padding-bottom:0;font-size:.875rem;font-weight:500}:root[data-ui=shadcn] tbody tr:hover td,:root[data-ui=shadcn] tbody tr:hover th{background:color-mix(in srgb, var(--sc-muted) 50%, transparent)}:root[data-ui=shadcn] .sub{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .popover,:root[data-ui=shadcn] .side-menu,:root[data-ui=shadcn] .side-account .side-menu,:root[data-ui=shadcn] .create-wrap .create-menu{border:1px solid var(--sc-border);background:var(--sc-popover);color:var(--sc-foreground);box-shadow:var(--sc-shadow-md);border-radius:8px;padding:4px}:root[data-ui=shadcn] .popover a,:root[data-ui=shadcn] .popover button.popover-item,:root[data-ui=shadcn] .side-menu a,:root[data-ui=shadcn] .side-menu button.popover-item,:root[data-ui=shadcn] .popover.create-menu a{min-height:32px;color:var(--sc-foreground);border-radius:6px;gap:8px;padding:6px 8px;font-size:.875rem}:root[data-ui=shadcn] .popover a:hover,:root[data-ui=shadcn] .popover button.popover-item:hover,:root[data-ui=shadcn] .side-menu a:hover,:root[data-ui=shadcn] .side-menu button.popover-item:hover,:root[data-ui=shadcn] .popover.create-menu a:hover{background:var(--menu-hover,var(--sc-hover));text-decoration:none}:root[data-ui=shadcn] .popover svg,:root[data-ui=shadcn] .side-menu svg,:root[data-ui=shadcn] .create-menu a svg{width:16px;height:16px;color:var(--sc-muted-foreground);flex:none}:root[data-ui=shadcn] .popover hr,:root[data-ui=shadcn] .side-menu hr,:root[data-ui=shadcn] .create-menu hr{border-top-color:var(--sc-border);margin:4px -4px}:root[data-ui=shadcn] .popover-label,:root[data-ui=shadcn] .create-group-label{color:var(--sc-muted-foreground);font-family:var(--sans);letter-spacing:0;text-transform:none;padding:6px 8px;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .side-theme{font-size:.75rem}:root[data-ui=shadcn] .dialog{border:1px solid var(--sc-border);background:var(--sc-background);box-shadow:var(--sc-shadow-lg);border-radius:10px}:root[data-ui=shadcn] .dialog[open]{animation:.15s ease-out sc-dialog-in}:root[data-ui=shadcn] .dialog::backdrop{background:#00000080}:root[data-ui=shadcn] .dialog-body{padding:24px}:root[data-ui=shadcn] .dialog-header{background:var(--sc-background);border-bottom:0;margin:-24px -24px 0;padding:24px 24px 12px}:root[data-ui=shadcn] .dialog-header h2{font-size:1.125rem;font-weight:600;line-height:1.25}:root[data-ui=shadcn] .dialog-header p{color:var(--sc-muted-foreground);font-size:.875rem}:root[data-ui=shadcn] .dialog-close{width:28px;height:28px;color:var(--sc-muted-foreground);border:0;border-radius:6px;margin:-4px -8px 0 0}:root[data-ui=shadcn] .dialog-close:hover{background:var(--sc-hover);color:var(--sc-foreground);border:0}:root[data-ui=shadcn] .dialog-close svg{width:16px;height:16px}:root[data-ui=shadcn] .dialog-footer{border-top-color:var(--sc-border);background:var(--sc-background);margin:0 -24px -24px;padding:16px 24px}:root[data-ui=shadcn] .dialog .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card){box-shadow:none}@media (max-width:700px){:root[data-ui=shadcn] .dialog.large{border-radius:0}}:root[data-ui=shadcn] .bars .bar{fill:var(--sc-primary)}:root[data-ui=shadcn] .bars .bar-rejected{fill:var(--sc-destructive)}:root[data-ui=shadcn] .bars .bar-label,:root[data-ui=shadcn] .chart .axis-label{font-family:var(--sans);font-size:11px}:root[data-ui=shadcn] .chart .cursor{stroke:var(--sc-muted-foreground)}:root[data-ui=shadcn] .chart-readout,:root[data-ui=shadcn] .trend-title{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .trend-value{letter-spacing:-.02em;font-weight:600}:root[data-ui=shadcn] .meter .m-track{fill:var(--sc-muted)}:root[data-ui=shadcn] .auth-shell{border:1px solid var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-sm);border-radius:14px;padding:24px}:root[data-ui=shadcn] .auth-card h1{letter-spacing:-.02em;margin-bottom:16px;font-size:1.25rem;font-weight:600}:root[data-ui=shadcn] .onboarding-card{width:min(100%,440px)}:root[data-ui=shadcn] .onboarding-pay{width:100%}:root[data-ui=shadcn] .onboarding-columns{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}@media (max-width:760px){:root[data-ui=shadcn] .onboarding-columns{grid-template-columns:1fr}}:root[data-ui=shadcn] .onboarding-promo .linkish{color:var(--auth-accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .onboarding-promo .linkish:hover{text-decoration:underline}:root[data-ui=shadcn] .onboarding-kicker{color:var(--sc-muted-foreground);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:600}:root[data-ui=shadcn] .onboarding-types{gap:10px;display:grid}:root[data-ui=shadcn] .onboarding-type{border:1px solid var(--sc-border);background:var(--sc-background);cursor:pointer;border-radius:10px;grid-template-columns:40px 1fr;align-items:start;gap:12px;margin:0;padding:14px;transition:border-color .15s,background .15s;display:grid}:root[data-ui=shadcn] .onboarding-type:hover{background:var(--sc-hover)}:root[data-ui=shadcn] .onboarding-type.selected{border-color:var(--auth-accent);background:color-mix(in srgb, var(--auth-accent) 10%, var(--sc-card))}:root[data-ui=shadcn] .onboarding-type input{opacity:0;pointer-events:none;position:absolute}:root[data-ui=shadcn] .onboarding-type-icon{background:color-mix(in srgb, var(--auth-accent) 16%, transparent);width:40px;height:40px;color:var(--auth-accent);border-radius:10px;place-items:center;font-size:.95rem;font-weight:700;display:grid}:root[data-ui=shadcn] .onboarding-type-body{gap:2px;min-width:0;display:grid}:root[data-ui=shadcn] .onboarding-type-body strong{font-size:.95rem;font-weight:600}:root[data-ui=shadcn] .onboarding-panel{border:1px solid var(--sc-border);background:var(--sc-background);border-radius:10px;margin:0;padding:14px}:root[data-ui=shadcn] .onboarding-panel-title{margin:0 0 4px;font-size:.8125rem;font-weight:600}:root[data-ui=shadcn] .card-number-wrap{position:relative}:root[data-ui=shadcn] .card-number-wrap input{padding-right:3.25rem}:root[data-ui=shadcn] .card-brand-slot{pointer-events:none;line-height:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}:root[data-ui=shadcn] .card-brand-showcase{flex-wrap:wrap;gap:8px;margin:0 0 4px;padding:0;list-style:none;display:flex}:root[data-ui=shadcn] .card-brand-showcase li{border:1px solid var(--sc-border);background:var(--sc-card,var(--sc-background));opacity:.55;border-radius:8px;flex-direction:column;align-items:center;gap:4px;margin:0;padding:6px 8px;transition:opacity .15s,border-color .15s,box-shadow .15s;display:flex}:root[data-ui=shadcn] .card-brand-showcase li.is-active{opacity:1;border-color:var(--platform-accent,var(--sc-primary));box-shadow:0 0 0 1px color-mix(in srgb, var(--platform-accent,var(--sc-primary)) 35%, transparent)}:root[data-ui=shadcn] .card-brand-showcase-name{letter-spacing:.02em;color:var(--sc-muted-foreground);font-size:.625rem;font-weight:600}:root[data-ui=shadcn] .card-brand-showcase li.is-active .card-brand-showcase-name{color:var(--sc-foreground)}:root[data-ui=shadcn] .usage-bars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}:root[data-ui=shadcn] .usage-bar-row{grid-template-columns:minmax(0,1fr) 5.5rem;align-items:center;gap:10px;display:grid}:root[data-ui=shadcn] .usage-bar-track{background:var(--sc-muted);border-radius:999px;height:8px;overflow:hidden}:root[data-ui=shadcn] .usage-bar-fill{border-radius:inherit;background:var(--platform-accent,var(--sc-primary));min-width:2px;height:100%}:root[data-ui=shadcn] .usage-bar-meta{text-align:right;font-variant-numeric:tabular-nums;font-size:.8125rem}:root[data-ui=shadcn] .spend-toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}:root[data-ui=shadcn] .spend-toggle svg{width:14px;height:14px;color:var(--sc-muted-foreground);flex:none;transition:transform .12s}:root[data-ui=shadcn] .spend-toggle:hover{color:var(--platform-accent,var(--sc-primary))}:root[data-ui=shadcn] .spend-line td:first-child{padding-left:28px}:root[data-ui=shadcn] .spend-summary>.field{max-width:340px}:root[data-ui=shadcn] .onboarding-grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}:root[data-ui=shadcn] .onboarding-span-2{grid-column:1/-1}:root[data-ui=shadcn] .onboarding-foot{text-align:center;margin:0}@media (max-width:520px){:root[data-ui=shadcn] .onboarding-grid{grid-template-columns:1fr}:root[data-ui=shadcn] .onboarding-span-2{grid-column:auto}}:root[data-ui=shadcn] .auth-lead{color:var(--sc-muted-foreground);font-size:.875rem}:root[data-ui=shadcn] .auth .btn.primary,:root[data-ui=shadcn] .auth-card .btn,:root[data-ui=shadcn] .auth .provider-list .btn{letter-spacing:0;text-transform:none;border-radius:8px;min-height:36px;font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .auth .btn.primary{background:var(--auth-accent);color:var(--auth-on-accent);border:0;padding:0 16px}:root[data-ui=shadcn] .auth .btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--auth-accent) 90%, transparent)}:root[data-ui=shadcn] .auth .provider-list .btn{background:var(--sc-background)}:root[data-ui=shadcn] .auth-input-wrap input,:root[data-ui=shadcn] .auth .field input,:root[data-ui=shadcn] .auth .field textarea,:root[data-ui=shadcn] .auth .field select,:root[data-ui=shadcn] .auth-card .field input,:root[data-ui=shadcn] .auth-card .field select{border:1px solid var(--sc-control);background:var(--sc-control-fill);min-height:36px;box-shadow:var(--sc-shadow-xs);border-radius:8px;padding-top:4px;padding-bottom:4px;font-size:.875rem}:root[data-ui=shadcn] .auth .field textarea{padding-top:8px;padding-bottom:8px}:root[data-ui=shadcn] .auth-input-wrap input:focus-visible,:root[data-ui=shadcn] .auth .field input:focus-visible,:root[data-ui=shadcn] .auth .field textarea:focus-visible{border-color:var(--sc-ring);box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .auth-eye-btn{border-radius:6px}:root[data-ui=shadcn] .auth-input-icon svg,:root[data-ui=shadcn] .auth-eye-btn svg{width:16px;height:16px}:root[data-ui=shadcn] .provider-icon-btn{border:1px solid var(--sc-border);background:var(--sc-background);height:36px;box-shadow:var(--sc-shadow-xs);border-radius:8px}:root[data-ui=shadcn] .provider-icon-btn:hover{border-color:var(--sc-border);background:var(--sc-hover)}:root[data-ui=shadcn] .provider-icon-btn .provider-icon{width:18px;height:18px}:root[data-ui=shadcn] .auth-or{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .auth-or:before,:root[data-ui=shadcn] .auth-or:after{background:var(--sc-border)}:root[data-ui=shadcn] .auth-forgot a,:root[data-ui=shadcn] .auth-switch a,:root[data-ui=shadcn] .auth-back a{text-underline-offset:4px;font-weight:500}:root[data-ui=shadcn] .auth-switch,:root[data-ui=shadcn] .skip-setup{border-top-color:var(--sc-border);font-size:.875rem}:root[data-ui=shadcn] .auth-local{color:var(--sc-muted-foreground);font-size:.75rem}:root[data-ui=shadcn] .back-link{color:var(--sc-muted-foreground);font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .back-link:hover{color:var(--sc-foreground)}:root[data-ui=shadcn] .link-btn{font-weight:500;text-decoration:none}:root[data-ui=shadcn] .link-btn:hover:not(:disabled){text-underline-offset:4px;text-decoration:underline}:root[data-ui=shadcn] .qr{border-color:var(--sc-border);border-radius:10px}:root[data-ui=shadcn] .secret-groups{border-color:var(--sc-border);background:var(--sc-muted);border-radius:8px}:root[data-ui=shadcn] .recovery-grid{border-color:var(--rule-strong);background:var(--sc-muted);border-radius:10px}:root[data-ui=shadcn] .org-card,:root[data-ui=shadcn] .template-card{border:1px solid var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-sm);border-radius:14px;transition:box-shadow .15s,border-color .15s}:root[data-ui=shadcn] .template-card:hover{border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-md)}:root[data-ui=shadcn] .org-card-head h3{font-size:1rem;font-weight:600}:root[data-ui=shadcn] .org-figures dt{color:var(--sc-muted-foreground);font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .org-figures dd{letter-spacing:-.02em;font-weight:600}:root[data-ui=shadcn] .template-thumb,:root[data-ui=shadcn] .hero-media{background:var(--sc-muted);border-radius:10px}:root[data-ui=shadcn] :is(.resource-overview,.rail-list,.project-card,.dashboard-tile,.resource-device-table,.rule-status-list,.resource-empty,.resource-create-card,.resource-learn-list){border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-xs);border-radius:10px}:root[data-ui=shadcn] :is(.project-card,.dashboard-tile,.resource-create-card):hover{border-color:color-mix(in srgb, var(--sc-foreground) 22%, var(--sc-border))}:root[data-ui=shadcn] .resource-create-card:hover,:root[data-ui=shadcn] :is(.resource-device-table tbody tr,.rule-status-row,.resource-learn-row):hover :is(td),:root[data-ui=shadcn] :is(.rule-status-row,.resource-learn-row):hover{background:var(--sc-hover)}:root[data-ui=shadcn] :is(.resource-device-table th,.resource-device-table td,.rule-status-row+.rule-status-row,.resource-learn-list li+li,.dashboard-thumb,.project-card-date,.resource-start){border-color:var(--sc-border)}:root[data-ui=shadcn] :is(.project-initial,.resource-empty-icon,.resource-mark){border-color:var(--sc-border);background:var(--sc-muted);color:var(--sc-foreground)}:root[data-ui=shadcn] :is(.resource-stat,.rail-row):hover{background:var(--sc-hover)}:root[data-ui=shadcn] :is(.resource-stat+.resource-stat,.resource-stat:nth-child(n+3),.rail-list li+li,.resource-tabs-bar,.resource-tabs,.rail-thumb){border-color:var(--sc-border)}:root[data-ui=shadcn] .resource-tab-count{background:var(--sc-muted);color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .resource-tab[aria-checked=true]{border-bottom-color:var(--sc-foreground);color:var(--sc-foreground)}:root[data-ui=shadcn] .dashboard-thumb{background:var(--sc-muted)}:root[data-ui=shadcn] .dashboard-thumb-block{border-color:var(--sc-border);background:var(--sc-card)}:root[data-ui=shadcn] .health-bar{background:var(--sc-muted)}:root[data-ui=shadcn] .device-filter{border-color:var(--sc-border);background:var(--sc-muted)}:root[data-ui=shadcn] .device-filter-chip[aria-pressed=true]{background:var(--sc-card);color:var(--sc-foreground);box-shadow:var(--sc-shadow-xs)}:root[data-ui=shadcn] .rule-condition{color:var(--sc-muted-foreground);background:0 0;border:0;padding:0;font-family:Geist Mono,ui-monospace,monospace}:root[data-ui=shadcn] :is(.rule-state,.rule-severity,.project-card-stats,.resource-device-table) .badge{min-height:0;box-shadow:none;color:var(--sc-muted-foreground);background:0 0;border:0;padding:0;font-size:.78rem;font-weight:500}:root[data-ui=shadcn] :is(.rule-state,.resource-device-table) .badge .dot{display:none}:root[data-ui=shadcn] :is(.rule-state,.project-card-stats,.resource-device-table) .badge.danger{color:var(--danger)}:root[data-ui=shadcn] .resource-device-table .badge.success{color:var(--sc-foreground)}:root[data-ui=shadcn] .rule-action .btn{color:var(--sc-muted-foreground);font-weight:500}:root[data-ui=shadcn] .rule-action .btn:hover:not(:disabled){color:var(--sc-foreground)}:root[data-ui=shadcn] .choice-option,:root[data-ui=shadcn] .access-project,:root[data-ui=shadcn] .variant-option,:root[data-ui=shadcn] .check-option{border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-xs);border-radius:10px}:root[data-ui=shadcn] .access-project[data-on]{border-color:var(--sc-primary);background:color-mix(in srgb, var(--sc-primary) 6%, var(--sc-card))}:root[data-ui=shadcn] .choice-option:has(input:checked){border-color:var(--sc-primary);background:color-mix(in srgb, var(--sc-primary) 6%, var(--sc-card))}:root[data-ui=shadcn] .variant-option:has(input:checked){border-color:var(--sc-primary);background:color-mix(in srgb, var(--sc-primary) 6%, var(--sc-card))}:root[data-ui=shadcn] .check-option:has(input:checked){border-color:var(--sc-primary);background:color-mix(in srgb, var(--sc-primary) 6%, var(--sc-card))}:root[data-ui=shadcn] .choice-option:has(input:focus-visible){box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .choice-option .hint{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .choice legend,:root[data-ui=shadcn] .access-projects legend{font-size:.875rem;font-weight:500}:root[data-ui=shadcn] .catalog-facets,:root[data-ui=shadcn] .variant-item,:root[data-ui=shadcn] .tpl-group,:root[data-ui=shadcn] .tpl-preview,:root[data-ui=shadcn] .layout-preview,:root[data-ui=shadcn] .snapshot-value,:root[data-ui=shadcn] fieldset.wifi-fields{border-color:var(--sc-border);border-radius:10px}:root[data-ui=shadcn] .catalog-facets>legend{color:var(--sc-foreground);letter-spacing:0;text-transform:none;font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .doc-kind,:root[data-ui=shadcn] .appearance-preview-label{letter-spacing:0;text-transform:none}:root[data-ui=shadcn] .pin-kind{border-radius:6px}:root[data-ui=shadcn] .callout{border:1px solid var(--sc-border);background:var(--sc-card);border-radius:10px;padding:12px 16px}:root[data-ui=shadcn] .secret-panel{border:1px solid color-mix(in srgb, var(--warn) 30%, var(--sc-border));background:var(--warn-bg);border-radius:10px}:root[data-ui=shadcn] .secret-value{border-color:var(--sc-border);border-radius:8px}:root[data-ui=shadcn] .stepper-item{border-top-color:var(--sc-border);color:var(--sc-muted-foreground);font-size:.875rem}:root[data-ui=shadcn] .stepper-item.done{border-top-color:var(--sc-foreground);color:var(--sc-foreground)}:root[data-ui=shadcn] .stepper-item.current{border-top-color:var(--sc-primary);color:var(--sc-foreground);font-weight:500}:root[data-ui=shadcn] .stepper-item.current .stepper-num{border-color:var(--sc-primary);background:var(--sc-primary);color:var(--sc-on-primary)}:root[data-ui=shadcn] .stepper-item.done .stepper-num{border-color:var(--sc-foreground);background:var(--sc-foreground);color:var(--sc-background)}:root[data-ui=shadcn] .guide-num{border-color:var(--sc-border);background:var(--sc-muted);font-weight:600}:root[data-ui=shadcn] .guide-section+.guide-section{border-top-color:var(--sc-border)}:root[data-ui=shadcn] .brand .env,:root[data-ui=shadcn] .brand .panel-tag{border-color:var(--sc-border);font-family:var(--sans);border-radius:6px;font-size:.6875rem}:root[data-ui=shadcn] .status-list .num{font-family:var(--sans);font-variant-numeric:tabular-nums}:root[data-ui=shadcn] .bell-btn{border-radius:8px}:root[data-ui=shadcn] .topbar .bell-btn:hover{background:var(--header-hover,color-mix(in srgb, var(--shell-accent) 14%, transparent))}:root[data-ui=shadcn] .gallery-specimen>figcaption{color:var(--sc-muted-foreground);letter-spacing:0;text-transform:none;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .gallery-specimen,:root[data-ui=shadcn] .gallery-swatch,:root[data-ui=shadcn] .gallery-icon,:root[data-ui=shadcn] .gallery-widgets>li{border-color:var(--sc-border);background:var(--sc-card);border-radius:12px}:root[data-ui=shadcn] input[type=file]{color:var(--sc-muted-foreground);font-size:.875rem}:root[data-ui=shadcn] input[type=file]::file-selector-button{border:1px solid var(--sc-border);background:var(--sc-background);min-height:32px;color:var(--sc-foreground);font:inherit;box-shadow:var(--sc-shadow-xs);cursor:pointer;border-radius:8px;margin-right:10px;padding:0 12px;font-weight:500}:root[data-ui=shadcn] input[type=file]::file-selector-button:hover{background:var(--sc-hover)}:root[data-ui=shadcn] input[type=file]:focus-visible{outline:none}:root[data-ui=shadcn] input[type=file]:focus-visible::file-selector-button{border-color:var(--sc-ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--sc-ring) 35%, transparent)}:root[data-ui=shadcn] .device-actions,:root[data-ui=shadcn] .device-table .device-actions{flex-flow:row;align-items:center;gap:4px}:root[data-ui=shadcn] .device-table thead th{white-space:normal;height:auto;min-height:40px;padding-top:8px;padding-bottom:8px}:root[data-ui=shadcn] .device-table td.col-name{min-width:8rem}:root[data-ui=shadcn] .device-actions .btn{gap:0;width:32px;min-width:32px;padding:0;font-size:0}:root[data-ui=shadcn] td>.row:has(>.btn){flex-wrap:nowrap}:root[data-ui=shadcn] .card-actions .toolbar{flex-wrap:nowrap;gap:8px}:root[data-ui=shadcn] .card-actions .toolbar input[type=search]{flex:auto;width:16rem;min-width:0}:root[data-ui=shadcn] .preset{border-color:var(--sc-border);background:var(--sc-background);min-height:32px;box-shadow:var(--sc-shadow-xs);border-radius:8px;padding:4px 12px 4px 8px;font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .preset:hover{border-color:var(--sc-border);background:var(--sc-hover)}:root[data-ui=shadcn] .tpl-group,:root[data-ui=shadcn] .tpl-preview{border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-sm);border-radius:12px;padding:20px}:root[data-ui=shadcn] .tpl-group>legend{float:left;letter-spacing:-.01em;width:100%;margin:0;padding:0;font-size:1rem;font-weight:600}:root[data-ui=shadcn] .tpl-group .tpl-group{background:color-mix(in srgb, var(--sc-muted) 50%, var(--sc-card));box-shadow:none;border-style:solid;border-radius:10px;padding:16px}:root[data-ui=shadcn] .dyn-row.block{border-color:var(--sc-border);background:color-mix(in srgb, var(--sc-muted) 50%, var(--sc-card));border-radius:10px;padding:16px}:root[data-ui=shadcn] .dyn-row.block .dyn-row.block{background:var(--sc-card)}:root[data-ui=shadcn] .variant-list-editor>.dyn-rows>.dyn-row.block{border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-xs);border-left-width:1px}:root[data-ui=shadcn] .dw .widget{--accent-c:var(--widget-accent,var(--sc-primary));border-color:var(--w-border,var(--sc-border));border-radius:var(--w-radius,14px);background:var(--sc-card);box-shadow:var(--w-shadow,var(--sc-shadow-sm));transition:border-color .15s,box-shadow .15s}:root[data-ui=shadcn] .dw .widget:hover:not(.editing):not(.alerting){border-color:var(--w-border,var(--sc-border));box-shadow:var(--w-shadow,var(--sc-shadow-md))}:root[data-ui=shadcn] .dw .widget.bg-tinted{background:color-mix(in srgb, var(--accent-c) 6%, var(--sc-card))}:root[data-ui=shadcn] .dw .widget.bg-transparent,:root[data-ui=shadcn] .dw .widget.bg-transparent:hover:not(.editing):not(.alerting){box-shadow:none;background:0 0;border-color:#0000}:root[data-ui=shadcn] .dw .widget.editing{border-color:var(--rule-strong);box-shadow:none}:root[data-ui=shadcn] .dw .widget.held{outline:2px solid var(--sc-ring);box-shadow:var(--sc-shadow-lg)}:root[data-ui=shadcn] .dw .widget.alerting{border-color:var(--alert-ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--alert-ring) 18%, transparent), var(--sc-shadow-sm)}:root[data-ui=shadcn] .dw .widget-head{padding:calc(var(--w-pad,16px) - 2px) var(--w-pad,16px) 4px;border-bottom:0;gap:6px 10px;margin:0}:root[data-ui=shadcn] .dw .widget-title,:root[data-ui=shadcn] .dw .widget-side-title{color:var(--w-title-color,var(--sc-foreground));font-size:var(--w-title-size,.875rem);font-weight:var(--w-title-weight,600);letter-spacing:-.01em;line-height:1.25}:root[data-ui=shadcn] .dw .widget-title-icon{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .dw .widget-device{color:var(--sc-muted-foreground);font-size:.75rem}:root[data-ui=shadcn] .dw .widget-body{padding:8px var(--w-pad,16px) var(--w-pad,16px)}:root[data-ui=shadcn] .dw .status-dot.online{box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 20%, transparent)}:root[data-ui=shadcn] .dw .widget-tool{color:var(--sc-muted-foreground);border-radius:6px}:root[data-ui=shadcn] .dw .widget-tool:hover{background:var(--sc-hover);color:var(--sc-foreground)}:root[data-ui=shadcn] .dw .widget-tool[aria-pressed=true]{background:var(--sc-foreground);color:var(--sc-background);border-color:#0000}@media (hover:hover){:root[data-ui=shadcn] .dw .widget.editing .widget-tools{border-color:var(--sc-border);background:var(--sc-popover);box-shadow:var(--sc-shadow-md);border-radius:8px}}:root[data-ui=shadcn] .dw .widget-state .skeleton{border-radius:6px}:root[data-ui=shadcn] .dw .dashboard-toolbar{border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-sm);border-radius:10px}:root[data-ui=shadcn] .dw .dashboard-grid.editing{border-color:var(--rule-strong);border-radius:14px}:root[data-ui=shadcn] .dw .dw-value,:root[data-ui=shadcn] .dw .label-value{color:var(--sc-foreground);letter-spacing:-.025em;font-weight:600}:root[data-ui=shadcn] .dw .label-value.text{letter-spacing:0}:root[data-ui=shadcn] .dw .dw-unit{color:var(--sc-muted-foreground);font-weight:500}:root[data-ui=shadcn] .dw .stat-trend,:root[data-ui=shadcn] .dw .stat-updated{color:var(--sc-muted-foreground);align-items:center;gap:2px 6px;font-size:.8125rem}:root[data-ui=shadcn] .dw .stat-change{border:1px solid var(--sc-border);border-radius:6px;align-items:center;gap:2px;padding:0 6px;font-size:.75rem;font-weight:500;line-height:1.5;display:inline-flex}:root[data-ui=shadcn] .dw .stat-trend.up .stat-change{border-color:color-mix(in srgb, var(--ok) 25%, transparent);background:var(--ok-bg)}:root[data-ui=shadcn] .dw .stat-trend.down .stat-change{border-color:color-mix(in srgb, var(--danger) 25%, transparent);background:var(--danger-bg)}:root[data-ui=shadcn] .dw .stat-trend.flat .stat-change{color:var(--sc-foreground)}:root[data-ui=shadcn] .dw .dw-spark-line{stroke-width:2px}:root[data-ui=shadcn] .dw .dw-stop-strong{stop-opacity:.25}:root[data-ui=shadcn] .dw .segment{border:1px solid var(--sc-border);background:var(--sc-muted);border-radius:10px;box-shadow:inset 0 1px 2px #0000000f}:root[data-ui=shadcn] .dw .segment-ghost{color:color-mix(in srgb, var(--segment) 10%, var(--sc-muted))}:root[data-ui=shadcn] .dw .label-affix,:root[data-ui=shadcn] .dw .segment-unit{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .dw .plot .grid-line{stroke:var(--sc-border)}:root[data-ui=shadcn] .dw .plot .axis-line{stroke:#0000}:root[data-ui=shadcn] .dw .plot .axis-label{fill:var(--sc-muted-foreground);font-size:11px}:root[data-ui=shadcn] .dw .plot-line{stroke-width:2px}:root[data-ui=shadcn] .dw .plot-point{stroke:var(--sc-card);stroke-width:2px}:root[data-ui=shadcn] .dw .plot .bar{opacity:.9;rx:3px}:root[data-ui=shadcn] .dw .plot .bar.on{opacity:1}:root[data-ui=shadcn] .dw .crosshair line{stroke:var(--sc-muted-foreground);stroke-dasharray:none;stroke-opacity:.45}:root[data-ui=shadcn] .dw .crosshair circle{stroke:var(--sc-card)}:root[data-ui=shadcn] .dw .plot-tooltip{border:1px solid var(--sc-border);background:var(--sc-popover);min-width:8rem;box-shadow:var(--sc-shadow-lg);color:var(--sc-foreground);border-radius:8px;gap:4px;padding:6px 10px;font-size:.75rem}:root[data-ui=shadcn] .dw .plot-tooltip-time{color:var(--sc-foreground);font-weight:500}:root[data-ui=shadcn] .dw .plot-tooltip-row{color:var(--sc-muted-foreground);gap:8px}:root[data-ui=shadcn] .dw .multi-legend{color:var(--sc-muted-foreground);gap:4px 16px;font-size:.75rem}:root[data-ui=shadcn] .dw .legend-value{color:var(--sc-foreground)}:root[data-ui=shadcn] .dw .range-buttons{background:var(--sc-muted);border:0;border-radius:8px;gap:0;padding:3px}:root[data-ui=shadcn] .dw .range-button{min-width:32px;color:var(--sc-muted-foreground);border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .dw .range-button:hover{color:var(--sc-foreground)}:root[data-ui=shadcn] .dw .range-button[aria-pressed=true]{background:var(--sc-background);color:var(--sc-foreground);box-shadow:var(--sc-shadow-sm);border-color:#0000;font-weight:500}:root[data-ui=shadcn][data-theme=dark] .dw .range-button[aria-pressed=true]{background:#ffffff0f;border-color:#ffffff26}:root[data-ui=shadcn] .dw .range-button:focus-visible{box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .dw .gauge-track{stroke:var(--sc-muted);stroke-linecap:round}:root[data-ui=shadcn] .dw .gauge-value-arc{stroke-linecap:round}:root[data-ui=shadcn] .dw .gauge-tick{stroke:var(--sc-muted-foreground)}:root[data-ui=shadcn] .dw .gauge-tick.major{stroke:var(--sc-foreground)}:root[data-ui=shadcn] .dw .gauge-range,:root[data-ui=shadcn] .dw .scale-range,:root[data-ui=shadcn] .dw .battery-raw,:root[data-ui=shadcn] .dw .signal-raw,:root[data-ui=shadcn] .dw .timeline-axis{color:var(--sc-muted-foreground);font-size:.75rem}:root[data-ui=shadcn] .dw .indicator-detail{color:var(--sc-muted-foreground);font-size:.8125rem}:root[data-ui=shadcn] .dw .lamp{background:var(--sc-muted);box-shadow:inset 0 0 0 1px var(--rule-strong)}:root[data-ui=shadcn] .dw .lamp.led.lit{background:var(--lamp);box-shadow:0 0 0 4px color-mix(in srgb, var(--lamp) 22%, transparent), inset 0 -2px 4px #00000026}:root[data-ui=shadcn] .dw .lamp.dot.lit{background:var(--lamp);box-shadow:0 0 0 3px color-mix(in srgb, var(--lamp) 22%, transparent)}:root[data-ui=shadcn] .dw .indicator-state.lamp.badge{border-color:var(--sc-border);background:var(--sc-background);box-shadow:var(--sc-shadow-xs);border-radius:8px;font-size:.875rem}:root[data-ui=shadcn] .dw .indicator-state.lamp.badge.lit{border-color:color-mix(in srgb, var(--lamp) 35%, var(--sc-border));background:color-mix(in srgb, var(--lamp) 8%, var(--sc-background))}:root[data-ui=shadcn] .dw .scale-track,:root[data-ui=shadcn] .dw .battery-cell:not(.on),:root[data-ui=shadcn] .dw .signal-bar:not(.on),:root[data-ui=shadcn] .dw .timeline-track{fill:var(--sc-muted)}:root[data-ui=shadcn] .dw .battery-case{stroke:var(--sc-muted-foreground)}:root[data-ui=shadcn] .dw .battery-tip{fill:var(--sc-muted-foreground)}:root[data-ui=shadcn] .dw .scale-warning{border-radius:6px;font-size:.75rem}:root[data-ui=shadcn] .dw .compass-face{fill:var(--sc-card);stroke:var(--sc-border)}:root[data-ui=shadcn] .dw .compass-tick{stroke:var(--sc-muted-foreground)}:root[data-ui=shadcn] .dw .compass-hub{fill:var(--sc-card);stroke:var(--sc-foreground)}:root[data-ui=shadcn] .dw .location-map{background-color:color-mix(in srgb, var(--sc-muted) 60%, var(--sc-card));background-image:radial-gradient(circle, var(--sc-border) 1px, transparent 1.4px);box-shadow:inset 0 0 0 1px var(--sc-border);border-radius:10px}:root[data-ui=shadcn] .dw .location-pin,:root[data-ui=shadcn] .dw .joystick-knob{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-c) 22%, transparent), var(--sc-shadow-md)}:root[data-ui=shadcn] .dw .timeline-key{border-radius:3px}:root[data-ui=shadcn] .dw .timeline figcaption{color:var(--sc-muted-foreground);font-size:.75rem}:root[data-ui=shadcn] .dw .switch{background:var(--off,var(--sc-control));width:44px;height:24px;box-shadow:var(--sc-shadow-xs);border:1px solid #0000;border-radius:999px;transition:background-color .15s}:root[data-ui=shadcn] .dw .switch-thumb{background:var(--sc-thumb);width:20px;height:20px;transition:transform .15s ease-out;top:1px;left:1px;box-shadow:0 1px 3px #00000040}:root[data-ui=shadcn] .dw .switch.on{background:var(--on,var(--accent-c));border-color:#0000}:root[data-ui=shadcn] .dw .switch.on .switch-thumb{transform:translate(20px);box-shadow:0 1px 3px #00000040}:root[data-ui=shadcn] .dw .switch:focus-visible{box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .dw .toggle-round,:root[data-ui=shadcn] .dw .toggle-button,:root[data-ui=shadcn] .dw .round-step,:root[data-ui=shadcn] .dw .events-ack{border:1px solid var(--sc-border);background:var(--off,var(--sc-background));color:var(--sc-foreground);box-shadow:var(--sc-shadow-xs);transition:background-color .15s,box-shadow .15s}:root[data-ui=shadcn] .dw .round-step,:root[data-ui=shadcn] .dw .events-ack{background:var(--sc-background)}:root[data-ui=shadcn] .dw .toggle-button,:root[data-ui=shadcn] .dw .round-step{border-radius:8px}:root[data-ui=shadcn] .dw .events-ack{border-radius:6px;font-weight:500}:root[data-ui=shadcn] .dw :is(.toggle-round,.toggle-button):hover:not(:disabled,.on),:root[data-ui=shadcn] .dw .round-step:hover:not(:disabled),:root[data-ui=shadcn] .dw .events-ack:hover:not(:disabled){border-color:var(--sc-border);background:var(--sc-hover)}:root[data-ui=shadcn] .dw .toggle-round.on,:root[data-ui=shadcn] .dw .toggle-button.on{background:var(--on,var(--accent-c));color:var(--dw-on-accent);border-color:#0000}:root[data-ui=shadcn] .dw .toggle-confirm{border:1px solid var(--sc-border);background:var(--sc-muted);border-radius:10px}:root[data-ui=shadcn] .dw .push-button{box-shadow:var(--sc-shadow-md), inset 0 1px 0 #ffffff2e;border-color:#0000;transition:transform .1s,box-shadow .15s}:root[data-ui=shadcn] .dw .push-button.pill{border-radius:10px}:root[data-ui=shadcn] .dw .push-button:active{box-shadow:var(--sc-shadow-xs);transform:scale(.97)}:root[data-ui=shadcn] .dw .push-button.on{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-c) 25%, transparent);outline:none}:root[data-ui=shadcn] .dw .push-button:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-c) 30%, transparent), var(--sc-shadow-md);outline:none}:root[data-ui=shadcn] .dw .control-value{letter-spacing:-.02em;font-weight:600}:root[data-ui=shadcn] .dw .slider{border-radius:999px;height:6px}:root[data-ui=shadcn] .dw .slider-control.vertical .slider{width:6px}:root[data-ui=shadcn] .dw .slider::-webkit-slider-thumb{border:1px solid var(--fill,var(--accent-c));background:var(--sc-thumb);width:16px;height:16px;box-shadow:var(--sc-shadow-sm);transition:box-shadow .15s}:root[data-ui=shadcn] .dw .slider::-moz-range-thumb{border:1px solid var(--fill,var(--accent-c));background:var(--sc-thumb);width:16px;height:16px;box-shadow:var(--sc-shadow-sm);transition:box-shadow .15s}:root[data-ui=shadcn] .dw .slider:hover:not(:disabled)::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--fill,var(--accent-c)) 28%, transparent)}:root[data-ui=shadcn] .dw .slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--fill,var(--accent-c)) 28%, transparent)}:root[data-ui=shadcn] .dw .slider:hover:not(:disabled)::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--fill,var(--accent-c)) 28%, transparent)}:root[data-ui=shadcn] .dw .slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--fill,var(--accent-c)) 28%, transparent)}:root[data-ui=shadcn] .dw .slider:focus-visible{outline:none}:root[data-ui=shadcn] .dw .slider-bubble{box-shadow:var(--sc-shadow-md);border-radius:6px;padding:1px 8px;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .dw :is(.segmented-choice,.swatch,.day-picker .day) input{width:100%;height:100%;box-shadow:none;background:0 0;border:0}:root[data-ui=shadcn] .dw .day-picker .day{border-color:var(--sc-border);background:var(--sc-background);min-width:36px;height:30px;color:var(--sc-foreground);box-shadow:var(--sc-shadow-xs);border-radius:8px;font-size:.75rem}:root[data-ui=shadcn] .dw .day-picker .day.on{background:var(--accent-c);color:var(--dw-on-accent);border-color:#0000}:root[data-ui=shadcn] .dw .day-picker .day:has(input:focus-visible){box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .dw .widget-body .btn.primary,:root[data-ui=shadcn][data-theme=dark] .dw .widget-body .btn.primary{background:var(--accent-c);color:var(--dw-on-accent);border-color:#0000}:root[data-ui=shadcn] .dw .widget-body .btn.primary:hover:not(:disabled),:root[data-ui=shadcn][data-theme=dark] .dw .widget-body .btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-c) 90%, transparent)}:root[data-ui=shadcn] .dw .events-item{border-bottom-color:var(--sc-border)}:root[data-ui=shadcn] .dw .events-item.firing .events-mark{box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 22%, transparent)}:root[data-ui=shadcn] .dw .events-item.firing.critical .events-mark{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent)}:root[data-ui=shadcn] .dw .events-item.firing.info .events-mark{box-shadow:0 0 0 3px color-mix(in srgb, var(--info) 22%, transparent)}:root[data-ui=shadcn] .dw .events-title{font-weight:500}:root[data-ui=shadcn] .dw .events-meta,:root[data-ui=shadcn] .dw .events-foot{color:var(--sc-muted-foreground);font-size:.75rem}:root[data-ui=shadcn] .dw .rgb-centre{box-shadow:inset 0 0 0 3px var(--sc-card), 0 0 0 1px var(--sc-border)}:root[data-ui=shadcn] .dw .rgb-knob:after{border-color:var(--sc-thumb);box-shadow:var(--sc-shadow-md)}:root[data-ui=shadcn] .dw .rgb-picker{border-color:var(--sc-control);box-shadow:var(--sc-shadow-xs);border-radius:8px}:root[data-ui=shadcn] .dw .rgb-swatch{border-radius:8px}:root[data-ui=shadcn] .dw .rgb-swatch[aria-pressed=true]{border-color:var(--sc-foreground)}:root[data-ui=shadcn] .dw .rgb-chip{border-radius:6px}:root[data-ui=shadcn] .dw .joystick-pad{background:var(--sc-muted);box-shadow:inset 0 0 0 1px var(--sc-border)}:root[data-ui=shadcn] .dw .joystick-pad:before,:root[data-ui=shadcn] .dw .joystick-pad:after{background:var(--rule-strong)}:root[data-ui=shadcn] .dw .terminal-log{background:#09090b;border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff14}:root[data-ui=shadcn] .dw .terminal.light .terminal-log{background:var(--sc-muted);box-shadow:inset 0 0 0 1px var(--sc-border)}:root[data-ui=shadcn] .widget-library .widget-card{border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-sm);border-radius:14px;padding:12px;transition:box-shadow .15s}:root[data-ui=shadcn] .widget-library .widget-card:hover{border-color:var(--sc-border);background:var(--sc-card);box-shadow:var(--sc-shadow-md)}:root[data-ui=shadcn] .widget-library .widget-thumb,:root[data-ui=shadcn] .gallery-widget-frame{background-color:var(--sc-muted);background-image:radial-gradient(circle, var(--rule-strong) 1px, transparent 1px);border-radius:10px}:root[data-ui=shadcn] .dw .widget-preview-pane{border-color:var(--sc-border);background:color-mix(in srgb, var(--sc-muted) 50%, var(--sc-background));border-radius:14px}:root[data-ui=shadcn] .dw .segmented-choice{background:var(--sc-muted);border:0;border-radius:10px;padding:3px}:root[data-ui=shadcn] .dw .segmented-choice label{min-height:28px;color:var(--sc-muted-foreground);border-radius:7px;font-size:.8125rem;font-weight:500}:root[data-ui=shadcn] .dw .segmented-choice label.checked{background:var(--sc-background);color:var(--sc-foreground);box-shadow:var(--sc-shadow-sm);border-color:#0000;font-weight:500}:root[data-ui=shadcn][data-theme=dark] .dw .segmented-choice label.checked{background:#ffffff0f;border-color:#ffffff26}:root[data-ui=shadcn] .dw .segmented-choice label:has(input:focus-visible){box-shadow:var(--sc-ring-halo);outline:none}:root[data-ui=shadcn] .dw .widget-rule,:root[data-ui=shadcn] .dw .widget-form .data-source,:root[data-ui=shadcn] .dw .widget-form .position-fields{border-color:var(--sc-border);border-radius:10px}:root[data-ui=shadcn] .dw .swatch.checked{box-shadow:0 0 0 2px var(--sc-background), 0 0 0 4px var(--sc-foreground)}@keyframes sc-spin{to{transform:rotate(360deg)}}@keyframes sc-dialog-in{0%{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){:root[data-ui=shadcn] .dialog[open]{animation:none}:root[data-ui=shadcn] .btn[aria-busy=true]:before{animation-duration:2.4s}:root[data-ui=shadcn] input[type=checkbox]:before,:root[data-ui=shadcn] input[type=radio]:before,:root[data-ui=shadcn] input[type=checkbox][role=switch],:root[data-ui=shadcn] .dw .widget,:root[data-ui=shadcn] .dw .switch,:root[data-ui=shadcn] .dw .switch-thumb,:root[data-ui=shadcn] .dw .push-button{transition:none}:root[data-ui=shadcn] .dw .push-button:active{transform:none}}:root[data-ui=shadcn] .list-controls.selection-bar{border-color:var(--sc-border);background:var(--sc-muted)}:root[data-ui=shadcn] .search-field>svg,:root[data-ui=shadcn] .search-clear,:root[data-ui=shadcn] .chip-clear,:root[data-ui=shadcn] .th-sort-arrow,:root[data-ui=shadcn] .cell-sub,:root[data-ui=shadcn] .row-actions .btn,:root[data-ui=shadcn] .row-menu-btn,:root[data-ui=shadcn] .view-toggle button,:root[data-ui=shadcn] .dash-card-desc,:root[data-ui=shadcn] .dash-card-meta,:root[data-ui=shadcn] .list-empty-icon{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .search-clear:hover,:root[data-ui=shadcn] .row-menu-btn:hover,:root[data-ui=shadcn] .row-menu-btn[aria-expanded=true],:root[data-ui=shadcn] .view-toggle button[aria-checked=true]{background:var(--btn-hover,var(--sc-hover));color:var(--sc-foreground)}:root[data-ui=shadcn] .row-actions .btn:hover:not(:disabled){color:var(--sc-foreground)}:root[data-ui=shadcn] .row-actions .row-action-danger:hover:not(:disabled){color:var(--danger)}:root[data-ui=shadcn] .view-toggle,:root[data-ui=shadcn] .tag,:root[data-ui=shadcn] .list-empty,:root[data-ui=shadcn] .list-empty-icon,:root[data-ui=shadcn] .dash-card-link,:root[data-ui=shadcn] .dash-card-meta,:root[data-ui=shadcn] .skeleton-card,:root[data-ui=shadcn] .dash-card-menu .row-menu-btn{border-color:var(--sc-border)}:root[data-ui=shadcn] .view-toggle{background:var(--sc-background);box-shadow:var(--sc-shadow-xs)}:root[data-ui=shadcn] .tag{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .list-empty,:root[data-ui=shadcn] .skeleton-card,:root[data-ui=shadcn] .dash-card-link{background:var(--sc-card)}:root[data-ui=shadcn] .dash-card-link{box-shadow:var(--sc-shadow-xs)}:root[data-ui=shadcn] .dash-card-link:hover{border-color:color-mix(in srgb, var(--sc-foreground) 22%, var(--sc-border))}:root[data-ui=shadcn] .dash-card-link:focus-visible{outline:2px solid var(--sc-ring)}:root[data-ui=shadcn] .dash-card .dashboard-thumb{border-bottom-color:var(--sc-border);background:var(--sc-muted)}:root[data-ui=shadcn] .dash-card .dashboard-thumb-block{border-color:var(--sc-border);background:var(--sc-card)}:root[data-ui=shadcn] .dash-card-menu .row-menu-btn{background:var(--sc-card);box-shadow:var(--sc-shadow-xs)}:root[data-ui=shadcn] .dash-card-menu .row-menu-btn:hover,:root[data-ui=shadcn] .dash-card-menu .row-menu-btn[aria-expanded=true]{background:var(--sc-hover)}:root[data-ui=shadcn] .dash-card-title strong{color:var(--sc-foreground)}:root[data-ui=shadcn] .list-table thead th{height:40px;color:var(--sc-muted-foreground);white-space:nowrap;font-size:.8125rem}:root[data-ui=shadcn] .list-table thead th .th-sort{color:inherit;font-weight:500}:root[data-ui=shadcn] .list-table thead th .th-sort:hover,:root[data-ui=shadcn] .list-table thead th .th-sort.active{color:var(--sc-foreground)}:root[data-ui=shadcn] .list-table td{height:52px;padding-top:8px;padding-bottom:8px}:root[data-ui=shadcn] .list-table tbody tr:last-child td{border-bottom:0}:root[data-ui=shadcn] .list-table tbody tr[aria-selected=true] td{background:color-mix(in srgb, var(--sc-muted) 70%, transparent)}:root[data-ui=shadcn] .list-table .cell-link{color:var(--sc-foreground);font-weight:400}:root[data-ui=shadcn] .list-table .cell-link:hover{text-decoration:underline}:root[data-ui=shadcn] .list-table .row-empty td{height:auto;padding:32px 16px}:root[data-ui=shadcn] .list-table .row-empty .empty{text-align:center;background:0 0;border:0}:root[data-ui=shadcn] .device-table.list-table .row-actions .btn{width:32px;min-width:32px;padding:0}:root[data-ui=shadcn] .list-table .row-actions .btn:not(:has(>svg:only-child)){width:auto;padding:0 10px}:root[data-ui=shadcn] .list-pager select{min-height:32px;padding-block:0}:root[data-ui=shadcn] .search-field>svg{z-index:1}:root[data-ui=shadcn] .search-field input[type=search]{padding-left:34px;padding-right:32px}:root[data-ui=shadcn] .search-clear{z-index:1}:root[data-ui=shadcn] .list-table td a.cell-link:not(.btn){font-weight:400}:root[data-ui=shadcn] .dash-card .dashboard-thumb-block:before{background:var(--sc-border)}:root[data-ui=shadcn] .dash-card .dashboard-thumb-block[data-kind=line]:after{background:linear-gradient(to bottom right, transparent calc(50% - 1px), color-mix(in srgb, var(--sc-muted-foreground) 45%, transparent) 50%, transparent calc(50% + 1px))}:root[data-ui=shadcn] .dash-card .dashboard-thumb-block[data-kind=bars]:after{background:color-mix(in srgb, var(--sc-muted-foreground) 30%, transparent)}:root[data-ui=shadcn] .dash-card .dashboard-thumb-block[data-kind=ring]:after{border-color:color-mix(in srgb, var(--sc-muted-foreground) 40%, transparent);border-bottom-color:#0000}:root[data-ui=shadcn] .dash-card .dashboard-thumb-block[data-kind=map]:after{background-image:radial-gradient(color-mix(in srgb, var(--sc-muted-foreground) 40%, transparent) 1px, transparent 1.2px)}:root[data-ui=shadcn] .item-avatar:not([class*=tone-]){border-color:var(--sc-border);background:var(--sc-muted);color:var(--sc-foreground)}:root[data-ui=shadcn] .item-avatar.has-image,:root[data-ui=shadcn] .item-avatar-edit,:root[data-ui=shadcn] .icon-choice,:root[data-ui=shadcn] .preview-row,:root[data-ui=shadcn] .crop-preview,:root[data-ui=shadcn] .drop-empty{border-color:var(--sc-border);background:var(--sc-card)}:root[data-ui=shadcn] .item-avatar[class*=tone-]{background:color-mix(in srgb, var(--tone) 12%, var(--sc-card))}:root[data-ui=shadcn] .item-cover,:root[data-ui=shadcn] .look-preview,:root[data-ui=shadcn] .drop-zone{border-color:var(--sc-border);background:var(--sc-muted)}:root[data-ui=shadcn] .drop-zone{border-color:color-mix(in srgb, var(--sc-foreground) 22%, var(--sc-border))}:root[data-ui=shadcn] .drop-zone.dragging{border-color:var(--sc-ring);background:var(--sc-card)}:root[data-ui=shadcn] .icon-choice{color:var(--sc-foreground)}:root[data-ui=shadcn] .icon-choice:hover{background:var(--sc-hover)}:root[data-ui=shadcn] .icon-choice.selected:not([class*=tone-]){border-color:var(--sc-foreground);box-shadow:0 0 0 1px var(--sc-foreground)}:root[data-ui=shadcn] .icon-choice-tag{background:var(--sc-muted);color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .picker-tabs{border-bottom-color:var(--sc-border)}:root[data-ui=shadcn] .picker-tabs button,:root[data-ui=shadcn] .picker-heading,:root[data-ui=shadcn] .item-avatar-edit,:root[data-ui=shadcn] .drop-empty{color:var(--sc-muted-foreground)}:root[data-ui=shadcn] .picker-tabs button[aria-selected=true]{border-bottom-color:var(--sc-foreground);color:var(--sc-foreground)}:root[data-ui=shadcn] .chip.chip-on{border-color:var(--sc-foreground);background:var(--sc-foreground);color:var(--sc-background)}:root[data-ui=shadcn] .look-swatch{border-color:var(--sc-border)}:root[data-ui=shadcn] .look-swatch.neutral{background:linear-gradient(135deg, var(--sc-card) 0 50%, var(--sc-muted) 50%)}:root[data-ui=shadcn] .look-swatch.selected{box-shadow:0 0 0 2px var(--sc-background), 0 0 0 4px var(--sc-foreground)}:root[data-ui=shadcn] .item-avatar-button:focus-visible{outline-color:var(--sc-ring)}:root[data-ui=shadcn] .scope-row:has(.item-avatar){gap:8px;padding-left:10px}:root[data-ui=shadcn] .nav-item .item-avatar svg{width:13px;height:13px}:root[data-ui=shadcn] .sidebar .item-avatar:not([class*=tone-]):not(.has-image){border-color:color-mix(in srgb, currentColor 22%, transparent);background:color-mix(in srgb, currentColor 7%, transparent);color:inherit}:root[data-ui=shadcn] .avatar-stack .item-avatar{box-shadow:0 0 0 2px var(--sc-card)}:root[data-ui=shadcn] .rule-devices-text a{color:var(--sc-foreground);font-weight:400}:root[data-ui=shadcn] :is(.layout-option,.layout-drawing,.layout-preview,.layout-preview-side,.layout-preview-page span){border-color:var(--sc-border)}:root[data-ui=shadcn] :is(.layout-option,.layout-preview-side,.layout-preview-page span){background:var(--sc-card)}:root[data-ui=shadcn] :is(.layout-drawing,.layout-preview){background:var(--sc-muted)}:root[data-ui=shadcn] .layout-option.selected{border-color:var(--sc-foreground);box-shadow:0 0 0 1px var(--sc-foreground)}:root[data-ui=shadcn] .layout-page{background:color-mix(in srgb, var(--sc-muted-foreground) 45%, transparent)}:root[data-ui=shadcn] .library-filters>form.toolbar{flex-wrap:nowrap;flex:24rem;max-width:none}:root[data-ui=shadcn] .library-filters>form.toolbar input[type=search]{flex:auto;width:auto;min-width:0;max-width:none}:root[data-ui=shadcn] :is(.canvas-drawing,.canvas-drawing span){border-color:var(--sc-border)}:root[data-ui=shadcn] .widget-style-editor{grid-template-columns:minmax(0,1.4fr) minmax(16rem,1fr);align-items:start;gap:16px 24px;display:grid}:root[data-ui=shadcn] .widget-style-editor>.check-row{grid-column:1}:root[data-ui=shadcn] .widget-style-preview{gap:var(--w-gap,12px);background:color-mix(in srgb, var(--sc-foreground) 4%, var(--sc-background));border-radius:12px;grid-area:1/2/span 2;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px;padding:12px;display:grid}@media (max-width:900px){:root[data-ui=shadcn] .widget-style-editor{grid-template-columns:minmax(0,1fr)}:root[data-ui=shadcn] .widget-style-preview{grid-area:auto/1}}:root[data-ui=shadcn] .theme-drawing{background:var(--sc-background);border-radius:6px;grid-template-columns:1fr 1fr;gap:4px;height:46px;margin-bottom:6px;padding:5px;display:grid}:root[data-ui=shadcn] .theme-drawing>span{border:1px solid var(--sc-border);background:var(--sc-card);border-radius:4px;flex-direction:column;justify-content:space-between;padding:4px 5px;display:flex}:root[data-ui=shadcn] .theme-drawing :is(i,b,em){border-radius:2px;display:block}:root[data-ui=shadcn] .theme-drawing i{background:var(--sc-muted-foreground);opacity:.6;width:60%;height:3px}:root[data-ui=shadcn] .theme-drawing b{background:var(--sc-foreground);width:70%;height:7px}:root[data-ui=shadcn] .theme-drawing em{background:var(--sc-primary);border-radius:999px;align-self:flex-end;width:14px;height:8px}:root[data-ui=shadcn] .theme-drawing[data-widget-theme=soft]{background:color-mix(in srgb, var(--sc-foreground) 6%, var(--sc-background))}:root[data-ui=shadcn] .theme-drawing[data-widget-theme=soft]>span{border-color:#0000;border-radius:9px}:root[data-ui=shadcn] .theme-drawing[data-widget-theme=soft] b{opacity:.75;height:6px}:root[data-ui=shadcn] .theme-drawing[data-widget-theme=soft] em{border-radius:50%;width:10px;height:10px}:root[data-ui=shadcn] .canvas-drawing span,:root[data-ui=shadcn] .canvas-drawing[data-pattern=none]{background-color:var(--sc-card)}:root[data-ui=shadcn] .profile-photo{flex-wrap:wrap;align-items:center;gap:16px;display:flex}:root[data-ui=shadcn] .profile-photo>.stack{flex:16rem;min-width:0}:root[data-ui=shadcn] .profile-photo-drop{border:1px dashed #0000;border-radius:50%;padding:4px;transition:border-color .15s,background-color .15s}:root[data-ui=shadcn] .profile-photo-drop.dragging{border-color:var(--sc-ring,var(--platform-accent));background:var(--sc-muted)}:root[data-ui=shadcn] .photo-sources{border:1px solid var(--sc-border);border-radius:8px;margin:0;padding:0;list-style:none;display:grid}:root[data-ui=shadcn] .photo-sources>li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:56px;padding:10px 14px;display:flex}:root[data-ui=shadcn] .photo-sources>li+li{border-top:1px solid var(--sc-border)}:root[data-ui=shadcn] .photo-sources>li>.stack{flex:14rem;min-width:0}:root[data-ui=shadcn] .google-photo-button{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:32px}:root[data-ui=shadcn] .is-busy{opacity:.6;pointer-events:none}:root[data-ui=shadcn] .show-sm{display:none}:root[data-ui=shadcn] .resource-tabs{min-width:0;max-width:100%}@media (max-width:1100px){:root[data-ui=shadcn] .device-table .col-md{display:none}}@media (max-width:700px){:root[data-ui=shadcn] .dialog.large.wide{width:100vw;max-width:100vw;height:100vh;max-height:100vh}:root[data-ui=shadcn] .library-filters>form.toolbar{flex:100%}}@media (max-width:640px){:root[data-ui=shadcn] .content{padding:16px 14px 32px}:root[data-ui=shadcn] .device-table .col-sm{display:none}:root[data-ui=shadcn] .device-table .show-sm{display:block}:root[data-ui=shadcn] .device-table td.col-name{min-width:0}:root[data-ui=shadcn] .device-table :is(td.actions,th.col-actions),:root[data-ui=shadcn] .device-table .badge-detail{display:none}:root[data-ui=shadcn] .table-wrap{overflow-x:auto}:root[data-ui=shadcn] .table-wrap>table:not(.fits){min-width:34rem}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card{grid-template-columns:minmax(0,1fr)!important}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card>.card-header>.stack{grid-area:1/1!important}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card>.card-header>.card-actions{flex-wrap:wrap;justify-content:flex-start;grid-area:2/1!important}:root[data-ui=shadcn] .app :is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card>.card-body{grid-area:3/1!important}:root[data-ui=shadcn] .device-table table{min-width:0}:root[data-ui=shadcn] .card:not(:is(.content-inner,.settings-stack,.stack,.danger-zone,.admin-page)>.card)>.card-header{flex-wrap:wrap}:root[data-ui=shadcn] .card-header>.stack{flex:100%;min-width:0}:root[data-ui=shadcn] .card-header>.card-actions{flex-wrap:wrap;flex:100%;justify-content:flex-start}:root[data-ui=shadcn] .device-table td.col-name .cell-sub{white-space:normal;max-width:none}:root[data-ui=shadcn] .stats{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-ui=shadcn] .stats>.stat:nth-child(n+3){border-top:1px solid var(--sc-border)}:root[data-ui=shadcn] .resource-overview{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-ui=shadcn] .page-header-lead{align-items:flex-start;gap:12px}:root[data-ui=shadcn] .page-header-lead .item-avatar.s56{width:44px;height:44px}:root[data-ui=shadcn] .page-header h1{font-size:1.3rem}:root[data-ui=shadcn] .list-controls .search-field{flex:100%}}@container (max-width:520px){:root[data-ui=shadcn] .rule-status-list{display:block}:root[data-ui=shadcn] .rule-status-row{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}:root[data-ui=shadcn] .rule-status-row .rule-devices{flex:100%}:root[data-ui=shadcn] .rule-status-row .rule-status-head{flex:1 1 0}}:root[data-ui=shadcn] .account-notices .notice-row{align-items:flex-start;gap:12px;display:flex}:root[data-ui=shadcn] .account-notices .notice-row>span{flex:auto;min-width:0}:root[data-ui=shadcn] .account-notices .notice-close{width:24px;height:24px;color:var(--sc-muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin:-2px -4px -2px 0;padding:0;display:inline-grid}:root[data-ui=shadcn] .account-notices .notice-close:hover{background:var(--sc-muted);color:var(--sc-foreground)}:root[data-ui=shadcn] .account-notices .notice-close:focus-visible{outline:2px solid var(--sc-ring);outline-offset:1px}:root[data-ui=shadcn] .account-notices .notice-close svg{width:14px;height:14px}:root[data-ui=shadcn] .side-collapse{width:28px;height:28px;color:var(--shell-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-left:auto;padding:0;display:none}:root[data-ui=shadcn] .side-collapse:hover{background:var(--shell-hover);color:var(--shell-ink)}:root[data-ui=shadcn] .side-collapse:focus-visible{outline:2px solid var(--sc-ring);outline-offset:1px}:root[data-ui=shadcn] .side-collapse svg{width:18px;height:18px}:root[data-ui=shadcn] .sidebar-tip{z-index:1000;background:var(--sc-foreground);max-width:260px;color:var(--sc-background);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:500;position:fixed;overflow:hidden;transform:translateY(-50%)}@media (min-width:901px){:root[data-ui=shadcn] .side-collapse{display:inline-grid}:root[data-ui=shadcn] .app{transition:grid-template-columns .2s}:root[data-sidebar=collapsed] .app{--sidebar-w:64px}:root[data-ui=shadcn][data-sidebar=collapsed] .sidebar{z-index:30;overflow:visible}:root[data-ui=shadcn][data-sidebar=collapsed] .sidebar-scroll{overflow-x:hidden}:root[data-ui=shadcn][data-sidebar=collapsed] .sidebar-body{gap:8px;padding:8px 8px 16px}:root[data-ui=shadcn][data-sidebar=collapsed] .nav-item{justify-content:center;gap:0;min-height:36px;padding:6px;font-size:0}:root[data-ui=shadcn][data-sidebar=collapsed] .nav-item svg{width:18px;height:18px}:root[data-ui=shadcn][data-sidebar=collapsed] :is(.nav-item .count,.side-user-text,.nav-empty){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root[data-ui=shadcn][data-sidebar=collapsed] .nav-label{background:var(--shell-line);pointer-events:none;height:1px;min-height:0;margin:6px 8px;padding:0;font-size:0;overflow:hidden}:root[data-ui=shadcn][data-sidebar=collapsed] .nav-label svg{display:none}:root[data-ui=shadcn][data-sidebar=collapsed] .side-account{justify-content:center;padding:6px 8px}:root[data-ui=shadcn][data-sidebar=collapsed] .side-user{justify-content:center;min-height:52px;padding:6px}:root[data-ui=shadcn][data-sidebar=collapsed] .side-user>svg{display:none}:root[data-ui=shadcn][data-sidebar=collapsed] .side-user .avatar{width:36px;height:36px}:root[data-ui=shadcn][data-sidebar=collapsed] .side-account .side-menu{width:240px;min-width:240px;left:0}:root[data-ui=shadcn][data-sidebar=collapsed] .sidebar-foot{flex-direction:column;gap:8px;padding:10px 6px}:root[data-ui=shadcn][data-sidebar=collapsed] .side-status{font-size:0}:root[data-ui=shadcn][data-sidebar=collapsed] .side-collapse{margin-left:0}}@media (prefers-reduced-motion:reduce){:root[data-ui=shadcn] .app{transition:none}}:root[data-ui=shadcn] .home{gap:28px}:root[data-ui=shadcn] .home-section{gap:12px;display:grid}:root[data-ui=shadcn] .home-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}:root[data-ui=shadcn] .home-section-head h2{margin:0;font-size:1rem;font-weight:600}:root[data-ui=shadcn] .home-recent{border:1px solid var(--sc-border);background:var(--sc-card);border-radius:12px;padding:16px 20px}:root[data-ui=shadcn] .home-recent .table-wrap{box-shadow:none;border:0;border-radius:0}:root[data-ui=shadcn] .home-filter select{min-height:32px;padding-block:4px}:root[data-ui=shadcn] .home-recent-table table{width:100%}:root[data-ui=shadcn] .home-recent-table td,:root[data-ui=shadcn] .home-recent-table th{max-width:320px}:root[data-ui=shadcn] .home-recent-name{min-width:0;color:var(--sc-foreground);align-items:center;gap:10px;font-weight:500;display:flex}:root[data-ui=shadcn] .home-kind{background:var(--sc-muted);color:var(--sc-muted-foreground);border-radius:999px;flex:none;padding:1px 8px;font-size:.75rem;font-weight:500}:root[data-ui=shadcn] .home-start,:root[data-ui=shadcn] .home-orgs,:root[data-ui=shadcn] .home-docs{gap:14px;margin:0;padding:0;list-style:none;display:grid}:root[data-ui=shadcn] .home-start{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}:root[data-ui=shadcn] .home-start-card{height:100%;color:var(--sc-foreground);gap:6px;text-decoration:none;display:grid}:root[data-ui=shadcn] .home-start-art{border:1px solid var(--sc-border);background:var(--sc-muted);color:var(--sc-muted-foreground);border-radius:10px;margin-bottom:6px;transition:border-color .15s;display:block}:root[data-ui=shadcn] .home-start-card:hover .home-start-art{border-color:var(--sc-primary)}:root[data-ui=shadcn] .home-start-card:hover strong{text-underline-offset:3px;text-decoration:underline}:root[data-ui=shadcn] .home-art{width:100%;height:auto;display:block}:root[data-ui=shadcn] .home-art .art-fill{fill:var(--sc-card)}:root[data-ui=shadcn] .home-art .art-accent{fill:var(--sc-primary)}:root[data-ui=shadcn] .home-art .art-accent-soft{fill:color-mix(in srgb, var(--sc-primary) 16%, var(--sc-card))}:root[data-ui=shadcn] .home-art .art-accent-stroke{stroke:var(--sc-primary)}:root[data-ui=shadcn] .home-start-kicker{background:var(--sc-muted);color:var(--sc-muted-foreground);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;justify-self:start;padding:1px 6px;font-size:.6875rem}:root[data-ui=shadcn] .home-docs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:4px 24px}:root[data-ui=shadcn] .home-doc,:root[data-ui=shadcn] .home-org{color:var(--sc-foreground);border-radius:8px;align-items:center;gap:12px;padding:10px 8px;text-decoration:none;display:flex}:root[data-ui=shadcn] .home-doc:hover,:root[data-ui=shadcn] .home-org:hover{background:var(--sc-hover);text-decoration:none}:root[data-ui=shadcn] .home-doc>svg,:root[data-ui=shadcn] .home-org>svg{width:16px;height:16px;color:var(--sc-muted-foreground);flex:none;margin-left:auto}:root[data-ui=shadcn] .home-doc-icon{border:1px solid var(--sc-border);width:32px;height:32px;color:var(--sc-muted-foreground);border-radius:8px;flex:none;place-items:center;display:grid}:root[data-ui=shadcn] .home-doc-icon svg{width:16px;height:16px}:root[data-ui=shadcn] .home-doc-text,:root[data-ui=shadcn] .home-org-text{gap:2px;min-width:0;display:grid}:root[data-ui=shadcn] .home-orgs{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}:root[data-ui=shadcn] .home-org{border:1px solid var(--sc-border);background:var(--sc-card);border-radius:10px;padding:12px 14px}@media (max-width:760px){:root[data-ui=shadcn] .home-col-created{display:none}}
