:root{--sky-primary-900: #0C2D57;--sky-primary-800: #0F3D76;--sky-primary-700: #1350A0;--sky-primary-600: #1565C0;--sky-primary-500: #1976D2;--sky-primary-400: #42A5F5;--sky-primary-300: #90CAF9;--sky-primary-100: #BBDEFB;--sky-primary-50: #E3F2FD;--sky-neutral-950: #020617;--sky-neutral-900: #0F172A;--sky-neutral-800: #1E293B;--sky-neutral-700: #334155;--sky-neutral-600: #475569;--sky-neutral-500: #64748B;--sky-neutral-400: #94A3B8;--sky-neutral-300: #CBD5E1;--sky-neutral-200: #E2E8F0;--sky-neutral-100: #F1F5F9;--sky-neutral-50: #F8FAFC;--sky-neutral-0: #FFFFFF;--sky-success: #15803D;--sky-success-light: #22C55E;--sky-success-bg: #F0FDF4;--sky-success-border:#BBF7D0;--sky-warning: #B45309;--sky-warning-light: #F59E0B;--sky-warning-bg: #FFFBEB;--sky-warning-border:#FDE68A;--sky-danger: #DC2626;--sky-danger-light: #EF4444;--sky-danger-bg: #FEF2F2;--sky-danger-border: #FECACA;--sky-info: #0369A1;--sky-info-light: #0EA5E9;--sky-info-bg: #F0F9FF;--sky-info-border: #BAE6FD;--sky-purple: #7C3AED;--sky-purple-bg: #F5F3FF;--sky-purple-border: #DDD6FE;--sidebar-bg: #0C1929;--sidebar-text: #94A3B8;--sidebar-text-active: #E2E8F0;--sidebar-hover: rgba(255, 255, 255, .08);--sidebar-active-bg: rgba(25, 118, 210, .18);--sidebar-active-border: #42A5F5;--sidebar-divider: rgba(255, 255, 255, .06);--sidebar-section-text: #7B8FA3;--sky-surface: #0F172A;--sky-surface-raised: #1E293B;--sky-surface-overlay: #243244;--sky-surface-border: #334155;--sky-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sky-space-1: 4px;--sky-space-2: 8px;--sky-space-3: 12px;--sky-space-4: 16px;--sky-space-5: 20px;--sky-space-6: 24px;--sky-space-8: 32px;--sky-space-10: 40px;--sky-space-12: 48px;--sky-space-16: 64px;--sky-radius-sm: 4px;--sky-radius-md: 8px;--sky-radius-lg: 12px;--sky-radius-xl: 16px;--sky-radius-full: 9999px;--sky-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--sky-shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--sky-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--sky-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.04);--lumo-primary-color: var(--sky-primary-400);--lumo-primary-color-50pct: rgba(66, 165, 245, .5);--lumo-primary-color-10pct: rgba(66, 165, 245, .1);--lumo-primary-text-color: var(--sky-primary-300);--lumo-error-color: var(--sky-danger-light);--lumo-error-text-color: var(--sky-danger-light);--lumo-success-color: var(--sky-success-light);--lumo-success-text-color: var(--sky-success-light);--lumo-font-family: var(--sky-font-sans);--lumo-border-radius-m: var(--sky-radius-md);--lumo-border-radius-l: var(--sky-radius-lg);--lumo-border-radius-s: var(--sky-radius-sm);--lumo-body-text-color: var(--sky-neutral-300);--lumo-header-text-color: var(--sky-neutral-50);--lumo-secondary-text-color: var(--sky-neutral-400);--lumo-tertiary-text-color: var(--sky-neutral-500);--lumo-contrast-5pct: rgba(255, 255, 255, .04);--lumo-contrast-10pct: rgba(255, 255, 255, .08);--lumo-contrast-20pct: rgba(255, 255, 255, .13);--lumo-contrast-50pct: rgba(255, 255, 255, .4);--lumo-base-color: var(--sky-surface-raised);--lumo-shade-5pct: rgba(0, 0, 0, .15);--lumo-shade-10pct: rgba(0, 0, 0, .25);--lumo-shade-20pct: rgba(0, 0, 0, .35);--lumo-shade-50pct: rgba(0, 0, 0, .55)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{background-color:var(--sky-surface);color:var(--sky-neutral-300);font-family:var(--sky-font-sans);overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sky-neutral-600);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--sky-neutral-500)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--sky-surface, #0F172A) inset!important;-webkit-text-fill-color:var(--sky-neutral-200, #E2E8F0)!important;caret-color:var(--sky-neutral-200, #E2E8F0);transition:background-color 5000s ease-in-out 0s}vaadin-app-layout::part(content){background-color:var(--sky-surface)}.sky-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--sky-radius-full);font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;border:1px solid transparent}.sky-badge-success{background:#15803d26;color:#4ade80;border-color:#15803d4d}.sky-badge-warning{background:#b4530926;color:#fbbf24;border-color:#b453094d}.sky-badge-danger{background:#dc262626;color:#f87171;border-color:#dc26264d}.sky-badge-info{background:#0369a126;color:#38bdf8;border-color:#0369a14d}.sky-badge-neutral{background:#64748b26;color:var(--sky-neutral-300);border-color:#64748b4d}.sky-badge-purple{background:#7c3aed26;color:#a78bfa;border-color:#7c3aed4d}.sky-card{background:var(--sky-surface-raised);border:1px solid var(--sky-surface-border);border-radius:var(--sky-radius-lg);padding:var(--sky-space-6);box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.sky-card-header{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sky-neutral-400);padding-bottom:var(--sky-space-3);margin-bottom:var(--sky-space-4);border-bottom:1px solid var(--sky-surface-border)}.sky-kpi{background:var(--sky-surface-raised);border:1px solid var(--sky-surface-border);border-radius:var(--sky-radius-lg);padding:var(--sky-space-5);box-shadow:0 1px 3px #0000004d;display:flex;flex-direction:column;gap:var(--sky-space-1);transition:box-shadow .15s ease,border-color .15s ease}.sky-kpi:hover{box-shadow:0 4px 8px #0006;border-color:var(--sky-neutral-600)}.sky-kpi-label{font-size:.75rem;font-weight:500;color:var(--sky-neutral-400);text-transform:uppercase;letter-spacing:.04em}.sky-kpi-value{font-size:1.875rem;font-weight:700;color:var(--sky-neutral-50);line-height:1.2}.sky-kpi-subtitle{font-size:.75rem;font-weight:400;color:var(--sky-neutral-500)}.sky-kpi-strip{display:flex;gap:var(--sky-space-6, 24px)}.sky-kpi-strip>*{flex:1;min-width:0}@media (max-width: 575px){.sky-kpi-strip{flex-direction:column}}.sky-data-card{background:var(--sky-surface-raised);border:1px solid var(--sky-surface-border);border-radius:var(--sky-radius-lg);padding:var(--sky-space-5);box-shadow:0 1px 3px #0000004d;transition:box-shadow .15s ease}.sky-data-card:hover{box-shadow:0 4px 8px #0006}.sky-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sky-space-4);padding-bottom:var(--sky-space-4);margin-bottom:var(--sky-space-6);border-bottom:1px solid var(--sky-surface-border)}.sky-page-title{font-size:1.5rem;font-weight:700;color:var(--sky-neutral-50);margin:0;line-height:1.3}.sky-page-subtitle{font-size:.875rem;color:var(--sky-neutral-400);margin:0}.sky-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sky-space-16) var(--sky-space-8);gap:var(--sky-space-4)}.sky-empty-state-icon{font-size:3rem;color:var(--sky-neutral-600)}.sky-empty-state-title{font-size:1.125rem;font-weight:600;color:var(--sky-neutral-200)}.sky-empty-state-message{font-size:.875rem;color:var(--sky-neutral-400);max-width:360px;line-height:1.5}.sky-tabs{display:flex;gap:0;border-bottom:2px solid var(--sky-surface-border);margin-bottom:var(--sky-space-6)}.sky-tab{padding:var(--sky-space-3) var(--sky-space-5);font-size:.875rem;font-weight:500;color:var(--sky-neutral-400);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;background:none;border-top:none;border-left:none;border-right:none;white-space:nowrap}.sky-tab:hover{color:var(--sky-neutral-200)}.sky-tab-active{color:var(--sky-primary-400);border-bottom-color:var(--sky-primary-400);font-weight:600}.sky-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--sky-radius-full);background:#ffffff14;color:var(--sky-neutral-300);font-size:.6875rem;font-weight:600;margin-left:6px}.sky-tab-active .sky-tab-count{background:#42a5f533;color:var(--sky-primary-300)}.sky-dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--sky-space-6);align-items:start}.sky-welcome-card{background:linear-gradient(135deg,var(--sky-surface-raised) 0%,#0F2847 60%,#122B4E 100%);border:1px solid var(--sky-surface-border);border-radius:var(--sky-radius-xl);padding:var(--sky-space-5) var(--sky-space-6);position:relative;overflow:hidden}.sky-welcome-card:before{content:"";position:absolute;top:-40%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(66,165,245,.08) 0%,transparent 70%);pointer-events:none}.sky-section-card{background:var(--sky-surface-raised);border:1px solid var(--sky-surface-border);border-radius:var(--sky-radius-lg);overflow:hidden}.sky-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sky-space-4) var(--sky-space-5);border-bottom:1px solid var(--sky-surface-border);gap:var(--sky-space-3)}.sky-section-body{padding:0}.sky-section-body-padded{padding:var(--sky-space-5)}.sky-profile-mini{display:flex;align-items:center;gap:var(--sky-space-4);padding:var(--sky-space-5)}.sky-profile-avatar{width:48px;height:48px;border-radius:var(--sky-radius-lg);background:linear-gradient(135deg,#1d4ed8,#0ea5e9);display:grid;place-items:center;color:#fff;font-weight:800;font-size:1rem;flex-shrink:0}.sky-info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sky-space-3) var(--sky-space-5);gap:var(--sky-space-3);border-bottom:1px solid rgba(255,255,255,.04);font-size:.875rem}.sky-info-row:last-child{border-bottom:none}.sky-info-label{color:var(--sky-neutral-400)}.sky-info-value{color:var(--sky-neutral-100);font-weight:600}.sky-auth-page{min-height:100vh;background:var(--sky-surface);display:flex;flex-direction:column;align-items:center;padding:var(--sky-space-8) var(--sky-space-6);gap:var(--sky-space-5)}.sky-auth-page>:first-child{margin-top:auto}.sky-auth-page>:last-child{margin-bottom:auto}.sky-auth-brand{display:flex;flex-direction:column;align-items:center;gap:var(--sky-space-1)}.sky-auth-brand-icon{color:var(--sky-primary-400)}.sky-auth-brand-name{font-weight:800;font-size:1.25rem;letter-spacing:.06em;color:var(--sky-neutral-50)}.sky-auth-brand-sub{font-size:.75rem;color:var(--sky-neutral-400);letter-spacing:.04em}.sky-auth-card{width:440px;max-width:calc(100vw - 32px);background:var(--sky-surface-raised);border:1px solid var(--sky-surface-border);border-radius:var(--sky-radius-xl);padding:var(--sky-space-8) var(--sky-space-6);box-shadow:0 8px 32px #00000073;display:flex;flex-direction:column;align-items:stretch}.sky-auth-card-wide{width:520px}.sky-auth-card-title{font-size:1.375rem;font-weight:700;color:var(--sky-neutral-50);margin:0 0 var(--sky-space-2) 0;text-align:center}.sky-auth-card-subtitle{font-size:.875rem;color:var(--sky-neutral-400);margin:0 0 var(--sky-space-6) 0;text-align:center;line-height:1.5}.sky-auth-divider{display:flex;align-items:center;gap:var(--sky-space-4);color:var(--sky-neutral-500);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:var(--sky-space-5) 0}.sky-auth-divider:before,.sky-auth-divider:after{content:"";flex:1;height:1px;background:var(--sky-surface-border)}.sky-auth-footer{text-align:center;font-size:.6875rem;color:var(--sky-neutral-500)}.sky-auth-footer a{color:var(--sky-neutral-500);text-decoration:none}.sky-auth-footer a:hover{color:var(--sky-neutral-300)}.sky-auth-links{display:flex;flex-direction:column;align-items:center;gap:var(--sky-space-3);margin-top:var(--sky-space-5);font-size:.875rem;color:var(--sky-neutral-400)}.sky-auth-links a{color:var(--sky-primary-400);font-weight:500;text-decoration:none}.sky-auth-links a:hover{color:var(--sky-primary-300);text-decoration:underline}.sky-auth-success-icon{width:64px;height:64px;border-radius:50%;background:#15803d26;display:grid;place-items:center;margin:0 auto var(--sky-space-5) auto}.sky-auth-success-icon vaadin-icon{color:#4ade80;width:32px;height:32px}.sky-auth-error-icon{width:64px;height:64px;border-radius:50%;background:#dc262626;display:grid;place-items:center;margin:0 auto var(--sky-space-5) auto}.sky-auth-error-icon vaadin-icon{color:#f87171;width:32px;height:32px}.fedramp-banner-dark{background:#b453091a;border:1px solid rgba(180,83,9,.25);padding:12px 16px;text-align:center;border-radius:var(--sky-radius-md);font-size:.6875rem;line-height:1.6;color:#fbbf24;width:440px;max-width:calc(100vw - 32px)}.fedramp-banner-dark.fedramp-banner-wide{width:520px}vaadin-connection-indicator{--_vaadin-connection-indicator-top: auto;position:fixed!important;inset:auto 16px 16px auto!important;width:auto!important;z-index:10000;pointer-events:none}vaadin-connection-indicator .v-loading-indicator{background:var(--sky-primary-400, #42A5F5)!important;height:3px!important}vaadin-connection-indicator .v-status-message{background:var(--sky-surface-raised, #1E293B);color:var(--sky-text-primary, #E2E8F0);border:1px solid var(--sky-surface-border, #334155);border-radius:var(--sky-radius-md, 8px);padding:10px 16px;font-size:.8125rem;box-shadow:0 4px 12px #0000004d;opacity:.95;pointer-events:auto;position:static!important;width:auto!important;text-align:center}vaadin-connection-indicator[reconnecting] .v-status-message{background:#f59e0b1f;border-color:#f59e0b4d;color:#fbbf24}vaadin-connection-indicator[offline] .v-status-message{background:#ef44441f;border-color:#ef44444d;color:#f87171}vaadin-connection-indicator[expanded] .v-status-message{display:none!important}vaadin-connection-indicator:not([offline]):not([reconnecting]) .v-status-message{display:none!important}
