.app-shell{min-height:100vh;display:flex;background:var(--canvas)}.sidebar{width:var(--sidebar-w);flex-shrink:0;height:100vh;position:sticky;top:0;border-right:1px solid var(--border);background:var(--canvas-subtle);display:flex;flex-direction:column;padding:var(--space-6) var(--space-5) var(--space-5);overflow-y:auto}.sidebar-logo{padding:var(--space-2) var(--space-3) var(--space-6)}.sidebar-logo img{height:24px;width:auto;display:block}.sidebar-section-label{font-size:var(--fs-stat-label);font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);padding:0 var(--space-4) var(--space-3)}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.sidebar-nav+.sidebar-section-label{margin-top:var(--space-6)}.sidebar-link{position:relative;display:flex;align-items:center;gap:11px;height:42px;padding:0 var(--space-4);border-radius:var(--input-radius);border:none;text-decoration:none;font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-muted);background:transparent;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.sidebar-link:hover{background:#ffffff09;text-decoration:none}.sidebar-link.active{color:var(--text-strong);font-weight:var(--fw-semibold);background:#ffffff12}.sidebar-link.active:before{content:"";position:absolute;left:calc(-1 * var(--space-5));top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--grad-aurora)}.sidebar-link.active svg{color:var(--accent)}.sidebar-link svg{flex-shrink:0;color:var(--text-subtle)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-status{padding:var(--space-4);border-radius:11px;background:#ffffff08;border:1px solid var(--border)}.sidebar-status-header{display:flex;align-items:center;gap:7px;font-size:var(--fs-caption);color:var(--text-muted);margin-bottom:var(--space-2)}.sidebar-status-dot{width:7px;height:7px;border-radius:50%;background:var(--status-healthy);box-shadow:0 0 8px var(--status-healthy)}.sidebar-status-detail{font-size:var(--fs-caption);color:var(--text-subtle);line-height:1.5}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2)}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--grad-aurora);color:var(--canvas);font-weight:var(--fw-bold);font-size:12px;display:flex;align-items:center;justify-content:center;letter-spacing:-.02em}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:var(--fs-caption);color:var(--text-subtle)}.sidebar-logout{background:none;border:none;color:var(--text-subtle);cursor:pointer;padding:6px;display:flex;border-radius:var(--radius-sm);transition:color var(--dur-fast)}.sidebar-logout:hover{color:var(--text-body)}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;gap:var(--space-5);padding:0 30px;border-bottom:1px solid var(--border);background:#050b1ad1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.topbar-title{font-size:var(--fs-heading-lg);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:var(--ls-heading-lg);white-space:nowrap}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}.topbar-search{position:relative;width:280px}.topbar-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-subtle);display:flex}.topbar-search input{width:100%;height:40px;padding:0 12px 0 36px;border-radius:var(--input-radius);border:1px solid var(--border);background:#ffffff0a;color:var(--text-strong);font-size:var(--fs-body-sm);font-family:var(--font-sans);outline:none;transition:border-color var(--dur-fast)}.topbar-search input::placeholder{color:var(--text-subtle)}.topbar-search input:focus{border-color:var(--border-strong)}.topbar-bell{position:relative;width:40px;height:40px;border-radius:var(--input-radius);border:1px solid var(--border);background:#ffffff0a;color:var(--text-body);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast)}.topbar-bell:hover{background:#ffffff12}.topbar-bell-dot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--status-down);border:1.5px solid var(--canvas)}.main-content{flex:1;overflow-y:auto;padding:var(--space-7) 30px var(--space-12);max-width:var(--content-max);margin:0 auto;width:100%}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-variable.woff2) format("woff2-variations")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2")}:root{--brand-primary: #171216;--brand-coral: #CF5954;--brand-blue: #697CB2;--brand-tan: #DFB590;--brand-dark: #28283A;--brand-neutral: #FCFBFC;--canvas: #0a0e17;--canvas-subtle: #070d1b;--surface: #0f1520;--surface-raised: #141c2a;--surface-inset: #080c14;--surface-hover: rgba(255, 255, 255, .03);--border: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .16);--text-strong: #ffffff;--text-body: rgba(255, 255, 255, .72);--text-muted: rgba(255, 255, 255, .55);--text-subtle: rgba(255, 255, 255, .42);--text-dim: rgba(255, 255, 255, .35);--text-on-accent: #ffffff;--text-link: #8BD8FF;--accent: #3DB2FF;--accent-hover: #69C6FF;--accent-active: #84D0FF;--accent-subtle: rgba(61, 178, 255, .14);--accent-subtle-border: rgba(61, 178, 255, .32);--accent-text: #8BD8FF;--aura: #A669F0;--aura-subtle: rgba(166, 105, 240, .16);--aura-text: #D7AEFF;--status-healthy: #3DD68C;--status-healthy-color: #5FE3A1;--status-healthy-dim: rgba(45, 168, 106, .16);--status-degraded: #F2A93B;--status-degraded-color: #FFC575;--status-degraded-dim: rgba(230, 146, 24, .16);--status-down: #FF5C50;--status-down-color: #FF8B82;--status-down-dim: rgba(219, 68, 56, .18);--status-maintenance: #3DB2FF;--status-maintenance-color: #8BD8FF;--status-maintenance-dim: rgba(61, 178, 255, .16);--success: #5FE3A1;--success-subtle: rgba(95, 227, 161, .14);--success-text: #6BE6A6;--warning: #FFC575;--warning-subtle: rgba(255, 197, 117, .16);--warning-text: #FFC575;--danger: #FF8B82;--danger-subtle: rgba(255, 139, 130, .16);--danger-text: #FF8B82;--info: #8BD8FF;--info-subtle: rgba(139, 216, 255, .14);--info-text: #8BD8FF;--class-internal: rgba(255, 255, 255, .6);--class-internal-bg: rgba(255, 255, 255, .06);--class-confidential: #FFC575;--class-confidential-bg: rgba(255, 197, 117, .16);--class-restricted: #FF8B82;--class-restricted-bg: rgba(255, 139, 130, .16);--grad-aurora: linear-gradient(135deg, #3DB2FF, #A669F0);--grad-nebula: linear-gradient(165deg, rgba(11, 31, 58, .6), rgba(5, 11, 26, .2));--focus-ring: #3DB2FF;--overlay: rgba(0, 0, 0, .64)}:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fs-display: 40px;--lh-display: 1;--ls-display: -.02em;--fs-stat: 34px;--lh-stat: 1;--ls-stat: -.01em;--fs-stat-sm: 26px;--lh-stat-sm: 1.1;--ls-stat-sm: -.01em;--fs-heading-lg: 18px;--lh-heading-lg: 1.2;--ls-heading-lg: -.01em;--fs-heading-sm: 15.5px;--lh-heading-sm: 1.2;--ls-heading-sm: normal;--fs-body: 14px;--lh-body: 1.55;--ls-body: normal;--fs-body-sm: 13.5px;--lh-body-sm: 1.45;--ls-body-sm: normal;--fs-label: 12.5px;--lh-label: 1.3;--ls-label: normal;--fs-caption: 11.5px;--lh-caption: 1.4;--ls-caption: normal;--fs-eyebrow: 11px;--lh-eyebrow: 1.3;--ls-eyebrow: .12em;--fs-stat-label: 10.5px;--lh-stat-label: 1.4;--ls-stat-label: .06em}:root{--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 40px;--space-10: 48px;--space-11: 64px;--space-12: 80px;--control-sm: 28px;--control-md: 36px;--control-lg: 44px;--topbar-h: 68px;--sidebar-w: 244px;--content-max: 1320px;--panel-radius: 14px;--chip-radius: 999px;--btn-radius: 9px;--input-radius: 9px}:root{--radius-xs: 3px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .35);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .7);--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-shadow: 0 0 0 var(--focus-ring-offset) var(--canvas), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur-med: .2s;--dur-slow: .32s}.nb-panel{position:relative;border-radius:var(--panel-radius);background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid var(--border);overflow:hidden}.nb-panel--accent:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:var(--grad-aurora);opacity:.75}.nb-panel--hover{cursor:pointer;transition:transform var(--dur-med) var(--ease-standard),box-shadow var(--dur-med) var(--ease-standard),border-color var(--dur-med)}.nb-panel--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-regular);color:var(--text-body);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,p{margin:0}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}code,kbd,samp,pre{font-family:var(--font-mono);font-size:var(--fs-caption)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}.nb-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.nb-skip-link{position:absolute;left:-9999px;top:var(--space-3);z-index:1000;padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-sm);font-weight:var(--fw-semibold);font-size:var(--fs-label);text-decoration:none}.nb-skip-link:focus{left:var(--space-3)}@keyframes nb-spin{to{transform:rotate(360deg)}}@keyframes nb-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.nb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-md);padding:0 var(--space-5);border-radius:var(--btn-radius);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast);white-space:nowrap;text-decoration:none}.nb-btn:disabled{opacity:.5;cursor:not-allowed}.nb-btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.nb-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.nb-btn-ghost{background:transparent;color:var(--text-body);border-color:var(--border)}.nb-btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-strong)}.nb-btn-danger{background:var(--danger);color:var(--text-on-accent);border-color:var(--danger)}.nb-btn-danger:hover:not(:disabled){background:#d4342d}.nb-input{height:var(--control-md);padding:0 var(--space-4);border-radius:var(--input-radius);border:1px solid var(--border);background:#ffffff0a;color:var(--text-strong);font-family:var(--font-sans);font-size:var(--fs-body-sm);transition:border-color var(--dur-fast),background var(--dur-fast);outline:none;width:100%}.nb-input::placeholder{color:var(--text-subtle)}.nb-input:focus{border-color:var(--accent);background:#ffffff0f}.nb-select{height:var(--control-md);padding:0 var(--space-4);border-radius:var(--input-radius);border:1px solid var(--border);background:#ffffff0a;color:var(--text-strong);font-family:var(--font-sans);font-size:var(--fs-body-sm);outline:none;cursor:pointer}.nb-select:focus{border-color:var(--accent)}.nb-mono{font-family:var(--font-mono)}.nb-tabular{font-variant-numeric:tabular-nums}@keyframes nbpulse{0%{transform:scale(1);opacity:.35}50%{transform:scale(1.8);opacity:0}to{transform:scale(1.8);opacity:0}}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:var(--text-on-accent);border:0;padding:.625rem 1.25rem;border-radius:var(--btn-radius);cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-body);transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-body);border:1px solid var(--border);padding:.5rem 1rem;border-radius:var(--btn-radius);cursor:pointer;font-weight:var(--fw-medium);font-size:var(--fs-caption);transition:border-color .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.login-shell,.app-shell{min-height:100vh}.login-shell{display:grid;place-items:center}.app-shell{display:flex;background:var(--canvas)}.app-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.app-header h1{font-size:var(--fs-heading-lg);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text-strong)}.header-right{display:flex;align-items:center;gap:.75rem}.user-badge{background:var(--accent-subtle);color:var(--accent-text);padding:.375rem .75rem;border-radius:20px;font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.card{background:var(--surface);border-radius:var(--panel-radius);border:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.card-header{display:flex;align-items:center;gap:.625rem}.card-header h3{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--text-strong)}.card-icon{width:2rem;height:2rem;display:grid;place-items:center;background:#ffffff0d;border-radius:var(--radius-md);color:var(--accent)}.card-desc{color:var(--text-muted);font-size:var(--fs-body);line-height:1.5}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1.25rem}@media(max-width:768px){.card-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-weight:var(--fw-semibold);font-size:var(--fs-caption);color:var(--text-muted)}.form-group input,.form-group textarea{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--input-radius);font-size:var(--fs-body);font-family:inherit;background:#ffffff0a;color:var(--text-strong);transition:border-color .15s;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.result-box{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:var(--radius-md);font-size:var(--fs-caption)}.result-box.success{background:var(--success-subtle);color:var(--success)}.result-box.error{background:var(--danger-subtle);color:var(--danger)}.result-box.loading{background:var(--accent-subtle);color:var(--accent)}.result-badge{font-weight:var(--fw-bold);white-space:nowrap}.result-message{overflow:hidden;text-overflow:ellipsis}.page-title{font-size:var(--fs-heading-lg);font-weight:var(--fw-semibold);color:var(--text-strong);margin-bottom:var(--space-7)}.summary-strip{display:flex;gap:var(--space-5);margin-bottom:var(--space-7)}.summary-card{background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid var(--border);border-radius:var(--panel-radius);padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;min-width:120px}.summary-value{font-size:var(--fs-stat-sm);font-weight:var(--fw-light);color:var(--text-strong);font-variant-numeric:tabular-nums}.summary-label{font-size:var(--fs-stat-label);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--space-2)}.summary-healthy .summary-value{color:var(--success)}.summary-unhealthy .summary-value{color:var(--danger)}.summary-sunset .summary-value{color:var(--warning)}.toolbar{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6)}.search-box{display:flex;align-items:center;gap:var(--space-3);background:#ffffff0a;border:1px solid var(--border);border-radius:var(--input-radius);padding:var(--space-3) var(--space-4);flex:1;max-width:400px}.search-input{border:none;outline:none;background:transparent;font-size:var(--fs-body-sm);width:100%;color:var(--text-strong)}.search-input::placeholder{color:var(--text-subtle)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-body-sm);background:transparent;border-radius:var(--panel-radius);overflow:hidden;border:1px solid var(--border)}.data-table th{text-align:left;padding:var(--space-4) var(--space-5);font-weight:var(--fw-semibold);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-subtle);border-bottom:1px solid var(--border)}.data-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--text-body)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr.clickable-row{cursor:pointer;transition:background .12s ease}.data-table tbody tr.clickable-row:hover{background:var(--surface-hover)}.app-name-link{color:var(--accent-text);text-decoration:none;font-weight:var(--fw-semibold)}.app-name-link:hover{text-decoration:underline}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--chip-radius);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.badge-success{background:var(--status-healthy-dim);color:var(--status-healthy-color)}.badge-danger{background:var(--status-down-dim);color:var(--status-down-color)}.badge-warning{background:var(--status-degraded-dim);color:var(--status-degraded-color)}.badge-info{background:var(--accent-subtle);color:var(--accent-text)}.badge-default{background:#ffffff0f;color:var(--text-muted)}.tier-badge{display:inline-block;padding:2px 8px;border-radius:var(--chip-radius);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.tier-low{background:var(--success-subtle);color:var(--success)}.tier-medium{background:var(--warning-subtle);color:var(--warning)}.tier-high{background:var(--danger-subtle);color:var(--danger)}.class-badge{display:inline-block;padding:2px 8px;border-radius:var(--chip-radius);font-size:var(--fs-caption);font-weight:var(--fw-medium);background:var(--info-subtle);color:var(--info)}.health-pass{color:var(--success);font-weight:var(--fw-medium)}.health-fail{color:var(--danger);font-weight:var(--fw-medium)}.scan-recent{color:var(--success)}.scan-stale{color:var(--danger)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-5);margin-top:var(--space-7)}.pagination-info{font-size:var(--fs-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.loading-state,.empty-state{text-align:center;padding:var(--space-9);color:var(--text-muted);font-size:var(--fs-body)}.error-banner{background:var(--danger-subtle);color:var(--danger);padding:var(--space-4) var(--space-5);border-radius:var(--input-radius);margin-bottom:var(--space-5);font-size:var(--fs-body-sm)}.breadcrumb{font-size:var(--fs-caption);color:var(--text-muted);margin-bottom:var(--space-5)}.breadcrumb a{color:var(--accent-text);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.detail-header{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);flex-wrap:wrap}.detail-header h1{font-size:var(--fs-heading-lg);font-weight:var(--fw-semibold);color:var(--text-strong)}.detail-badges{display:flex;gap:var(--space-3)}.tab-nav{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border);margin-bottom:var(--space-6)}.tab-btn{padding:var(--space-4) var(--space-5);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--fs-body-sm);color:var(--text-muted);font-weight:var(--fw-medium);font-family:var(--font-sans);transition:color var(--dur-fast),border-color var(--dur-fast)}.tab-btn:hover{color:var(--text-strong)}.tab-active{color:var(--accent-text);border-bottom-color:var(--accent)}.detail-card{background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid var(--border);border-radius:var(--panel-radius);padding:var(--space-7)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.detail-grid dt{font-size:var(--fs-caption);color:var(--text-subtle);font-weight:var(--fw-semibold)}.detail-grid dd{margin:0;font-size:var(--fs-body);color:var(--text-body)}.detail-grid a{color:var(--accent-text)}.usage-summary{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);font-size:var(--fs-body)}.trend-badge{padding:2px 8px;border-radius:var(--chip-radius);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.trend-growing{background:var(--success-subtle);color:var(--success)}.trend-stable{background:var(--info-subtle);color:var(--info)}.trend-declining{background:var(--danger-subtle);color:var(--danger)}.services-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}.service-item{background:var(--accent-subtle);color:var(--accent-text);padding:var(--space-3) var(--space-4);border-radius:var(--chip-radius);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--canvas);padding:var(--space-6)}.login-card{background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid var(--border);border-radius:var(--panel-radius);padding:var(--space-9);box-shadow:var(--shadow-lg);max-width:400px;width:100%;text-align:center}.login-logo{height:32px;margin-bottom:var(--space-5)}.login-title{font-size:var(--fs-heading-lg);font-weight:var(--fw-semibold);color:var(--text-strong);margin-bottom:var(--space-3)}.login-subtitle{font-size:var(--fs-body-sm);color:var(--text-muted);margin-bottom:var(--space-7)}.login-form{display:flex;flex-direction:column;gap:var(--space-5);text-align:left}.login-label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted)}.login-input{height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--input-radius);font-size:var(--fs-body);background:#ffffff0a;color:var(--text-strong)}.login-input::placeholder{color:var(--text-subtle)}.login-input:focus{outline:none;border-color:var(--accent);background:#ffffff0f}.login-button{height:var(--control-lg);background:var(--accent);color:var(--text-on-accent);border:none;border-radius:var(--btn-radius);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;margin-top:var(--space-3);transition:background var(--dur-fast)}.login-button:hover:not(:disabled){background:var(--accent-hover)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{background:var(--danger-subtle);color:var(--danger);padding:var(--space-4);border-radius:var(--input-radius);font-size:var(--fs-body-sm)}.admin-form{background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid var(--border);border-radius:var(--panel-radius);padding:var(--space-6);margin-bottom:var(--space-6)}.admin-form h2{font-size:var(--fs-heading-sm);font-weight:var(--fw-semibold);color:var(--text-strong);margin-bottom:var(--space-5)}.form-row{display:flex;gap:var(--space-4);align-items:end;margin-bottom:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.form-field label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-muted)}.form-field input,.form-field select,.form-field textarea{height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--input-radius);font-size:var(--fs-body);font-family:var(--font-sans);background:#ffffff0a;color:var(--text-strong)}.form-field textarea{height:auto;min-height:80px;padding:var(--space-4)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent)}.btn-action{height:var(--control-md);padding:0 var(--space-5);background:var(--accent);color:var(--text-on-accent);border:none;border-radius:var(--btn-radius);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast);font-family:var(--font-sans)}.btn-action:hover{background:var(--accent-hover)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#d4342d}.btn-sm{height:var(--control-sm);padding:0 var(--space-4);font-size:var(--fs-caption)}.success-message{color:var(--success);font-size:var(--fs-body-sm);margin-top:var(--space-3)}.btn-warning{display:inline-flex;align-items:center;gap:.5rem;background:var(--warning);color:var(--canvas);border:0;padding:.5rem 1rem;border-radius:var(--btn-radius);cursor:pointer;font-weight:var(--fw-medium);font-size:var(--fs-body-sm)}.btn-warning:hover{opacity:.9}.detail-actions{display:flex;gap:var(--space-3);margin-left:auto}.onboarding-page{padding:var(--space-7) var(--space-8);max-width:760px}.wizard-progress{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-7)}.wizard-step{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:var(--fw-semibold);border:1px solid var(--border);color:var(--text-subtle);background:transparent;font-variant-numeric:tabular-nums}.wizard-step.step-done{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent-text)}.wizard-step.step-current{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:0 0 0 3px var(--accent-subtle)}.text-muted{color:var(--text-muted)}button:not([class]){background:var(--accent);color:var(--text-on-accent);border:0;padding:.625rem 1.25rem;border-radius:var(--btn-radius);cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-body);font-family:var(--font-sans)}.error-text{color:var(--danger);font-size:var(--fs-body);margin:0}.subtle{color:var(--text-muted);font-size:var(--fs-body)}
