:root{font-family:Segoe UI,Inter,system-ui,-apple-system,sans-serif;color:#17191d;background:#f7f7f5;font-synthesis:none;--bg:#f7f7f5;--surface:#ffffff;--surface-2:#fafaf9;--text:#17191d;--muted:#6f747c;--line:#e6e7e5;--line-strong:#d7d9d6;--accent:#1f2329;--accent-soft:#f0f1ef;--success:#237a47;--danger:#a83a45;--warning:#9a6a16}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit}button{color:inherit}.appShell{min-height:100vh;background:var(--bg)}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,360px) minmax(220px,1fr);align-items:center;padding:0 24px;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px}.brandMark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#17191d;color:#fff;font-weight:800;font-size:17px;letter-spacing:-.04em}.brand strong{display:block;font-size:17px;letter-spacing:.12em;color:#17191d}.brand small{display:block;color:#7c8188;font-size:11px;margin-top:2px}.workspace{width:100%}.workspace label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#858a90;font-weight:700}.workspace input{margin-top:4px;padding:7px 10px;background:#fafaf9}.globalFilters{display:flex;gap:8px;align-items:center}.globalFilters label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#858a90;font-weight:700}.globalFilters select{margin-top:4px;min-width:120px;padding:7px 9px;background:#fafaf9}.account{display:flex;align-items:center;justify-content:flex-end;gap:12px}.accountIdentity{text-align:right;line-height:1.15}.accountIdentity strong{display:block;font-size:12px;font-weight:700}.accountIdentity small{font-size:10px;color:#858a90}.shellBody{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{background:#fff;border-right:1px solid var(--line);position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto;padding:16px 12px 18px;display:flex;flex-direction:column}.sidebarWorkspace{display:flex;align-items:center;gap:10px;padding:10px 10px 16px;margin-bottom:4px;border-bottom:1px solid var(--line)}.statusDot{width:8px;height:8px;border-radius:50%;background:#2f8d55;box-shadow:0 0 0 3px #e8f4ec}.sidebarWorkspace strong{display:block;font-size:12px}.sidebarWorkspace small{display:block;color:#8b8f95;font-size:10px;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.navGroup{margin-top:8px}.sidebarTitle{text-transform:uppercase;font-size:9px;letter-spacing:.13em;color:#a0a4a8;font-weight:800;padding:10px 10px 6px}.sidebar nav{display:flex;flex-direction:column}.sidebar button{width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer;display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;transition:background .14s ease}.sidebar button:hover{background:#f6f6f4}.sidebar button.active{background:#efefed;box-shadow:inset 2px 0 #1f2329}.navIcon{font-size:14px;line-height:20px;color:#6d7278;text-align:center}.navCopy strong{display:block;font-size:12px;font-weight:650;color:#25282d}.navCopy small{display:block;font-size:9px;color:#8c9096;line-height:1.3;margin-top:2px}.sidebar button.active .navCopy strong,.sidebar button.active .navIcon{color:#111317}.sidebarFooter{margin-top:auto;padding:14px 10px 2px;border-top:1px solid var(--line)}.sidebarFooter strong{display:block;font-size:10px;letter-spacing:.04em}.sidebarFooter small{display:block;font-size:9px;color:#96999e;margin-top:2px}.content{padding:24px;min-width:0;max-width:1900px;width:100%;margin:0 auto}.overview{max-width:1500px;margin:0 auto}.overviewHero{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 36px;display:flex;justify-content:space-between;gap:32px;align-items:center}.eyebrow{display:block;font-size:9px;letter-spacing:.15em;font-weight:800;color:#8a8e93;margin-bottom:8px}.overviewHero h1{margin:0;font-size:31px;letter-spacing:-.035em;font-weight:690;color:#17191d}.overviewHero p{max-width:760px;margin:12px 0 0;color:#6f747c;line-height:1.55;font-size:14px}.heroBadge{min-width:230px;border:1px solid var(--line);background:#fafaf9;border-radius:12px;padding:14px 16px;display:flex;gap:10px;align-items:center}.heroBadge>span{color:#2d8a53;font-size:13px}.heroBadge strong{display:block;font-size:11px}.heroBadge small{display:block;font-size:9px;color:#888d92;margin-top:3px}.overviewSection{margin-top:22px}.sectionHeading{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.sectionHeading h2{font-size:17px;margin:0 0 3px}.sectionHeading p{font-size:11px;color:#83878c;margin:0}.quickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quickCard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:left;cursor:pointer;min-height:145px;position:relative;transition:border-color .14s,transform .14s,box-shadow .14s}.quickCard:hover{border-color:#c9cbc8;transform:translateY(-1px);box-shadow:0 8px 24px #0000000a}.quickCard strong{display:block;font-size:14px;margin-top:26px}.quickCard p{font-size:10px;color:#80848a;line-height:1.45;margin:7px 0 0}.quickArrow{position:absolute;right:16px;top:14px;color:#8d9196}.foundationStrip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.foundationStrip>div{padding:18px;border-right:1px solid var(--line)}.foundationStrip>div:last-child{border-right:0}.foundationStrip span{display:block;font-size:9px;color:#a0a4a9;font-weight:800;letter-spacing:.08em;margin-bottom:16px}.foundationStrip strong{display:block;font-size:12px}.foundationStrip small{display:block;font-size:9px;color:#85898e;margin-top:4px}.moduleSurface{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.moduleHeader{height:62px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px}.moduleHeader .eyebrow{margin:0 0 2px}.moduleHeader h2{margin:0;font-size:16px}.moduleStatus{font-size:9px;font-weight:700;color:#397653;background:#eef6f0;border:1px solid #d7e9dc;padding:5px 8px;border-radius:999px}.moduleFrameWrap{position:relative;min-height:calc(100vh - 182px);background:#fff}.moduleFrame{width:100%;height:calc(100vh - 182px);border:0;background:#fff;display:block}.moduleFrame.isHidden{visibility:hidden}.moduleLoading{position:absolute;inset:0;display:grid;place-content:center;gap:12px;z-index:2;background:#fff;color:#6f747c;font-size:13px;text-align:center}.spinner{width:24px;height:24px;margin:auto;border:3px solid #e6e7e5;border-top-color:#1f2329;border-radius:50%;animation:spin .8s linear infinite}.moduleStatus.error{color:#a83a45;background:#fff1f2;border-color:#f0d1d5}@keyframes spin{to{transform:rotate(360deg)}}.moduleUnavailable{min-height:calc(100vh - 244px);display:grid;place-content:center;gap:10px;padding:32px;text-align:center;color:var(--muted)}.moduleUnavailable strong{color:var(--ink);font-size:16px}.moduleUnavailable p{max-width:560px;margin:0;line-height:1.6}.btn{background:#fff;color:#34383e;border:1px solid #d8dad7;border-radius:8px;padding:8px 13px;cursor:pointer}.btn:hover{background:#f5f5f3;border-color:#c8cac7}.btn.primary{background:#202328;color:#fff;border-color:#202328}.btn.primary:hover{background:#111317}.btn.danger{color:#9c3340;border-color:#e3c3c7}.verificationSuccess{color:var(--success);font-weight:650;line-height:1.5}input,textarea,select{width:100%;background:#fff;color:#22252a;border:1px solid #dcdedb;border-radius:8px;padding:9px 10px;outline:none}input:focus,textarea:focus,select:focus{border-color:#888d92;box-shadow:0 0 0 3px #1f23290d}.tenantWarning,.fatalError{max-width:760px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 12px 36px #0000000a}.tenantWarning h2,.fatalError h1{margin:0 0 8px;color:#17191d}.tenantWarning p,.fatalError p{color:#72767c;line-height:1.5}.fatalError pre{white-space:pre-wrap;overflow:auto;background:#1d2024;color:#fff;padding:16px;border-radius:10px;line-height:1.45}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f5f3}.loginCard{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 18px 54px #00000010}.loginBrand{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.loginLogo{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:#f3f3f1;border:1px solid var(--line)}.loginLogo img{width:38px;height:38px;display:block}.loginBrand h1{margin:0 0 5px;color:#17191d;font-size:23px;letter-spacing:.04em}.loginBrand p{margin:0;color:#7c8086;font-size:11px}.loginCard form{display:flex;flex-direction:column;gap:16px}.loginCard label{font-weight:650;color:#44484e;font-size:12px}.loginCard label input{margin-top:7px}.loginButton{width:100%;padding:11px;margin-top:2px}.loginError{background:#fff3f3;color:#923441;border:1px solid #edcdd1;border-radius:9px;padding:10px 12px}.loginCard small{display:block;color:#8b8f94;line-height:1.45;margin-top:18px;font-size:10px}.notice{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-radius:9px;margin-bottom:14px;border:1px solid}.notice.success{background:#edf8f1;border-color:#b7dfc4;color:#245f38}.notice.error{background:#fff0f1;border-color:#e7b6bc;color:#8d2635}.stat,.card,.group,.previewPanel,.tableWrap{background:#fff;border:1px solid var(--line);border-radius:12px}.tableWrap th{background:#f7f7f5;color:#4f545a;text-align:left;padding:11px;border-bottom:1px solid var(--line)}.tableWrap td{padding:10px;border-bottom:1px solid #eeeeec;vertical-align:top}@media (max-width:1200px){.quickGrid,.foundationStrip{grid-template-columns:repeat(2,1fr)}.foundationStrip>div:nth-child(2){border-right:0}.foundationStrip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:900px){.topbar{grid-template-columns:1fr auto}.workspace,.globalFilters{display:none}.shellBody{grid-template-columns:1fr}.sidebar{position:relative;top:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.navGroup{margin-top:0}.sidebarTitle{grid-column:1/-1}.accountIdentity{display:none}.moduleFrame{height:70vh}}@media (max-width:700px){.content{padding:14px}.quickGrid,.foundationStrip{grid-template-columns:1fr}.foundationStrip>div{border-right:0!important;border-bottom:1px solid var(--line)}.overviewHero{padding:24px;flex-direction:column;align-items:flex-start}.heroBadge{width:100%}.topbar{padding:0 14px}.brand small{display:none}.sidebar nav{grid-template-columns:1fr}}:root{--bg:#071625;--surface:#10263d;--surface-2:#0c2034;--line:#294966;--line-strong:#315d82;--text:#f4f8fc;--muted:#9fc0dc;--accent:#4da3e6;--accent-soft:#173a59;--accent-strong:#1d5f91}.loginPage{background:radial-gradient(circle at 15% 0,#123858 0,#071625 52%,#050f1b);color:var(--text)}.loginCard{width:min(460px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 24px 80px #020b14aa}.loginBrand{align-items:center;margin-bottom:30px}.loginLogo{background:var(--accent-strong);border:1px solid var(--accent);border-radius:14px;padding:8px;box-shadow:0 8px 24px #020b1466}.loginLogo img{width:42px;height:42px}.loginBrand h1{color:var(--text);font-size:25px;letter-spacing:.1em}.loginBrand p,.loginCard small{color:var(--muted)}.loginCard form{gap:18px}.loginCard label{color:var(--text)}.loginCard label input{background:#081a2b;color:var(--text);border-color:var(--line-strong);border-radius:10px}.loginCard label input::placeholder{color:#7596b3}.loginCard label input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4da3e626}.loginButton{border-radius:10px;padding:12px}.btn.primary{background:var(--accent-strong);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#2876ae}.loginError{background:#3a1d2b;color:#ffc8d2;border-color:#87506a}.verificationSuccess{color:#8fe0ae}.fieldHint{color:var(--muted);font-size:10px;font-weight:400}
