:root{--brand:#6427d9;--brand-dark:#31117b;--magenta:#ad18bf;--ink:#20212b;--muted:#777d89;--line:#e5e6eb;--paper:#f5f5f8;--white:#fff}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgba(100,39,217,.24);outline-offset:2px}[hidden]{display:none!important}.loading-view{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted);gap:10px}.loading-mark{width:54px;height:54px;display:grid;place-items:center;margin:auto;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--magenta));color:#fff;font-weight:800}.loading-view p{font-size:12px}.logo-lockup{position:relative;display:block;width:178px;height:112px;overflow:hidden;border-radius:8px;background:#fff}.logo-lockup img{position:absolute;width:178px;height:auto;left:0;top:-31px}.brand-symbol{position:relative;flex:0 0 auto;display:block;width:42px;height:42px;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(20,12,45,.16)}.brand-symbol img{position:absolute;width:116px;height:auto;left:-37px;top:-24px}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(440px,.9fr)}.login-showcase{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(145deg,#21113f 0%,#3a1580 48%,#681cc2 100%);color:#fff;padding:34px clamp(38px,5vw,76px) 30px;display:flex;flex-direction:column}.login-showcase:before{content:"";position:absolute;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,rgba(217,71,241,.3),rgba(217,71,241,0) 68%);right:-170px;top:9%;z-index:-1}.login-showcase:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;z-index:-2}.showcase-copy{max-width:650px;margin-top:clamp(46px,7vh,78px)}.eyebrow{color:#e8b4ff;font-size:10px;letter-spacing:.22em;font-weight:800}.showcase-copy h1{font-size:clamp(38px,4.4vw,64px);line-height:1.18;letter-spacing:-.055em;margin:18px 0}.showcase-copy>p{max-width:570px;color:#d4cce4;font-size:14px;line-height:1.85;margin:0}.department-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.department-row>span{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);border-radius:99px;padding:8px 12px;color:#eee9f6;font-size:10px;background:rgba(255,255,255,.06)}.department-row i{color:#e5a5ff;font-style:normal;font-size:8px}.showcase-art{position:relative;height:235px;margin-top:auto}.art-ring{position:absolute;border:1px solid rgba(235,190,255,.2);border-radius:50%;right:15%;bottom:8px}.ring-one{width:215px;height:215px}.ring-two{width:320px;height:130px;right:5%;bottom:40px;transform:rotate(-11deg)}.art-center{position:absolute;right:calc(15% + 62px);bottom:70px;width:90px;height:90px;display:grid;place-content:center;text-align:center;border-radius:50%;background:linear-gradient(145deg,#bf34d8,#6328e8);box-shadow:0 0 0 18px rgba(222,100,255,.08),0 22px 50px rgba(0,0,0,.25)}.art-center b{font-size:24px}.art-center small{font-size:6px;letter-spacing:.16em}.art-node{position:absolute;width:39px;height:39px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(92,31,153,.9);color:#efd4f8;box-shadow:0 8px 20px rgba(0,0,0,.22)}.node-1{right:12%;bottom:176px}.node-2{right:4%;bottom:84px}.node-3{right:23%;bottom:7px}.node-4{right:34%;bottom:93px}.login-showcase footer{display:flex;justify-content:space-between;color:#a798bf;font-size:8px;letter-spacing:.08em;padding-top:18px}.login-panel{display:grid;place-items:center;background:#fbfbfd;padding:42px}.login-box{width:min(390px,100%)}.mobile-brand{display:none}.welcome-tag{color:var(--brand);font-size:9px;letter-spacing:.19em;font-weight:800}.login-box h2{font-size:34px;margin:10px 0 7px;letter-spacing:-.045em}.login-intro{color:var(--muted);font-size:12px;margin:0 0 30px}.login-box label{display:block;font-size:10px;font-weight:700;margin-bottom:8px}.label-row{display:flex;justify-content:space-between;align-items:center;margin-top:19px}.label-row label{margin:0}.label-row a{font-size:9px;color:var(--brand);text-decoration:none}.input-wrap{height:49px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;padding:0 13px;transition:.2s}.input-wrap:focus-within{border-color:#8e4ade;box-shadow:0 0 0 3px rgba(100,39,217,.1)}.input-wrap>span{color:#9399a4;margin-right:10px}.input-wrap input{border:0;outline:0;background:transparent;width:100%;font-size:11px;color:var(--ink)}.input-wrap button{border:0;background:transparent;color:#8e94a0;cursor:pointer;padding:4px}.form-error{margin:9px 0 -5px;color:#d84f64;font-size:9px}.remember{display:flex!important;align-items:center;gap:6px;margin:17px 0 20px!important;font-size:9px!important;color:var(--muted)}.remember input{accent-color:var(--brand)}.login-button{width:100%;height:50px;border:0;border-radius:10px;background:linear-gradient(100deg,var(--brand),var(--magenta));color:#fff;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 12px 25px rgba(100,39,217,.22);transition:.2s}.login-button:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(100,39,217,.3)}.login-button:disabled{opacity:.65;cursor:wait;transform:none}.login-button span{float:right;margin-right:16px;font-size:17px}.security-note{display:flex;gap:10px;align-items:center;margin-top:20px;padding:13px;border-radius:10px;background:#f2effa}.security-note>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e8defa;color:var(--brand);font-size:11px}.security-note p{margin:0}.security-note b,.security-note small{display:block}.security-note b{font-size:9px}.security-note small{font-size:8px;color:var(--muted);margin-top:3px}.login-help{text-align:center;color:#8b919c;font-size:9px;margin-top:22px}
.workspace-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.workspace-sidebar{position:sticky;top:0;z-index:30;height:100vh;display:flex;flex-direction:column;padding:22px 16px 18px;background:linear-gradient(180deg,#21113c,#281248 65%,#35125d);color:#fff;box-shadow:12px 0 35px rgba(28,17,52,.08)}.sidebar-brand{border:0;border-bottom:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;display:flex;align-items:center;gap:11px;padding:0 7px 20px;text-align:left;cursor:pointer}.sidebar-brand>span:last-child,.sidebar-brand b,.sidebar-brand small{display:block}.sidebar-brand b{font-size:13px;letter-spacing:.06em}.sidebar-brand small{color:#ab9dbc;font-size:8px;margin-top:5px;letter-spacing:.14em}.workspace-nav{display:flex;flex-direction:column;gap:4px;margin-top:16px}.workspace-nav>span{color:#817393;font-size:8px;letter-spacing:.16em;padding:14px 13px 5px}.workspace-nav button{border:0;background:transparent;color:#bfb6cc;display:flex;align-items:center;gap:11px;border-radius:9px;padding:11px 12px;font-size:11px;cursor:pointer;text-align:left;transition:.2s}.workspace-nav button:hover{color:#fff;background:rgba(255,255,255,.06)}.workspace-nav button.active{color:#fff;background:linear-gradient(100deg,rgba(138,60,235,.42),rgba(193,40,207,.22));box-shadow:inset 3px 0 #c85ae4}.workspace-nav i{width:19px;color:#a393b4;font-style:normal;font-size:16px;text-align:center}.workspace-nav button.active i{color:#e7adff}.sidebar-footer{margin-top:auto;display:flex;gap:9px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.06)}.sidebar-footer>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(97,214,158,.14);color:#76dda9;font-size:9px}.sidebar-footer b,.sidebar-footer small{display:block}.sidebar-footer b{font-size:8px}.sidebar-footer small{color:#8f819f;font-size:7px;margin-top:3px}.workspace-main{min-width:0}.workspace-topbar{position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}.workspace-topbar>div:first-child{display:flex;align-items:center;gap:9px;color:#9a9faa;font-size:9px}.workspace-topbar>div:first-child b{color:#c7cad0}.workspace-topbar>div:first-child strong{color:var(--ink);font-size:10px}.mobile-menu{display:none;border:0;background:transparent;font-size:18px;cursor:pointer}.user-area{display:flex;align-items:center;gap:8px}.user-area>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(140deg,#e9defd,#f5dcf8);color:var(--brand);font-weight:800;font-size:9px}.user-area b,.user-area small{display:block}.user-area b{font-size:9px}.user-area small{color:var(--muted);font-size:7px;margin-top:3px}.user-area button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 9px;color:var(--muted);font-size:8px;cursor:pointer;margin-left:6px}.workspace-content{min-height:calc(100vh - 68px);padding:34px}.home-view{max-width:1180px;margin:0 auto}.home-heading{margin:24px 0 30px}.home-heading>span{color:var(--brand);font-size:8px;font-weight:800;letter-spacing:.18em}.home-heading h1{margin:8px 0 6px;font-size:32px;letter-spacing:-.04em}.home-heading p{margin:0;color:var(--muted);font-size:11px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.module-card{position:relative;min-height:245px;overflow:hidden;isolation:isolate;border:1px solid rgba(78,53,110,.08);border-radius:18px;padding:25px;text-align:left;cursor:pointer;transition:.25s}.module-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(57,36,82,.13)}.module-card:before{content:"";position:absolute;width:210px;height:210px;right:-72px;bottom:-83px;border:52px solid rgba(255,255,255,.36);border-radius:50%;z-index:-1}.module-card.purple{background:linear-gradient(145deg,#ebe3fa,#ded1f4)}.module-card.magenta{background:linear-gradient(145deg,#f3e0f1,#ead0eb)}.module-card.indigo{background:linear-gradient(145deg,#e4e4f7,#d5d5ef)}.module-card.violet{background:linear-gradient(145deg,#ece1f4,#dfd3ec)}.module-number{position:absolute;right:22px;top:15px;color:rgba(58,27,100,.09);font-size:54px;font-weight:900}.module-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--magenta));color:#fff;box-shadow:0 10px 20px rgba(100,39,217,.18);font-size:21px}.module-card>small{display:block;margin-top:28px;color:#796987;font-size:7px;letter-spacing:.18em}.module-card h2{margin:5px 0 7px;font-size:25px;letter-spacing:-.03em}.module-card p{margin:0;color:#726a79;font-size:10px}.module-enter{position:absolute;left:25px;bottom:23px;color:var(--brand-dark);font-size:9px;font-weight:700}.module-enter b{margin-left:18px;font-size:16px}.empty-module{max-width:1300px;min-height:calc(100vh - 136px);margin:0 auto;display:flex;flex-direction:column}.empty-module-title{height:48px;display:flex;align-items:center;gap:11px}.empty-module-title span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--magenta));color:#fff;font-size:8px}.empty-module-title h1{margin:0;font-size:20px}.empty-canvas{flex:1;min-height:480px;margin-top:18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(31,34,48,.025)}
@media(max-width:930px){.login-page{grid-template-columns:1fr}.login-showcase{display:none}.login-panel{min-height:100vh}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:52px}.mobile-brand b{font-size:12px}.workspace-shell{grid-template-columns:74px minmax(0,1fr)}.workspace-sidebar{padding:18px 10px}.sidebar-brand{justify-content:center;padding:0 0 18px}.sidebar-brand>span:last-child,.workspace-nav>span,.sidebar-footer div{display:none}.workspace-nav button{justify-content:center;padding:11px;font-size:0}.sidebar-footer{justify-content:center}}
@media(max-width:680px){.workspace-shell{display:block}.workspace-sidebar{position:fixed;width:238px;left:-250px;transition:left .25s}.workspace-sidebar.open{left:0}.workspace-sidebar.open .sidebar-brand{justify-content:flex-start}.workspace-sidebar.open .sidebar-brand>span:last-child,.workspace-sidebar.open .workspace-nav>span,.workspace-sidebar.open .sidebar-footer div{display:block}.workspace-sidebar.open .workspace-nav button{justify-content:flex-start;font-size:11px}.nav-backdrop{position:fixed;inset:0;z-index:25;border:0;background:rgba(21,12,38,.48)}.workspace-topbar{height:60px;padding:0 14px}.mobile-menu{display:block}.workspace-topbar>div:first-child>span,.workspace-topbar>div:first-child>b{display:none}.user-area>div{display:none}.user-area button{margin-left:0}.workspace-content{min-height:calc(100vh - 60px);padding:22px 15px}.home-heading{margin:12px 0 22px}.home-heading h1{font-size:27px}.module-grid{grid-template-columns:1fr}.module-card{min-height:215px}.empty-module{min-height:calc(100vh - 104px)}.empty-canvas{min-height:420px}}
@media(max-width:430px){.login-panel{padding:24px 20px;place-items:start center}.login-box{padding-top:5vh}.login-box h2{font-size:30px}.module-card{padding:21px}.module-enter{left:21px}.user-area>span{display:none}}

/* 2026 brand refresh */
.brand-symbol{--mark-top:#7f4bff;--mark-bottom:#c431d0;position:relative;flex:0 0 auto;display:block;width:44px;height:44px;overflow:visible;border-radius:0;background:transparent;box-shadow:none}.brand-symbol:before,.brand-symbol:after{content:"";position:absolute;inset:0}.brand-symbol:before{height:78%;background:linear-gradient(135deg,#8c50ff,#5e31d2);clip-path:polygon(0 0,100% 0,100% 100%,81% 100%,81% 18%,0 18%)}.brand-symbol:after{top:24%;width:75%;height:76%;background:linear-gradient(145deg,#df37d0,#8b28c9);clip-path:polygon(0 0,24% 0,24% 80%,100% 80%,100% 100%,0 100%)}.brand-symbol>i{position:absolute;right:0;bottom:0;width:18%;height:15%;background:#6d3ae5}
.loading-view .loading-mark{display:block;width:54px;height:54px;border-radius:0;background:transparent;box-shadow:none}
.login-page{min-height:100svh;grid-template-columns:minmax(560px,1.15fr) minmax(420px,.85fr);background:#0e0917}.login-showcase{min-height:100svh;padding:48px clamp(44px,5.5vw,88px) 28px;background:radial-gradient(circle at 87% 76%,rgba(129,51,225,.28),transparent 34%),radial-gradient(circle at 4% 7%,rgba(108,60,190,.17),transparent 28%),linear-gradient(135deg,#100a1c 0%,#1b0d31 48%,#2b1050 100%)}.login-showcase:before{width:620px;height:620px;right:-340px;top:30%;border:1px solid rgba(189,134,255,.12);background:transparent;box-shadow:0 0 0 82px rgba(152,73,226,.025),0 0 0 166px rgba(152,73,226,.018)}.login-showcase:after{inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(105deg,black,transparent 78%)}
.login-brand{display:flex;align-items:center;gap:16px;width:max-content;color:#fff}.login-brand .brand-symbol{width:48px;height:48px}.login-brand>span:last-child,.login-brand b,.login-brand small{display:block}.login-brand b{font-size:15px;letter-spacing:.09em;font-weight:700}.login-brand small{margin-top:7px;color:#978ba9;font-size:8px;letter-spacing:.22em}.showcase-copy{max-width:720px;margin-top:clamp(82px,12vh,142px)}.eyebrow{display:flex;align-items:center;gap:10px;color:#bba6d2;font-size:9px;letter-spacing:.24em}.eyebrow>i{width:28px;height:1px;background:linear-gradient(90deg,#b855e6,transparent)}.showcase-copy h1{max-width:700px;margin:24px 0 22px;font-size:clamp(42px,4.25vw,68px);line-height:1.17;letter-spacing:-.06em;font-weight:720}.showcase-copy>p{max-width:600px;color:#b4aabd;font-size:14px;line-height:1.9;letter-spacing:.015em}
.business-strip{position:relative;margin-top:auto;padding:18px 0 16px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.strip-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;color:#746982;font-size:7px;letter-spacing:.2em}.strip-heading>span:last-child{display:flex;align-items:center;gap:7px;color:#9d8daf;letter-spacing:.08em}.strip-heading i{width:5px;height:5px;border-radius:50%;background:#7dd9ad;box-shadow:0 0 0 4px rgba(125,217,173,.08)}.department-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.flow-node{position:relative;display:grid;grid-template-columns:26px 1fr;column-gap:8px;min-width:0;padding:3px 18px 3px 0}.flow-node+.flow-node{padding-left:18px;border-left:1px solid rgba(255,255,255,.09)}.flow-node>i{grid-row:1/3;color:#865eaa;font-size:8px;font-style:normal;line-height:20px}.flow-node>b{color:#f5effa;font-size:13px;font-weight:650;white-space:nowrap}.flow-node>small{overflow:hidden;margin-top:7px;color:#82768c;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.login-showcase footer{padding-top:22px;color:#645a70;font-size:8px}
.login-panel{position:relative;min-height:100svh;overflow:hidden;padding:64px clamp(42px,5vw,82px);background:radial-gradient(circle at 100% 0,rgba(114,64,173,.08),transparent 28%),#f7f6f8}.login-panel:before{content:"";position:absolute;right:-100px;bottom:-130px;width:330px;height:330px;border:1px solid rgba(91,42,139,.08);border-radius:50%;box-shadow:0 0 0 58px rgba(91,42,139,.018)}.panel-status{position:absolute;top:34px;right:40px;display:flex;align-items:center;gap:10px;color:#a5a0aa;font-size:8px;letter-spacing:.16em}.panel-status i{padding-left:10px;border-left:1px solid #ddd9e0;color:#85808b;font-style:normal;letter-spacing:.05em}.login-box{position:relative;z-index:1;width:min(410px,100%)}.mobile-brand{display:none}.welcome-tag{display:flex;align-items:center;gap:9px;color:#6b2e9b;font-size:9px;letter-spacing:.2em}.welcome-tag>i{width:34px;height:1px;background:linear-gradient(90deg,#8d43ba,transparent)}.login-box h2{margin:15px 0 10px;color:#211b26;font-size:40px;line-height:1.15;letter-spacing:-.055em}.login-intro{margin:0 0 38px;color:#817b86;font-size:13px;line-height:1.7}.login-box label{margin-bottom:10px;color:#3a343e;font-size:12px;font-weight:650}.label-row{margin-top:22px}.label-row a{color:#6b2e9b;font-size:11px}.input-wrap{height:56px;padding:0 16px;border-color:#dfdbe2;border-radius:12px;background:rgba(255,255,255,.82)}.input-wrap:focus-within{border-color:#8140aa;background:#fff;box-shadow:0 0 0 4px rgba(107,46,155,.08)}.input-wrap>span{display:grid;width:20px;margin-right:12px;color:#98919d}.input-wrap svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.input-wrap input{font-size:13px}.input-wrap input::placeholder{color:#aaa4ae}.input-wrap button{display:grid;place-items:center;color:#938c99}.form-error{margin:10px 0 -4px;font-size:11px}.remember{margin:18px 0 22px!important;color:#817b86;font-size:11px!important;font-weight:400!important}.login-button{height:56px;border-radius:12px;background:linear-gradient(105deg,#4a1f78,#7630a3 70%,#8e36ae);font-size:13px;box-shadow:0 14px 30px rgba(74,31,120,.2)}.login-button:hover{box-shadow:0 18px 36px rgba(74,31,120,.27)}.login-button span{margin-right:15px}.security-note{margin-top:24px;padding:14px 15px;border:1px solid rgba(79,58,91,.07);border-radius:12px;background:rgba(255,255,255,.58)}.security-note>span{width:29px;height:29px;background:#eee8f2;color:#6b2e9b}.security-note b{font-size:10px}.security-note small{margin-top:4px;font-size:9px}.login-help{margin-top:24px;color:#96909a;font-size:10px}
@media(max-width:1080px) and (min-width:961px){.login-page{grid-template-columns:minmax(0,1fr) 420px}.login-showcase{padding-inline:42px}.flow-node{grid-template-columns:1fr}.flow-node>i{grid-row:auto}.flow-node>small{display:none}}
@media(max-width:960px){.login-page{display:block;background:#f7f6f8}.login-showcase{display:none}.login-panel{min-height:100svh;padding:42px 28px;place-items:center}.panel-status{display:none}.mobile-brand{display:flex;align-items:center;gap:13px;margin-bottom:clamp(64px,10vh,92px)}.mobile-brand>span:last-child,.mobile-brand b,.mobile-brand small{display:block}.mobile-brand b{color:#2a2230;font-size:13px;letter-spacing:.07em}.mobile-brand small{margin-top:5px;color:#918999;font-size:7px;letter-spacing:.18em}}
@media(max-width:430px){.login-panel{padding:26px 22px 38px;place-items:start center}.login-panel:before{opacity:.5}.login-box{padding-top:0}.mobile-brand{margin-bottom:13vh}.login-box h2{font-size:35px}.login-intro{margin-bottom:32px}.input-wrap{height:54px}}
@media(max-height:760px) and (min-width:961px){.login-showcase{padding-top:34px}.login-brand .brand-symbol{width:42px;height:42px}.showcase-copy{margin-top:7vh}.showcase-copy h1{margin-block:18px;font-size:clamp(38px,3.7vw,55px)}.business-strip{padding-block:13px}.strip-heading{margin-bottom:12px}.login-panel{padding-block:42px}.login-intro{margin-bottom:27px}.security-note{margin-top:17px}.login-help{margin-top:15px}}

/* Final white minimal login direction */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.login-page{position:relative;display:block;min-height:100svh;overflow:hidden;background:#fcfcfe}.login-showcase{position:absolute;inset:0;z-index:0;display:block;min-height:100svh;padding:52px clamp(38px,4vw,68px);overflow:hidden;color:#17131d;background:radial-gradient(circle at 72% 50%,rgba(127,77,238,.045),transparent 31%),radial-gradient(circle at 18% 26%,rgba(141,102,230,.026),transparent 23%),linear-gradient(135deg,#fff 0%,#fbfbfe 58%,#f8f7fc 100%)}.login-showcase:before{content:"";position:absolute;inset:auto -17% -62% 18%;width:118%;height:100%;border:1px solid rgba(112,61,218,.09);border-radius:50%;background:transparent;box-shadow:0 -18px 48px rgba(114,66,225,.045),0 0 0 72px rgba(136,96,228,.012),0 0 0 144px rgba(136,96,228,.009);transform:rotate(-9deg)}.login-showcase:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(102,71,172,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(102,71,172,.022) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(100deg,transparent 2%,rgba(0,0,0,.6) 52%,transparent 98%);pointer-events:none}.login-brand{position:relative;z-index:4;display:flex;align-items:center;gap:16px;width:max-content;color:#19151e}.login-brand .brand-symbol{width:54px;height:54px}.login-brand b{color:#17131c;font-size:16px;letter-spacing:.075em}.login-brand small{margin-top:7px;color:#77717c;font-size:8px;letter-spacing:.2em}
.ambient-visual{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.ambient-world{position:absolute;left:14%;top:12%;width:390px;height:290px;opacity:.22;background-image:radial-gradient(circle,#a78be6 1.2px,transparent 1.4px);background-size:7px 7px;border-radius:48% 52% 46% 54%;mask-image:radial-gradient(ellipse at center,#000 0 45%,transparent 74%);transform:rotate(-8deg)}.ambient-flow{position:absolute;display:block;border-radius:50%;background:transparent}.flow-main{right:-17%;bottom:-42%;width:126%;height:88%;border-top:2px solid rgba(119,67,232,.16);box-shadow:0 -14px 38px rgba(119,67,232,.07);transform:rotate(-10deg)}.flow-main:before,.flow-main:after{content:"";position:absolute;left:5%;right:6%;border-radius:50%}.flow-main:before{top:18px;height:1px;border-top:1px dashed rgba(119,67,232,.14)}.flow-main:after{top:42px;height:2px;background:linear-gradient(90deg,transparent,rgba(141,96,238,.14),transparent);filter:blur(2px)}.flow-secondary{right:-12%;top:4%;width:68%;height:48%;border-top:1px dashed rgba(119,67,232,.12);transform:rotate(12deg)}.ambient-panel{position:absolute;display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid rgba(116,75,200,.1);border-radius:12px;background:rgba(255,255,255,.34);box-shadow:0 12px 38px rgba(87,55,126,.025);opacity:.55;backdrop-filter:blur(2px)}.ambient-panel>i{display:block;width:58%;height:5px;border-radius:9px;background:#e4dcf4}.ambient-panel>i:nth-child(2){width:80%}.ambient-panel>i:nth-child(3){width:44%}.ambient-panel>b{display:block;width:100%;height:42px;margin-top:8px;border-bottom:2px solid rgba(118,69,230,.3);background:linear-gradient(160deg,transparent 42%,rgba(118,69,230,.07) 43% 52%,transparent 53%);transform:skewY(-5deg)}.panel-primary{top:18%;right:4%;width:220px;height:164px}.panel-secondary{top:34%;right:16%;width:188px;height:122px}.panel-tertiary{top:41%;right:31%;width:132px;height:92px;opacity:.34}
.login-panel{position:relative;z-index:3;display:grid;place-items:center;width:min(47%,650px);min-height:100svh;margin-left:auto;padding:72px clamp(36px,4vw,70px);overflow:visible;background:transparent}.login-panel:before{content:none}.login-box{position:relative;width:min(460px,100%);padding:34px 36px;border:1px solid rgba(116,68,211,.18);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 22px 64px rgba(70,43,94,.11),0 3px 12px rgba(70,43,94,.04);backdrop-filter:blur(14px)}.login-box form{display:grid;gap:18px}.input-wrap{height:62px;padding:0 18px;border:1px solid #dedbe4;border-radius:11px;background:rgba(255,255,255,.92);box-shadow:none}.input-wrap:focus-within{border-color:#7540d6;box-shadow:0 0 0 4px rgba(117,64,214,.08)}.input-wrap>span{color:#363142}.input-wrap input{color:#24202a;font-size:14px}.input-wrap input::placeholder{color:#9d98a4}.input-wrap button{color:#4b4555}.form-error{margin:-5px 1px -3px;font-size:11px}.login-button{height:60px;margin-top:3px;border-radius:10px;background:linear-gradient(100deg,#5529dd,#7438ec 57%,#612bdc);color:#fff;font-size:15px;letter-spacing:.04em;box-shadow:0 15px 28px rgba(91,42,218,.2)}.login-button:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(91,42,218,.27)}
@media(max-width:960px){.login-page{min-height:100svh}.login-showcase{display:block;padding:28px 24px}.login-brand .brand-symbol{width:46px;height:46px}.login-brand b{font-size:13px}.login-brand small{font-size:7px}.ambient-world{left:-28%;top:13%;opacity:.13}.ambient-panel{display:none}.flow-main{right:-85%;bottom:-30%;width:190%;height:64%;opacity:.75}.flow-secondary{right:-70%;top:9%;width:160%;opacity:.55}.login-panel{width:100%;min-height:100svh;padding:126px 22px 42px;place-items:center}.login-box{width:min(430px,100%);padding:27px 24px}}
@media(max-width:430px){.login-showcase{padding:24px 20px}.login-brand{gap:12px}.login-brand .brand-symbol{width:42px;height:42px}.login-panel{padding:116px 18px 34px;place-items:center}.login-box{padding:22px 19px;border-radius:16px}.input-wrap{height:57px}.login-button{height:56px}}
@media(max-height:650px) and (min-width:961px){.login-panel{padding-block:28px}.login-box{padding-block:26px}.input-wrap{height:55px}.login-button{height:54px}}

/* Local development connected to the production RDS. Hidden in the normal production runtime. */
.runtime-banner{position:fixed;inset:0 0 auto;z-index:1000;min-height:36px;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 18px;background:#b42318;color:#fff;box-shadow:0 4px 14px rgba(80,10,6,.22);font-size:12px;letter-spacing:.01em}.runtime-banner b{font-size:13px}.runtime-banner span{opacity:.92}.runtime-warning{padding-top:36px}.runtime-warning .workspace-sidebar,.runtime-warning .workspace-topbar{top:36px}.runtime-warning .workspace-sidebar{height:calc(100vh - 36px)}.runtime-warning .login-page,.runtime-warning .loading-view{min-height:calc(100vh - 36px)}
@media(max-width:640px){.runtime-banner{justify-content:flex-start;gap:7px;min-height:42px;padding:7px 12px;font-size:10px;line-height:1.35}.runtime-banner b{flex:0 0 auto;font-size:11px}.runtime-warning{padding-top:42px}.runtime-warning .workspace-sidebar,.runtime-warning .workspace-topbar{top:42px}.runtime-warning .workspace-sidebar{height:calc(100vh - 42px)}}

/* Department projects stay visible directly below their parent module. */
.nav-project-list{display:flex;flex-direction:column;gap:2px;margin:-1px 0 5px;padding:0 0 0 31px}
.nav-project-list[hidden]{display:none!important}
.workspace-nav .nav-project-link{position:relative;min-height:28px;padding:6px 9px 6px 17px;border-radius:7px;color:#a99db8;font-size:9px;line-height:1.3;white-space:normal}
.workspace-nav .nav-project-link:before{content:"";position:absolute;left:2px;top:50%;width:7px;height:1px;background:rgba(212,190,235,.38)}
.workspace-nav .nav-project-link:hover{color:#fff;background:rgba(255,255,255,.055)}
.workspace-nav .nav-project-link.active{color:#fff;background:rgba(139,64,220,.22);box-shadow:none}
.workspace-nav .nav-project-link.active:before{height:5px;border-radius:50%;background:#db9df4;transform:translateY(-2px)}
.workspace-nav>button.has-projects:after{content:"›";margin-left:auto;color:#9f8db1;font-size:15px;line-height:1;transform:rotate(0deg);transition:transform .18s ease,color .18s ease}.workspace-nav>button.has-projects[aria-expanded="true"]:after{color:#ead7f7;transform:rotate(90deg)}
@media(max-width:930px) and (min-width:681px){.nav-project-list{display:none!important}}
@media(max-width:680px){.workspace-sidebar:not(.open) .nav-project-list{display:none!important}.workspace-sidebar.open .nav-project-list{display:flex;padding-left:31px}.workspace-sidebar.open .workspace-nav .nav-project-link{justify-content:flex-start;padding:6px 9px 6px 17px;font-size:9px}}

/* Three-level account access */
.read-only-banner{display:flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:8px 24px;border-bottom:1px solid #f0d8aa;background:#fff8e9;color:#74501b;font-size:9px}.read-only-banner b{color:#8c5a12;font-size:9px}.read-only-banner[hidden]{display:none}.read-only-tag{display:inline-flex;align-items:center;justify-content:center;min-height:25px;border-radius:99px;padding:4px 9px;background:#f2f0f5;color:#77717d;font-size:8px;white-space:nowrap}
@media(max-width:680px){.read-only-banner{align-items:flex-start;flex-direction:column;gap:2px;padding:8px 14px}}

/* Workspace breadcrumb: department projects return through their parent segment. */
.workspace-breadcrumb{min-width:0}
.workspace-topbar .workspace-breadcrumb{gap:10px;color:#9a9faa;font-size:14px}
.workspace-breadcrumb .breadcrumb-root{flex:0 0 auto;color:#999da7;font-size:14px;font-weight:400}
.workspace-breadcrumb .breadcrumb-separator{flex:0 0 auto;color:#c7cad0;font-size:15px;font-weight:700}
.workspace-breadcrumb .breadcrumb-module{flex:0 0 auto;padding:3px 1px;border:0;background:transparent;color:#27232d;font-size:15px;font-weight:750;line-height:1.2;cursor:pointer}
.workspace-breadcrumb .breadcrumb-module:hover{color:var(--brand)}
.workspace-breadcrumb #current-section{min-width:0;overflow:hidden;color:#27232d;font-size:15px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:680px){.workspace-topbar .workspace-breadcrumb{gap:7px}.workspace-topbar .workspace-breadcrumb>.breadcrumb-root,.workspace-topbar .workspace-breadcrumb>.breadcrumb-root-separator{display:none}.workspace-topbar .workspace-breadcrumb>.breadcrumb-project-separator:not([hidden]){display:inline}.workspace-breadcrumb .breadcrumb-module,.workspace-breadcrumb #current-section{font-size:13px}}

/* Collapsible desktop navigation */
.workspace-shell{transition:grid-template-columns .22s ease}
.operations-analysis-active .workspace-topbar{height:56px}
.operations-analysis-active .workspace-content{min-height:calc(100vh - 56px);padding:14px 18px 20px}
.workspace-sidebar{transition:padding .22s ease}
.sidebar-collapse-toggle{position:absolute;top:78px;right:-12px;z-index:3;width:24px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:0 8px 8px 0;background:#6427d9;color:#fff;font-size:18px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(49,17,123,.28);transition:background .18s ease,transform .18s ease}
.sidebar-collapse-toggle:hover{background:#7b32e8;color:#fff;transform:translateX(1px)}
@media(min-width:931px){
  .workspace-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
  .workspace-shell.sidebar-collapsed .workspace-sidebar{padding:0;background:transparent;box-shadow:none}
  .workspace-shell.sidebar-collapsed .sidebar-brand,
  .workspace-shell.sidebar-collapsed .workspace-nav,
  .workspace-shell.sidebar-collapsed .sidebar-footer{display:none}
  .workspace-shell.sidebar-collapsed .sidebar-collapse-toggle{right:-24px}
}
@media(max-width:930px){.sidebar-collapse-toggle{display:none}}
.icp-footer{position:fixed;left:50%;bottom:12px;z-index:8;transform:translateX(-50%);font-size:11px;line-height:1.5;white-space:nowrap}.icp-footer a{color:#827a89;text-decoration:none}.icp-footer a:hover,.icp-footer a:focus-visible{color:#5c2aa0;text-decoration:underline;text-underline-offset:3px}@media(max-width:960px){.icp-footer{bottom:9px;font-size:10px}}
