:root{--c-accent: #1e3a8a;--c-accent-hover: color-mix(in oklch, var(--c-accent), black 18%);--c-accent-soft: color-mix(in oklch, var(--c-accent), white 88%);--c-accent-ring: color-mix(in srgb, var(--c-accent), transparent 75%);--c-ink: #16224a;--topbar-bg: #ffffff;--topbar-fg: #16224a;--sidebar-bg: #111f42;--sidebar-fg: #c3d0ea;--sidebar-fg-section: color-mix(in srgb, var(--sidebar-fg), var(--sidebar-bg) 40%);--sidebar-active-bg: rgba(96, 130, 207, .25);--bg-app: #f4f6f9;--t-body: #3c4657;--t-secondary: #5b6472;--t-muted: #7c8698;--t-placeholder: #8a94a6;--t-faint: #98a0ad;--bg-surface: #ffffff;--bg-input: #f2f4f8;--bg-thead: #fafbfd;--bg-row-hover: #f8fafc;--bg-row-selected: #eef4ff;--border-panel: #e3e7ee;--border-control: #dfe4ec;--border-control-hover:#c9d2e0;--border-row: #eef1f5;--s-ok: #15803d;--s-ok-bg: #e7f5ec;--s-warn: #b45309;--s-warn-bg: #fdf3e0;--s-crit: #b91c1c;--s-crit-bg: #fdeaea;--s-crit-solid: #dc2626;--s-info: #1d4ed8;--s-info-bg: #e8effc;--s-neutral: #5b6472;--s-neutral-bg: #eef1f4;--p-android: #3d8b40;--p-ios: #0a5bd0;--p-windows: #0067c0;--p-linux: #c2410c;--p-macos: #4b5563;--font-ui: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--r-check: 3px;--r-tag: 4px;--r-control: 6px;--r-panel: 8px;--r-chip: 14px;--h-control: 30px;--h-topbar: 52px;--w-sidebar: 224px;--shadow-popover: 0 4px 16px rgba(22, 34, 74, .1);--shadow-modal: 0 16px 48px rgba(22, 34, 74, .22);--shadow-toast: 0 8px 24px rgba(22, 34, 74, .25);--brand: var(--c-accent);--brand-hover: var(--c-accent-hover);--brand-soft: var(--c-accent-soft);--brand-soft-text: var(--c-accent);--bg-base: var(--bg-app);--bg-muted: var(--bg-thead);--sidebar-border: rgba(255,255,255,.07);--sidebar-hover: rgba(255,255,255,.07);--sidebar-active: var(--sidebar-active-bg);--sidebar-active-text: #ffffff;--sidebar-text: var(--sidebar-fg);--sidebar-text-muted: var(--sidebar-fg-section);--sidebar-group-label: var(--sidebar-fg-section);--text-primary: var(--c-ink);--text-secondary: var(--t-secondary);--text-muted: var(--t-muted);--border-default: var(--border-panel);--border-focus: var(--c-accent);--success-bg: var(--s-ok-bg);--success-text: var(--s-ok);--success-border: color-mix(in srgb, var(--s-ok), white 70%);--success-icon: var(--s-ok);--warning-bg: var(--s-warn-bg);--warning-text: var(--s-warn);--warning-border: color-mix(in srgb, var(--s-warn), white 70%);--warning-icon: var(--s-warn);--error-bg: var(--s-crit-bg);--error-text: var(--s-crit);--error-border: color-mix(in srgb, var(--s-crit), white 70%);--error-icon: var(--s-crit-solid);--info-bg: var(--s-info-bg);--info-text: var(--s-info);--info-border: color-mix(in srgb, var(--s-info), white 70%);--info-icon: var(--s-info);--android-color: var(--p-android);--ios-color: var(--p-ios);--windows-color: var(--p-windows);--linux-color: var(--p-linux);--shadow-xs: none;--shadow-sm: none;--shadow-md: var(--shadow-popover);--shadow-lg: var(--shadow-modal);--radius-sm: var(--r-control);--radius-md: var(--r-panel);--radius-lg: var(--r-panel);--radius-xl: 10px;--radius-full: 9999px;font-family:var(--font-ui);-webkit-font-smoothing:antialiased;color:var(--t-body);background:var(--bg-app)}*{box-sizing:border-box}body{margin:0}.mono,code,.code-block{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.layout{min-height:100vh;display:grid;grid-template-columns:var(--w-sidebar) 1fr;grid-template-rows:var(--h-topbar) 1fr;grid-template-areas:"header header" "sidebar content"}.topbar{grid-area:header;display:flex;align-items:center;gap:12px;height:var(--h-topbar);padding:0 16px 0 0;background:var(--topbar-bg);border-bottom:1px solid var(--border-panel);position:sticky;top:0;z-index:20}.topbar-org{width:var(--w-sidebar);min-width:var(--w-sidebar);height:100%;padding:0 16px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border-panel)}.topbar-org-name{font-size:13px;font-weight:700;color:var(--topbar-fg);line-height:1.2}.topbar-org-product{font-size:9.5px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--t-muted);margin-top:1px}.topbar-workspace{display:inline-flex;align-items:center;gap:6px;height:var(--h-control);padding:0 12px;border:1px solid var(--border-control);border-radius:var(--r-control);background:var(--bg-surface);color:var(--t-body);font-size:12.5px;font-weight:500;font-family:var(--font-ui);cursor:pointer;white-space:nowrap}.topbar-workspace:hover{background:#f6f8fb;border-color:var(--border-control-hover)}.topbar-caret{color:var(--t-faint);font-size:10px}.topbar-search{position:relative;flex:1;max-width:560px;display:flex;align-items:center}.topbar-search-input{width:100%;height:var(--h-control);padding:0 40px 0 12px;border:1px solid var(--border-control);border-radius:var(--r-control);background:var(--bg-input);color:var(--t-body);font-size:12.5px;font-family:var(--font-ui);outline:none}.topbar-search-input::placeholder{color:var(--t-placeholder)}.topbar-search-input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-ring);background:var(--bg-surface)}.topbar-search-kbd{position:absolute;right:10px;font-family:var(--font-mono);font-size:11px;color:var(--t-faint);pointer-events:none}.topbar-spacer{flex:1}.topbar-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--t-secondary);white-space:nowrap;text-decoration:none}.topbar-link{cursor:pointer}.topbar-link:hover{color:var(--c-ink)}.topbar-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.topbar-badge{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:0 6px;border-radius:var(--r-panel);line-height:1.5}.topbar-badge.info{background:var(--s-info-bg);color:var(--s-info)}.topbar-badge.crit{background:var(--s-crit-solid);color:#fff}.topbar-lang{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--t-secondary);font-size:12.5px;font-weight:500;font-family:var(--font-ui);cursor:pointer}.topbar-lang:hover{color:var(--c-ink)}.topbar-avatar{width:30px;height:30px;border-radius:50%;background:var(--c-accent);color:#fff;border:none;font-size:11px;font-weight:700;font-family:var(--font-ui);cursor:pointer;flex-shrink:0}.sidebar{grid-area:sidebar;background:var(--sidebar-bg);display:flex;flex-direction:column;position:sticky;top:var(--h-topbar);height:calc(100vh - var(--h-topbar));overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-logo{height:var(--h-topbar);padding:0 16px;display:flex;align-items:center;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-logo-inner{display:flex;align-items:center;gap:10px}.sidebar-logo-icon{width:30px;height:30px;border-radius:var(--r-control);background:var(--c-accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-text{display:flex;flex-direction:column}.sidebar-logo-name{font-size:14px;font-weight:700;color:#fff;line-height:1.2}.sidebar-logo-tagline{font-size:9.5px;color:var(--sidebar-fg-section);letter-spacing:.5px;text-transform:uppercase;margin-top:1px}.sidebar-nav{flex:1;padding:10px 8px;display:flex;flex-direction:column;gap:1px}.sidebar-group{margin-bottom:6px}.sidebar-group-label{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--sidebar-fg-section);background:none;border:none;cursor:pointer;font-family:var(--font-ui);text-align:left}.sidebar-group-label:hover{color:var(--sidebar-fg)}.sidebar-group-caret{font-size:9px;transition:transform .15s;opacity:.7}.sidebar-group-label.collapsed .sidebar-group-caret{transform:rotate(-90deg)}.nav-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--sidebar-fg);font-size:13.5px;font-weight:500;padding:6px 12px;border-radius:var(--r-control);transition:background .12s,color .12s;position:relative;white-space:nowrap}.nav-link:hover{background:#ffffff12;color:#fff}.nav-link.active{background:var(--sidebar-active-bg);color:#fff;font-weight:600}.nav-link-badge{margin-left:auto;font-size:11px;font-weight:600;font-family:var(--font-mono);padding:0 6px;border-radius:var(--r-panel);background:var(--s-crit-solid);color:#fff}.nav-link-badge.new{background:var(--s-ok);color:#fff}.nav-link-badge.preview{background:var(--s-warn);color:#fff}.nav-link-badge.info{background:var(--s-info);color:#fff}.nav-link-badge.neutral{background:#ffffff24;color:var(--sidebar-fg)}.nav-link.placeholder{opacity:.6}.nav-link.placeholder:hover{opacity:.85}.nav-link.placeholder.active{opacity:1}.sidebar-bottom{padding:10px 8px;border-top:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-signout{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border-radius:var(--r-control);border:none;background:transparent;color:var(--sidebar-fg);font-size:13px;font-weight:500;font-family:var(--font-ui);cursor:pointer;transition:background .12s,color .12s;text-align:left}.sidebar-signout:hover{background:#dc262629;color:#fecaca}.content{grid-area:content;padding:20px;min-width:0;background:var(--bg-app)}.surface{background:var(--bg-surface);border:1px solid var(--border-panel);border-radius:var(--r-panel);padding:16px}.surface-head{margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.surface-head-text h1,.surface-head h1{margin:0 0 4px;font-size:13.5px;font-weight:600;color:var(--c-ink)}.surface-head-text p,.surface-head p{margin:0;font-size:12px;color:var(--t-muted);line-height:1.5}.page-header{margin-bottom:16px}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header-left{display:flex;flex-direction:column;gap:3px}.page-header-title{font-size:20px;font-weight:700;color:var(--c-ink);margin:0;letter-spacing:-.2px}.page-header-subtitle{font-size:12.5px;color:var(--t-muted);margin:0}.page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-control);font-size:12.5px;font-weight:600;font-family:var(--font-ui);padding:0 13px;border-radius:var(--r-control);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s;white-space:nowrap;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--c-accent-ring)}.btn-primary{background:var(--c-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--c-accent-hover)}.btn-secondary{background:var(--bg-surface);color:var(--t-body);border-color:var(--border-control)}.btn-secondary:hover:not(:disabled){background:#f6f8fb;border-color:var(--border-control-hover)}.btn-ghost{background:transparent;color:var(--c-accent)}.btn-ghost:hover:not(:disabled){background:var(--c-accent-soft)}.btn-danger{background:var(--s-crit);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in oklch,var(--s-crit),black 12%)}.btn-success{background:var(--s-ok);color:#fff}.btn-success:hover:not(:disabled){background:color-mix(in oklch,var(--s-ok),black 12%)}.btn-sm{height:26px;font-size:12px;padding:0 10px}.btn-lg{height:36px;font-size:13.5px;padding:0 18px}.btn-icon{width:28px;height:28px;padding:0}.action-button{display:inline-flex;align-items:center;gap:6px;height:var(--h-control);font-size:12.5px;font-weight:600;padding:0 13px;border-radius:var(--r-control);border:1px solid var(--border-control);background:var(--bg-surface);color:var(--t-body);cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.action-button:hover{background:#f6f8fb;border-color:var(--border-control-hover)}.inline-message{display:flex;align-items:flex-start;gap:10px;margin:10px 0;padding:9px 12px;border-radius:var(--r-control);font-size:12.5px;line-height:1.5;border:1px solid transparent}.inline-message.info{background:var(--s-info-bg);color:var(--s-info);border-color:color-mix(in srgb,var(--s-info),white 70%)}.inline-message.error{background:var(--s-crit-bg);color:var(--s-crit);border-color:color-mix(in srgb,var(--s-crit),white 70%)}.inline-message.success{background:var(--s-ok-bg);color:var(--s-ok);border-color:color-mix(in srgb,var(--s-ok),white 70%)}.inline-message.warning{background:var(--s-warn-bg);color:var(--s-warn);border-color:color-mix(in srgb,var(--s-warn),white 70%)}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:10px;font-size:11.5px;font-weight:600;line-height:1.7;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-success{background:var(--s-ok-bg);color:var(--s-ok)}.badge-warning{background:var(--s-warn-bg);color:var(--s-warn)}.badge-error{background:var(--s-crit-bg);color:var(--s-crit)}.badge-info{background:var(--s-info-bg);color:var(--s-info)}.badge-neutral{background:var(--s-neutral-bg);color:var(--s-neutral)}.badge-purple{background:var(--c-accent-soft);color:var(--c-accent)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:10px;font-size:11.5px;font-weight:600}.status-badge.active{background:var(--s-ok-bg);color:var(--s-ok)}.status-badge.preview{background:var(--s-warn-bg);color:var(--s-warn)}.status-badge.planned{background:var(--s-neutral-bg);color:var(--s-neutral)}.status-badge.online{background:var(--s-ok-bg);color:var(--s-ok)}.status-badge.offline{background:var(--s-neutral-bg);color:var(--s-neutral)}.status-badge.pending{background:var(--s-warn-bg);color:var(--s-warn)}.status-badge.error{background:var(--s-crit-bg);color:var(--s-crit)}.platform-tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:1px 5px;border-radius:var(--r-tag);border:1px solid var(--border-control);color:var(--t-secondary)}.stat-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--bg-surface);border:1px solid var(--border-panel);border-radius:var(--r-panel);padding:14px 16px;position:relative;overflow:hidden}.stat-card-accent{display:none}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stat-card-label{font-size:11.5px;font-weight:500;color:var(--t-muted)}.stat-card-icon{width:28px;height:28px;border-radius:var(--r-control);display:flex;align-items:center;justify-content:center}.stat-card-value{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--c-ink);line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums}.stat-card-trend{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--t-muted)}.platform-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.platform-tile{background:var(--bg-surface);border:1px solid var(--border-panel);border-radius:var(--r-panel);padding:16px;display:flex;flex-direction:column;gap:12px}.platform-tile-header{display:flex;align-items:center;gap:12px}.platform-tile-icon{width:36px;height:36px;border-radius:var(--r-control);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.platform-tile-title{font-size:13.5px;font-weight:600;color:var(--c-ink)}.platform-tile-desc{font-size:12.5px;color:var(--t-muted);line-height:1.5;flex:1}.platform-tile-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border-row)}.platform-tile-caps{display:flex;gap:6px;flex-wrap:wrap}.platform-cap-tag{font-size:10.5px;padding:1px 7px;border-radius:var(--r-tag);background:var(--bg-input);color:var(--t-secondary);border:1px solid var(--border-control)}.table-wrapper{overflow-x:auto;border-radius:var(--r-panel);border:1px solid var(--border-panel);background:var(--bg-surface)}.simple-table{width:100%;border-collapse:collapse;font-size:12.8px}.simple-table th{background:var(--bg-thead);padding:8px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--t-faint);border-bottom:1px solid var(--border-panel);white-space:nowrap}.simple-table td{padding:9px 14px;border-bottom:1px solid var(--border-row);color:var(--t-body);vertical-align:middle;font-variant-numeric:tabular-nums}.simple-table tbody tr:last-child td{border-bottom:none}.simple-table tbody tr:hover td{background:var(--bg-row-hover)}.form-row{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px}.form-field{display:flex;flex-direction:column;gap:5px}.form-label{font-size:12px;font-weight:500;color:var(--t-body)}.text-input,.select-input{display:block;width:100%;height:var(--h-control);border:1px solid var(--border-control);border-radius:var(--r-control);padding:0 10px;background:var(--bg-surface);color:var(--t-body);font-size:12.5px;font-family:var(--font-ui);outline:none;transition:border-color .12s,box-shadow .12s}.text-input:focus,.select-input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-ring)}.text-input::placeholder{color:var(--t-placeholder)}.checkbox-row{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-size:12.5px}.section-title{font-size:13.5px;font-weight:600;color:var(--c-ink);margin:20px 0 12px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background:var(--border-panel)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 24px;text-align:center;gap:10px;color:var(--t-muted)}.empty-state-icon{width:44px;height:44px;border-radius:var(--r-panel);background:var(--bg-input);display:flex;align-items:center;justify-content:center;color:var(--t-muted)}.empty-state-title{font-size:13.5px;font-weight:600;color:var(--t-secondary)}.empty-state-desc{font-size:12px;color:var(--t-muted);max-width:320px;line-height:1.5}.divider{height:1px;background:var(--border-panel);margin:16px 0}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.info-rows{display:flex;flex-direction:column;gap:9px}.info-row{display:flex;gap:12px;font-size:12.8px;align-items:flex-start}.info-row-label{font-weight:500;color:var(--t-secondary);min-width:140px;flex-shrink:0}.info-row-value{color:var(--t-body);word-break:break-all}.code-block{background:var(--c-ink);color:#e2e8f0;border-radius:var(--r-control);padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-all}code{font-family:var(--font-mono);font-size:11.5px;background:var(--bg-input);border:1px solid var(--border-control);border-radius:var(--r-tag);padding:1px 5px;color:var(--c-accent)}.progress-track{height:6px;border-radius:var(--radius-full);background:var(--bg-input);overflow:hidden;border:1px solid var(--border-row)}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--c-accent);transition:width .3s ease}.android-parity-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.android-parity-sidebar{position:sticky;top:8px;border:1px solid var(--border-panel);border-radius:var(--r-panel);padding:12px;background:var(--bg-surface)}.android-parity-sidebar-tabs .action-button{width:100%;text-align:left;margin-bottom:6px}.android-parity-subtitle{margin:16px 0 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--t-muted)}.android-parity-quick-actions .action-button{width:100%;text-align:left;margin-bottom:6px}.android-parity-main{min-width:0}.android-parity-progress{margin-bottom:14px}.android-parity-progress-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12.5px}.android-parity-progress-track{height:6px;border-radius:var(--radius-full);background:var(--bg-input);overflow:hidden;border:1px solid var(--border-row)}.android-parity-progress-fill{height:100%;background:var(--c-accent);transition:width .25s ease}.platform-links{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.action-link{display:inline-flex;align-items:center;gap:4px;margin-top:12px;text-decoration:none;color:var(--c-accent);font-size:12.5px;font-weight:600}.action-link:hover{text-decoration:underline}.platform-list{margin:0;padding-left:18px;color:var(--t-body);font-size:12.8px;line-height:1.8}.login-page{display:grid;place-items:center;min-height:100vh;background:var(--sidebar-bg);padding:16px}.login-card{background:var(--bg-surface);border:1px solid var(--border-panel);border-radius:10px;padding:36px;max-width:420px;width:100%;box-shadow:var(--shadow-modal)}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:26px}.login-logo-icon{width:44px;height:44px;border-radius:var(--r-panel);background:var(--c-accent);color:#fff;display:flex;align-items:center;justify-content:center}.login-title{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--c-ink)}.login-subtitle{font-size:13px;color:var(--t-muted);margin:0 0 22px;line-height:1.5}.login-issuer{font-size:11px;color:var(--t-muted);margin-top:16px;text-align:center;font-family:var(--font-mono)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 8px;background:var(--c-ink);color:#f1f5f9;font-size:11px;white-space:nowrap;border-radius:var(--r-control);pointer-events:none;opacity:0;transition:opacity .15s;z-index:20;box-shadow:var(--shadow-popover)}[data-tooltip]:hover:after{opacity:1}@media(max-width:1100px){.android-parity-layout{grid-template-columns:1fr}.android-parity-sidebar{position:static}}@media(max-width:900px){.layout{grid-template-columns:1fr;grid-template-rows:var(--h-topbar) auto 1fr;grid-template-areas:"header" "sidebar" "content"}.sidebar{height:auto;position:static}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-control);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-control-hover)}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:380px}.toast{display:flex;align-items:center;gap:10px;background:var(--c-ink);color:#eef2fb;border-radius:var(--r-panel);padding:11px 12px 11px 14px;box-shadow:var(--shadow-toast);font-size:12.5px;animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-icon{font-weight:700;flex-shrink:0}.toast-success .toast-icon{color:var(--s-ok)}.toast-error .toast-icon{color:#fca5a5}.toast-info .toast-icon{color:#93c5fd}.toast-msg{flex:1;line-height:1.4}.toast-action{flex-shrink:0;background:#ffffff24;border:1px solid rgba(255,255,255,.24);color:#fff;border-radius:var(--r-control);padding:3px 10px;font-size:11.5px;font-weight:600;font-family:var(--font-ui);cursor:pointer}.toast-action:hover{background:#ffffff38}.toast-close{flex-shrink:0;background:none;border:none;color:#eef2fb8c;cursor:pointer;font-size:11px;padding:2px 4px}.toast-close:hover{color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16224a61;display:grid;place-items:center;z-index:2100;padding:16px}.modal-card{background:var(--bg-surface);border-radius:10px;box-shadow:var(--shadow-modal);width:100%;max-width:440px;overflow:hidden;animation:toast-in .16s ease}.modal-head{padding:16px 20px;font-size:16px;font-weight:700;color:var(--c-ink)}.modal-body{padding:0 20px 16px;font-size:12.8px;color:var(--t-body);line-height:1.55}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;background:var(--bg-thead);border-top:1px solid var(--border-panel)}.uk-check{width:15px;height:15px;border:1px solid var(--border-control-hover);border-radius:var(--r-check);background:var(--bg-surface);cursor:pointer;display:inline-grid;place-items:center;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0}.uk-check:checked{background:var(--c-accent);border-color:var(--c-accent)}.uk-check:checked:after{content:"✓";color:#fff;font-size:10px;line-height:1}.uk-check:indeterminate{background:var(--c-accent);border-color:var(--c-accent)}.uk-check:indeterminate:after{content:"−";color:#fff;font-size:11px;line-height:1}.uk-check:focus-visible{outline:none;box-shadow:0 0 0 3px var(--c-accent-ring)}.simple-table tbody tr.row-selected td{background:var(--bg-row-selected)}.simple-table tbody tr.row-problem td:first-child{box-shadow:inset 3px 0 0 var(--s-crit-solid)}.bulk-bar{position:sticky;bottom:0;margin-top:12px;display:flex;align-items:center;gap:12px;background:var(--c-ink);color:#eef2fb;border-radius:var(--r-panel);padding:10px 14px;box-shadow:var(--shadow-toast);flex-wrap:wrap}.bulk-count{font-size:12.5px;font-weight:600}.bulk-count .mono{color:#c3d0ea}.bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.bulk-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:var(--r-control);height:28px;padding:0 12px;font-size:12px;font-weight:600;font-family:var(--font-ui);cursor:pointer}.bulk-btn:hover{background:#fff3}.bulk-btn.danger{background:color-mix(in srgb,var(--s-crit-solid),transparent 55%);border-color:color-mix(in srgb,var(--s-crit-solid),transparent 30%)}.bulk-btn.danger:hover{background:color-mix(in srgb,var(--s-crit-solid),transparent 35%)}.bulk-clear{margin-left:auto;background:none;border:none;color:#c3d0ea;cursor:pointer;font-size:12px;font-family:var(--font-ui)}.bulk-clear:hover{color:#fff;text-decoration:underline}.platform-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border-panel);margin-bottom:18px}.platform-tab{display:inline-flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:9px 14px;font-family:var(--font-ui);font-size:12.8px;font-weight:500;color:var(--t-secondary);cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s}.platform-tab:hover:not(:disabled){color:var(--c-ink)}.platform-tab.active{color:var(--c-accent);font-weight:600;border-bottom-color:var(--c-accent)}.platform-tab:disabled{color:var(--t-faint);cursor:not-allowed}.platform-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--c-accent-ring);border-radius:var(--r-control)}.platform-tab-count{font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:0 5px;border-radius:8px;background:var(--s-neutral-bg);color:var(--s-neutral)}.platform-tab-count.crit{background:var(--s-crit-bg);color:var(--s-crit)}.skeleton-row{height:34px;border-radius:var(--r-control);background:linear-gradient(90deg,var(--bg-input) 25%,var(--bg-row-hover) 37%,var(--bg-input) 63%);background-size:400px 100%;animation:uk-shimmer 1.2s infinite linear;margin-bottom:8px}@keyframes uk-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.error-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:36px 20px}.error-state-icon{width:44px;height:44px;border-radius:var(--r-panel);background:var(--s-crit-bg);color:var(--s-crit);display:grid;place-items:center;font-size:18px;font-weight:700}.error-state-title{font-size:13.5px;font-weight:600;color:var(--t-secondary)}.error-state-desc{font-size:12px;color:var(--t-muted);max-width:380px;line-height:1.5}.error-state-code{font-family:var(--font-mono);font-size:11px;color:var(--t-faint)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16224a47;z-index:2200;animation:fade-in .16s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.color-drawer{position:fixed;top:0;right:0;bottom:0;width:340px;max-width:92vw;background:var(--bg-surface);box-shadow:var(--shadow-modal);z-index:2300;display:flex;flex-direction:column;animation:drawer-in .22s cubic-bezier(.22,.61,.36,1)}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.color-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-size:14px;font-weight:700;color:var(--c-ink);border-bottom:1px solid var(--border-panel)}.drawer-close{background:none;border:none;color:var(--t-muted);font-size:13px;cursor:pointer;padding:4px 6px}.drawer-close:hover{color:var(--c-ink)}.color-drawer-body{padding:18px;overflow-y:auto;flex:1}.color-drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;background:var(--bg-thead);border-top:1px solid var(--border-panel)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
