@keyframes nb-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.nb-toast{position:fixed;bottom:var(--space-7);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--chip-radius);font-size:var(--fs-body-sm);color:var(--success-text);box-shadow:var(--shadow-lg);z-index:9999;animation:nb-toast-in var(--dur-med) var(--ease-out)}.nb-notif{position:relative}.nb-notif__btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.nb-notif__btn:hover{background:var(--surface-hover);color:var(--text-strong)}.nb-notif__badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:var(--danger);color:var(--text-on-accent);font-size:10px;font-weight:var(--fw-bold);border-radius:var(--chip-radius);display:flex;align-items:center;justify-content:center}.nb-notif__panel{position:absolute;top:calc(100% + var(--space-3));right:0;width:360px;max-height:420px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--panel-radius);box-shadow:var(--shadow-xl);z-index:100;overflow:hidden;display:flex;flex-direction:column}.nb-notif__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.nb-notif__title{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--text-strong)}.nb-notif__mark-all{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--accent-text);background:none;border:none;cursor:pointer;font-family:var(--font-sans)}.nb-notif__list{overflow-y:auto;flex:1}.nb-notif__empty{padding:var(--space-6);text-align:center;color:var(--text-subtle);font-size:var(--fs-body-sm)}.nb-notif__item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:none;background:transparent;width:100%;text-align:left;cursor:pointer;font-family:var(--font-sans);transition:background var(--dur-fast);border-bottom:1px solid var(--border-subtle)}.nb-notif__item:hover{background:var(--surface-hover)}.nb-notif__item--unread{background:var(--accent-subtle)}.nb-notif__item-icon{color:var(--text-muted);flex-shrink:0;margin-top:2px}.nb-notif__item--unread .nb-notif__item-icon{color:var(--accent-text)}.nb-notif__item-content{display:flex;flex-direction:column;gap:2px;min-width:0}.nb-notif__item-message{font-size:var(--fs-body-sm);color:var(--text-body);line-height:var(--lh-body-sm)}.nb-notif__item-time{font-size:var(--fs-caption);color:var(--text-dim)}.brand-logo{display:inline-flex;align-items:center;min-width:120px}.brand-logo__img{width:auto;display:block}.brand-logo__img--dark,[data-theme=dark] .brand-logo__img--light{display:none}[data-theme=dark] .brand-logo__img--dark{display:block}.shell{display:flex;min-height:100vh;background:var(--canvas)}.shell__sidebar{width:var(--sidebar-w);display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface-inset);position:fixed;top:0;left:0;bottom:0;z-index:50}.shell__logo{padding:var(--space-6) var(--space-6) var(--space-5)}.shell__logo img{height:22px}.shell__nav{flex:1;padding:0 var(--space-4);overflow-y:auto}.shell__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--fs-body-sm);color:var(--text-muted);text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast)}.shell__link:hover{background:var(--surface-hover);color:var(--text-strong)}.shell__link--active{background:var(--accent-subtle);color:var(--accent-text)}.shell__nav-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--chip-radius);background:var(--danger);color:var(--text-on-accent);font-size:11px;font-weight:700;line-height:1}.shell__footer{padding:var(--space-4);border-top:1px solid var(--border)}.shell__user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.shell__user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-subtle);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:var(--fw-bold);flex-shrink:0}.shell__user-info{flex:1;min-width:0}.shell__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}.shell__user-role{font-size:var(--fs-caption);color:var(--text-subtle)}.shell__logout{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer}.shell__logout:hover{background:var(--surface-hover);color:var(--danger-text)}.shell__main{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}.shell__topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--canvas);z-index:40}.shell__topbar-title{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.shell__topbar-right{display:flex;align-items:center;gap:var(--space-4)}.shell__role-toggle{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-4);border-radius:var(--chip-radius);border:1px solid var(--accent-subtle-border);background:var(--accent-subtle);color:var(--accent-text);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer}.shell__role-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.shell__content{flex:1;padding:var(--space-8);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-pink: #FF4570;--brand-pink-press: #E63A63;--brand-pink-tint: #FDECEF;--ink-900: #0D1B2A;--ink-800: #16283C;--ink-600: #5A6B7B;--surface-bg: #F2EFE9;--surface-tint: #F5F2EC;--surface-footer: #FAF8F4;--aurora-pink: #FF4570;--aurora-magenta: #E678BE;--aurora-blue: #466EB4;--aurora-navy: #0D1B2A}:root,[data-theme=light]{--canvas: #F2EFE9;--canvas-subtle: #FAF8F4;--surface: #FFFFFF;--surface-raised: #F5F2EC;--surface-inset: #FAF8F4;--surface-hover: rgba(13, 27, 42, .04);--surface-gradient-from: rgba(13, 27, 42, .03);--surface-gradient-to: rgba(13, 27, 42, .012);--border: #E2DDD2;--border-subtle: rgba(13, 27, 42, .07);--border-strong: rgba(13, 27, 42, .18);--text-strong: #0D1B2A;--text-body: #0D1B2A;--text-muted: #5A6B7B;--text-subtle: #7A8795;--text-dim: #9AA6B2;--text-on-accent: #FFFFFF;--text-link: #C7254E;--accent: #FF4570;--accent-hover: #E63A63;--accent-active: #CC3458;--accent-subtle: #FDECEF;--accent-subtle-border: rgba(255, 69, 112, .32);--accent-text: #C7254E;--aura: #466EB4;--aura-subtle: rgba(70, 110, 180, .12);--aura-text: #37537F;--status-healthy: #1E8A54;--status-healthy-color: #157347;--status-healthy-dim: rgba(30, 138, 84, .14);--status-degraded: #B4740C;--status-degraded-color: #8A5800;--status-degraded-dim: rgba(180, 116, 12, .14);--status-down: #C23A2E;--status-down-color: #A32B21;--status-down-dim: rgba(194, 58, 46, .12);--status-maintenance: #466EB4;--status-maintenance-color: #37537F;--status-maintenance-dim: rgba(70, 110, 180, .14);--success: #1E8A54;--success-subtle: rgba(30, 138, 84, .12);--success-text: #157347;--warning: #B4740C;--warning-subtle: rgba(180, 116, 12, .14);--warning-text: #8A5800;--warning-on: #FFFFFF;--danger: #C23A2E;--danger-subtle: rgba(194, 58, 46, .12);--danger-text: #A32B21;--info: #466EB4;--info-subtle: rgba(70, 110, 180, .12);--info-text: #37537F;--class-internal: #5A6B7B;--class-internal-bg: rgba(90, 107, 123, .1);--class-confidential: #8A5800;--class-confidential-bg: rgba(180, 116, 12, .14);--class-restricted: #A32B21;--class-restricted-bg: rgba(194, 58, 46, .12);--grad-aurora: linear-gradient(135deg, #FF4570, #E678BE 55%, #466EB4);--chart-axis: rgba(13, 27, 42, .45);--chart-grid: rgba(13, 27, 42, .1);--track: rgba(13, 27, 42, .08);--avatar-1: #FF4570;--avatar-2: #466EB4;--avatar-3: #1E8A54;--avatar-4: #B4740C;--avatar-5: #C23A2E;--avatar-6: #E678BE;--avatar-7: #37537F;--avatar-ink: #FFFFFF;--focus-ring: #D81B60;--overlay: rgba(13, 27, 42, .42)}[data-theme=dark]{--canvas: #0D1B2A;--canvas-subtle: #0A1522;--surface: #16283C;--surface-raised: #1B3048;--surface-inset: #0A1522;--surface-hover: rgba(255, 255, 255, .05);--surface-gradient-from: rgba(255, 255, 255, .045);--surface-gradient-to: rgba(255, 255, 255, .018);--border: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .18);--text-strong: #FFFFFF;--text-body: #C9D2DB;--text-muted: rgba(201, 210, 219, .72);--text-subtle: rgba(201, 210, 219, .52);--text-dim: rgba(201, 210, 219, .38);--text-on-accent: #FFFFFF;--text-link: #FF7A9B;--accent: #FF4570;--accent-hover: #E63A63;--accent-active: #FF6A8C;--accent-subtle: rgba(255, 69, 112, .16);--accent-subtle-border: rgba(255, 69, 112, .36);--accent-text: #FF7A9B;--aura: #6E90C8;--aura-subtle: rgba(110, 144, 200, .18);--aura-text: #A9C0E4;--status-healthy: #3DD68C;--status-healthy-color: #5FE3A1;--status-healthy-dim: rgba(61, 214, 140, .16);--status-degraded: #F2A93B;--status-degraded-color: #FFC575;--status-degraded-dim: rgba(242, 169, 59, .16);--status-down: #FF5C50;--status-down-color: #FF8B82;--status-down-dim: rgba(255, 92, 80, .18);--status-maintenance: #6E90C8;--status-maintenance-color: #A9C0E4;--status-maintenance-dim: rgba(110, 144, 200, .18);--success: #5FE3A1;--success-subtle: rgba(95, 227, 161, .14);--success-text: #6BE6A6;--warning: #FFC575;--warning-subtle: rgba(255, 197, 117, .16);--warning-text: #FFC575;--warning-on: #0D1B2A;--danger: #FF8B82;--danger-subtle: rgba(255, 139, 130, .16);--danger-text: #FF8B82;--info: #6E90C8;--info-subtle: rgba(110, 144, 200, .16);--info-text: #A9C0E4;--class-internal: rgba(201, 210, 219, .7);--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, #FF4570, #E678BE 55%, #466EB4);--chart-axis: rgba(255, 255, 255, .42);--chart-grid: rgba(255, 255, 255, .1);--track: rgba(255, 255, 255, .08);--avatar-1: #FF6A8C;--avatar-2: #6E90C8;--avatar-3: #5FE3A1;--avatar-4: #FFC575;--avatar-5: #FF8B82;--avatar-6: #E678BE;--avatar-7: #A9C0E4;--avatar-ink: #0D1B2A;--focus-ring: #FF4570;--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;--fw-black: 800;--fs-display: 48px;--lh-display: 1;--ls-display: -.02em;--fw-display: var(--fw-black);--fs-stat: 28px;--lh-stat: 1;--ls-stat: -.01em;--fw-stat: var(--fw-black);--fs-stat-sm: 24px;--lh-stat-sm: 1.05;--ls-stat-sm: -.01em;--fs-heading-lg: 32px;--lh-heading-lg: 1.05;--ls-heading-lg: -.015em;--fw-heading-lg: var(--fw-black);--fs-heading-md: 24px;--lh-heading-md: 1.1;--ls-heading-md: -.01em;--fw-heading-md: var(--fw-black);--fs-heading-sm: 16px;--lh-heading-sm: 1.2;--ls-heading-sm: 0;--fw-heading-sm: var(--fw-bold);--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.1;--ls-eyebrow: .16em;--fw-eyebrow: var(--fw-black);--fs-stat-label: 11px;--lh-stat-label: 1.35;--ls-stat-label: .04em}: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(13, 27, 42, .06);--shadow-sm: 0 1px 3px rgba(13, 27, 42, .08), 0 1px 2px rgba(13, 27, 42, .06);--shadow-md: 0 4px 12px rgba(13, 27, 42, .1), 0 2px 4px rgba(13, 27, 42, .06);--shadow-lg: 0 16px 40px rgba(13, 27, 42, .12);--shadow-xl: 0 24px 56px rgba(13, 27, 42, .16);--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}[data-theme=dark]{--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)}.nb-panel{position:relative;border-radius:var(--panel-radius);background:linear-gradient(180deg,var(--surface-gradient-from) 0%,var(--surface-gradient-to) 100%);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:light;-webkit-text-size-adjust:100%}html[data-theme=dark]{color-scheme:dark}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}}@keyframes nbpulse{0%{transform:scale(1);opacity:.35}50%{transform:scale(1.8);opacity:0}to{transform:scale(1.8);opacity: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:var(--danger-text)}.nb-input{height:var(--control-md);padding:0 var(--space-4);border-radius:var(--input-radius);border:1px solid var(--border);background:var(--surface);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:var(--surface-raised)}.loading-state,.empty-state{text-align:center;padding:var(--space-9);color:var(--text-muted);font-size:var(--fs-body)}@keyframes nb-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
