:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg-primary: #f5f8fb;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f0f6fa;--sidebar-bg: rgba(255, 255, 255, .94);--accent-blue: #2f6f8f;--accent-blue-light: #5da9c5;--accent-green: #0f7a52;--accent-yellow: #c77700;--accent-orange: #c96712;--accent-purple: #7254c7;--accent-red: #bd3f38;--accent-cyan: #0f8eb3;--text-primary: #122033;--text-secondary: #4b5f78;--text-muted: #8798ad;--border: #d5dfeb;--border-active: rgba(47, 111, 143, .32);--shadow: 0 24px 58px rgba(24, 45, 63, .12);--radius: 8px;--transition: .18s ease;--table-header-bg: rgba(238, 245, 249, .95);--table-row-hover-bg: rgba(47, 111, 143, .07);--form-input-bg: rgba(248, 251, 255, .98);--button-subtle-bg: rgba(244, 248, 251, .98);--custom-card-bg: rgba(246, 250, 253, .96);--panel-gradient: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(246, 250, 253, .96));background:var(--bg-primary);color:var(--text-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg-primary: #080919;--bg-secondary: #111027;--bg-card: #1f1b35;--bg-card-hover: rgba(255, 255, 255, .06);--sidebar-bg: rgba(17, 16, 39, .94);--accent-blue: #6f30e8;--accent-blue-light: #8edfff;--accent-green: #13d18a;--accent-yellow: #ffb21b;--accent-orange: #ff9a00;--accent-purple: #9f79ff;--accent-red: #ff7772;--accent-cyan: #8edfff;--text-primary: #f7f7ff;--text-secondary: #8f9abd;--text-muted: #667293;--border: rgba(156, 146, 215, .22);--border-active: rgba(142, 223, 255, .34);--shadow: 0 28px 70px rgba(0, 0, 0, .28);--table-header-bg: rgba(63, 58, 102, .6);--table-row-hover-bg: rgba(255, 255, 255, .06);--form-input-bg: rgba(31, 27, 53, .8);--button-subtle-bg: rgba(31, 27, 53, .9);--custom-card-bg: rgba(31, 27, 53, .8);--panel-gradient: linear-gradient(180deg, rgba(31, 27, 53, .6), rgba(17, 16, 39, .8));background:var(--bg-primary);color:var(--text-primary)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}button,input{font:inherit}button{cursor:pointer}.status-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf3fc,#dde7f8)}.status-card{width:min(100%,460px);padding:30px;border:1px solid rgba(143,168,209,.4);border-radius:28px;background:#ffffffd1;box-shadow:0 20px 48px #7b91be2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow{display:inline-block;margin-bottom:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#6780ab;font-weight:700}.status-card h1{margin:0 0 8px;font-size:32px}.status-card p{margin:0;color:#60708c;line-height:1.6}.login-shell{min-height:100vh;display:grid;grid-template-columns:400px minmax(0,1fr);background:linear-gradient(90deg,#dce7f7 0,#dce7f7 21%,#eef2fb 21%,#eef2fb)}.login-brand-panel{padding:72px 42px 56px;border-right:1px solid rgba(136,160,204,.28);display:flex;flex-direction:column;gap:34px}.brand-lockup{margin-top:130px;display:grid;justify-items:center;text-align:center;gap:16px}.brand-icon-box{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,#7d49f5,#5530c9);box-shadow:0 16px 32px #6041d652}.brand-icon-core{width:34px;height:34px;display:grid;place-items:center;border:2px solid rgba(135,222,255,.8);clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0% 50%)}.brand-icon-inner{width:18px;height:18px;background:#87deff47;clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0% 50%)}.brand-lockup h2{margin:0;font-size:24px;line-height:1.15}.brand-lockup p{margin:6px 0 0;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#5f95b4}.brand-copy{text-align:center;display:grid;gap:14px}.brand-copy h3{margin:0;font-size:21px;line-height:1.45}.brand-copy h3 span{color:#77cbff}.brand-copy p{margin:0;color:#5f6f8b;font-size:15px;line-height:1.55}.brand-divider{width:70px;height:2px;margin:2px auto 0;border-radius:999px;background:linear-gradient(90deg,transparent,#68afd4,transparent)}.brand-feature-list{margin:0;padding:0 0 0 18px;display:grid;gap:14px;color:#5f6f8b;line-height:1.45}.brand-feature-list li{padding-left:8px}.feature-green::marker{color:#19c37d}.feature-cyan::marker{color:#6bd3ff}.feature-amber::marker{color:#f9a602}.feature-violet::marker{color:#b27cff}.login-content-panel{display:grid;place-items:center;padding:48px 32px}.login-card{width:min(100%,420px)}.login-header h1{margin:0 0 6px;font-size:28px;line-height:1.15}.login-header p{margin:0;color:#5d6f8f;font-size:14px}.login-form{display:grid;gap:14px;margin-top:28px}.login-field{display:grid;gap:10px}.login-field>span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#4c5f83;font-weight:700}.login-field input{width:100%;height:46px;padding:0 16px;border-radius:14px;border:1px solid rgba(177,193,219,.9);background:#ffffffdb;color:#22324a;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.login-field input::placeholder{color:#92a0b8}.login-field input:focus{border-color:#7ea6d5;box-shadow:0 0 0 4px #74a9dc24}.password-field{position:relative}.password-field input{padding-right:54px}.password-visibility-button{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:#5f6f8b}.password-visibility-button:hover{background:#778eb51f}.message{padding:12px 14px;border-radius:14px;font-size:14px}.message-error{background:#ff70701f;border:1px solid rgba(255,112,112,.22);color:#b94747}.primary-login-button{height:48px;border:0;border-radius:14px;background:linear-gradient(90deg,#5b98bb,#41799c);color:#fff;font-weight:700;box-shadow:0 16px 32px #4781a442}.primary-login-button:hover:enabled{filter:brightness(1.03)}.primary-login-button:disabled{opacity:.72;cursor:wait}.sso-divider{display:flex;align-items:center;gap:12px;margin-top:2px}.sso-divider span{flex:1;height:1px;background:#8ea2c773}.sso-divider p{margin:0;color:#647794;font-size:13px}.sso-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sso-button{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(177,193,219,.9);border-radius:14px;background:#ffffffd1;color:#374861;font-weight:600}.sso-button:disabled{cursor:not-allowed}.microsoft-mark{width:14px;height:14px;display:grid;grid-template-columns:1fr 1fr;gap:2px}.microsoft-mark span:nth-child(1){background:#f35325}.microsoft-mark span:nth-child(2){background:#81bc06}.microsoft-mark span:nth-child(3){background:#05a6f0}.microsoft-mark span:nth-child(4){background:#ffba08}.tableau-mark{color:#ff7b30;font-size:14px}.login-footer-note{margin-top:24px;display:inline-flex;align-items:center;gap:8px;color:#6b7f9b;font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr;background:var(--bg-primary)}.sidebar{border-right:1px solid var(--border);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;padding:16px 8px 0}.home-brand{min-height:42px;padding:0 12px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.home-brand-mark{width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(159,177,211,.5);border-radius:6px;background:#f7fafff2}.home-brand-core{width:13px;height:13px;border:1.4px solid #8ea8d1;clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0% 50%);display:grid;place-items:center}.home-brand-inner{width:7px;height:7px;background:#c2d4f1;clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0% 50%)}.home-brand strong{font-size:14px;color:var(--text-primary);font-weight:700}.nav-list{display:grid;gap:6px;padding:10px 0}.nav-item{height:42px;display:flex;align-items:center;gap:10px;padding:0 14px;border:0;border-radius:14px;background:transparent;color:#60708c;font-weight:600}.nav-item-active{color:#5f9bd3;background:#eef5fb;box-shadow:inset 3px 0 #3f85c7}.sidebar-footer{margin-top:auto;padding:0 6px 18px}.sidebar-user-row{padding:10px 8px 14px}.sidebar-user-card{display:flex;align-items:center;gap:10px;color:#4f607b}.sidebar-user-card strong{display:block;font-size:14px}.sidebar-user-card p{margin:2px 0 0;font-size:12px;color:#97a6bc}.logout-link{width:100%;height:42px;display:inline-flex;align-items:center;gap:10px;padding:0 14px;border:0;background:transparent;color:#ff5f59;border-top:1px solid var(--border);font-weight:600}.content{min-width:0;display:grid;grid-template-rows:auto 1fr}.topbar{height:58px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(193,205,223,.8);background:#fff}.breadcrumbs{display:inline-flex;align-items:center;gap:8px;color:#84a1c6;font-size:14px}.breadcrumbs strong{color:#1d2f48}.topbar-actions{display:inline-flex;align-items:center;gap:12px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(193,205,223,.8);border-radius:999px;background:#fff;color:#4f607b}.topbar-user-pill{height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(193,205,223,.8);border-radius:12px;background:#fff;color:#4f607b;font-weight:600}.home-panel{margin:22px;border:1px solid rgba(193,205,223,.8);border-radius:18px;background:#fff;box-shadow:0 12px 30px #8ea1bf24;display:grid;place-items:center;min-height:calc(100vh - 102px)}.home-panel p{margin:0;font-size:20px;font-weight:600;color:#3a4d67}.page-slot{padding:22px}@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-brand-panel{padding:42px 28px 28px;border-right:0;border-bottom:1px solid rgba(136,160,204,.28)}.brand-lockup{margin-top:0}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{padding-bottom:0}.topbar{padding-inline:14px;gap:12px}.topbar,.breadcrumbs,.topbar-actions{flex-wrap:wrap}.home-panel{min-height:260px;margin:16px}.page-slot{padding:16px}}@media(max-width:560px){.login-content-panel{padding:32px 20px 40px}.sso-row{grid-template-columns:1fr}.login-brand-panel{padding-inline:24px}}
