/* E3P corporate presentation tokens. Runtime theme color can override --e3p-primary. */
:root{--e3p-primary:#102f65;--e3p-deep:#071d43;--e3p-blue:#174882;--e3p-accent:#e03348;--e3p-ink:#172e4d;--e3p-muted:#65768d;--e3p-line:#e2e9f2;--e3p-bg:#f4f7fb;--e3p-white:#fff;--e3p-success:#16a480;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--e3p-ink);font-synthesis:none;line-height:1.5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:#afcdf5;color:#071d43}
/* Landing / access */
.login-layout{min-height:100vh;background:#eef3fa}.login-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(440px,.88fr);min-height:100vh}.login-story{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:55px clamp(40px,5vw,95px) 38px;color:white;background:linear-gradient(145deg,#061933 0%,#102f65 55%,#215998 100%)}.login-story:before{content:"";position:absolute;z-index:-1;right:-26%;top:5%;width:85%;aspect-ratio:1;border:1px solid #a2c6f630;border-radius:50%;box-shadow:0 0 0 65px #bedbff07,0 0 0 130px #a2c6f608,0 0 0 210px #bedbff08}.login-story:after{content:"";position:absolute;z-index:-1;right:-36%;bottom:-48%;width:85%;aspect-ratio:1;border:1px solid #9dc5ed2b;border-radius:50%;box-shadow:0 0 0 95px #a2c6f509,0 0 0 185px #b4d5f507}.story-decoration{position:absolute;pointer-events:none;top:32%;right:10%;height:250px;width:250px;border-top:1px solid #d0e6ff14;transform:rotate(-30deg)}.login-story-top{position:relative;z-index:1}.brand-logo{display:block;max-width:198px;height:auto;max-height:108px;object-fit:contain;object-position:left center}.story-label{font-size:10px;letter-spacing:2.4px;font-weight:700;margin-top:22px;color:#bed4f2}.edition-label{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.5px;color:#c2daf8}.edition-dot{height:7px;width:7px;display:inline-block;background:#6bdaec;border-radius:50%;box-shadow:0 0 0 5px #6bdaec24}.login-story-content{max-width:640px;position:relative;z-index:1;padding:42px 0}.login-story h1{font-size:clamp(42px,4vw,68px);letter-spacing:-2.9px;line-height:1.13;font-weight:720;margin:23px 0 24px}.login-story h1 em{font-style:normal;color:#a9c9f4}.login-story-content>p{font-size:16px;line-height:1.85;max-width:540px;color:#cfddf1;margin-bottom:48px}.story-highlights{border-top:1px solid #a7caff45;padding-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.story-highlights>div{display:flex;flex-direction:column;gap:4px}.story-highlights strong{font-size:13px;font-weight:660}.story-highlights small{font-size:11px;color:#b2cbeb}.highlight-rule{width:29px;height:2px;background:#ee4c65;margin-bottom:9px}.login-story-footer{color:#a7c1e3;font-size:11px;letter-spacing:.2px;position:relative}.login-story-footer span{padding:0 9px}.login-access{display:flex;flex-direction:column;justify-content:space-between;padding:50px clamp(35px,5vw,95px) 32px;background:#f7f9fc;min-width:0}.access-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.mini-logo{color:#103369;font-weight:850;font-size:30px;letter-spacing:-2px}.mini-logo span{color:#e43d4f}.access-type{font-size:10px;color:#73849b;font-weight:700;letter-spacing:1.6px}.access-card{width:min(100%,450px);margin:58px auto;padding-bottom:45px}.access-icon{border:1px solid #dae6f7;background:#e8f1fc;border-radius:16px;width:66px;height:66px;display:grid;place-items:center;color:#165192;margin-bottom:30px}.access-icon svg{height:30px;width:30px}.access-eyebrow,.eyebrow{font-size:10px;font-weight:800;color:#577ba5;letter-spacing:2px}.access-card h2{font-size:clamp(30px,2.2vw,40px);font-weight:780;letter-spacing:-1.4px;line-height:1.2;margin:12px 0 16px}.access-intro{font-size:14px;color:#62758d;line-height:1.9;margin:0 0 30px}.identity-status{display:flex;align-items:center;gap:10px;border:1px solid #dee7f3;background:#fff;border-radius:10px;padding:12px 15px;color:#5b6d82;font-size:12px;margin:0 0 17px}.status-light{height:8px;width:8px;border-radius:50%;background:#e0a028;box-shadow:0 0 0 4px #f8e8c8}.status-light.available{background:#169e74;box-shadow:0 0 0 4px #d6f6e7}.sso-button{background:#10346d;border:1px solid #10346d;border-radius:10px;padding:16px 19px;color:white;display:flex;align-items:center;gap:13px;font-weight:650;font-size:14px;box-shadow:0 12px 26px #10346d25;transition:background .15s ease,transform .15s ease}.sso-button:hover{background:#1c4c8e;transform:translateY(-1px)}.sso-button svg{width:20px;height:20px;flex-shrink:0}.sso-button .arrow-right{margin-left:auto;font-size:21px}.sso-unavailable{opacity:.6;cursor:not-allowed;box-shadow:none}.access-divider{margin:34px 0 24px;display:flex;align-items:center;gap:14px;color:#8293a7;font-size:10px;font-weight:750;letter-spacing:1.3px;white-space:nowrap}.access-divider:before,.access-divider:after{content:"";height:1px;background:#dce4ef;flex:1}.access-note{font-size:12px;color:#7d8da2;line-height:1.75}.access-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:#8c9aab}.access-bottom a{color:#3c6397;font-weight:650}.access-bottom a:hover{text-decoration:underline}
/* Admin shell */
.dashboard-layout{background:var(--e3p-bg)}.shell{display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0b254f,#102f65);color:white;width:272px;padding:30px 20px 22px;display:flex;flex-direction:column;flex-shrink:0;min-height:100vh;position:sticky;top:0;height:100vh}.sidebar-brand{padding:0 9px}.sidebar .brand-logo{max-width:154px;max-height:85px}.brand-divider{height:1px;background:#ffffff25;margin:21px 0 18px}.sidebar-product{display:flex;align-items:center;justify-content:space-between}.sidebar-product strong{font-weight:860;font-size:37px;line-height:1;letter-spacing:-2px}.sidebar-product strong span{color:#fa5165}.sidebar-product small{font-size:9px;letter-spacing:1.7px;color:#b9cbe4}.side-caption{font-size:10px;color:#91aed4;letter-spacing:1.6px;font-weight:700;margin:54px 13px 12px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{padding:13px 13px;border-radius:9px;display:flex;align-items:center;gap:13px;font-size:12px;font-weight:560;color:#d5e2f7}.nav-item:hover,.nav-item:focus-visible,.nav-item.selected{background:#ffffff17;color:#fff}.nav-symbol{font-size:20px;width:22px;text-align:center;line-height:1;color:#9cb9e2}.sidebar-foot{margin-top:auto}.side-divider{height:1px;background:#ffffff25;margin-bottom:20px}.side-info{font-size:11px;display:flex;align-items:center;gap:8px;color:#bed0e8;padding:0 10px;margin-bottom:16px}.tiny-green{height:8px;width:8px;background:#3cdaac;border-radius:50%}.text-btn{border:1px solid #7592b94a;background:transparent;color:#eaf4ff;border-radius:9px;width:100%;padding:12px 16px;display:flex;justify-content:space-between;font-size:12px}.text-btn:hover{background:#ffffff19}.main{flex:1;min-width:0;padding:0 clamp(24px,3.3vw,62px) 20px;max-width:1690px}.topbar{height:75px;border-bottom:1px solid #e3e9f0;display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{font-size:12px;color:#899ab0}.breadcrumb strong{color:#2b4564}.account{font-size:11px;color:#4f6480;display:flex;align-items:center;gap:10px;max-width:45%;overflow-wrap:anywhere}.avatar-circle{height:33px;width:33px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#dbe6f5;color:#133d73;font-weight:850}.page-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:39px 0 25px}.page-header h1{font-size:clamp(24px,2.7vw,36px);font-weight:760;line-height:1.25;letter-spacing:-1.3px;margin:9px 0}.muted{color:var(--e3p-muted);font-size:12px;margin:5px 0}.page-header .muted{font-size:14px}.header-external,.subtle-link{color:#19568d;font-size:12px;font-weight:650;white-space:nowrap}.header-external{border:1px solid #cfdced;border-radius:9px;background:white;padding:10px 14px}.header-external span{padding-left:12px}.header-external:hover,.subtle-link:hover{background:#eaf2fc}.main section{margin:20px 0 44px;scroll-margin-top:28px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-head h2{font-size:19px;font-weight:740;letter-spacing:-.5px;margin:3px 0}.section-tag{color:#7892b2;letter-spacing:1px;font-size:10px;font-weight:760}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{background:#fff;border:1px solid #e0e9f3;border-radius:13px;box-shadow:0 5px 21px #133c7707;padding:19px;min-width:0}.metric-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.metric-glyph{height:31px;width:31px;border-radius:9px;display:grid;place-items:center;background:#e9f1fd;color:#144378;font-weight:820}.metric-label{font-size:9px;font-weight:760;letter-spacing:1px;text-align:right;color:#7489a5}.metric-card strong{font-size:17px;display:block;margin:24px 0 5px;color:#1d3b60;overflow-wrap:anywhere}.metric-card small{font-size:11px;color:#8190a5}.studio{background:#fff;border:1px solid #e0e9f3;border-radius:14px;box-shadow:0 5px 24px #17385a07;padding:22px}.toolbar,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar{border-bottom:1px solid #eaf0f7;padding-bottom:20px}.toolbar label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:720;color:#556c88}.toolbar input{max-width:220px}input,select{background:white;border:1px solid #cedbec;color:#163961;border-radius:8px;padding:9px 11px;min-width:0}input:focus,select:focus{border-color:#2573b8}button,.btn{border-radius:8px;border:1px solid #ccd8e8;background:#fff;color:#1c4b7d;padding:10px 14px;font-size:12px;font-weight:680}button:hover{background:#f3f7ff}button.primary,.btn.primary{background:var(--e3p-primary);color:#fff;border-color:var(--e3p-primary)}button.primary:hover{filter:brightness(1.1)}.hint{padding:12px 15px;background:#f3f8ff;color:#507091;font-size:12px;border-radius:8px;margin:18px 0}.hint span{font-weight:800;padding-right:8px}.workflow-grid{display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:14px}.canvas{height:400px;position:relative;overflow:auto;border:1px solid #d8e3f1;border-radius:10px;background-color:#fbfdff;background-image:radial-gradient(#d1dfef 1px,transparent 1px);background-size:22px 22px}#wf-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}#wf-nodes{position:absolute;inset:0}.node{position:absolute;background:#fff;border:1.5px solid #2a6ea9;box-shadow:0 9px 19px #235a8d1a;border-radius:10px;padding:11px;min-width:150px;user-select:none;touch-action:none;cursor:grab}.node:active{cursor:grabbing}.node strong{display:block;font-size:12px}.node small{font-size:11px;color:#8494aa}.inspector{height:400px;overflow:auto;border:1px solid #dee7f1;border-radius:10px;padding:12px}.inspector h3{font-size:12px;margin:5px 0 13px;color:#275386}.edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 0;border-bottom:1px solid #edf2f8}.edit-row .stack{display:grid;gap:6px}.edit-row input,.edit-row select{padding:7px;font-size:11px;width:100%}.edit-row label{font-size:10px;color:#647b94}.edit-row button{padding:6px 10px}.actions{padding-top:20px}#wf-result{font-size:12px;color:#245e50;flex:1}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tiles>a{position:relative;min-height:134px;display:flex;flex-direction:column;padding:20px;border:1px solid #e0e8f3;border-radius:12px;background:white;box-shadow:0 4px 18px #18376505}.tiles>a:hover{border-color:#9ab8d9;box-shadow:0 12px 28px #0d397012;transform:translateY(-1px)}.tile-icon{width:34px;height:34px;background:#e9f1fd;color:#215c94;border-radius:9px;display:grid;place-items:center;font-size:18px;margin-bottom:13px}.tiles strong{font-size:13px;color:#224463}.tiles small{font-size:11px;color:#7890a8;margin-top:4px}.tile-next{position:absolute;right:19px;top:21px;color:#5681ac}.page-footer{padding:28px 0 24px;margin-top:55px;border-top:1px solid #e0e7f0;display:flex;justify-content:space-between;gap:12px;color:#8a9aad;font-size:11px}
@media(max-width:1250px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-grid{grid-template-columns:minmax(0,1fr) 240px}.login-story{padding:42px 40px}.login-access{padding:42px 35px}.login-story h1{font-size:45px}}
@media(max-width:940px){.login-shell{grid-template-columns:1fr}.login-story{min-height:360px;padding:30px}.login-story h1{font-size:38px;margin:16px 0}.login-story-content{padding:30px 0 5px}.login-story-content>p{margin-bottom:25px}.login-story-footer,.story-highlights,.story-label{display:none}.login-access{min-height:570px}.access-card{margin:42px auto}.workflow-grid{grid-template-columns:1fr}.sidebar{width:210px}.sidebar-product{display:block}.sidebar-product small{display:block;margin-top:8px}.main{padding:0 22px}}
@media(max-width:620px){.login-story{min-height:300px;padding:24px}.login-story .brand-logo{max-width:125px}.login-story h1{font-size:30px;letter-spacing:-1.1px}.login-story-content>p{font-size:12px}.login-access{padding:27px 22px;min-height:520px}.access-card{margin:48px auto 20px;padding-bottom:0}.access-card h2{font-size:29px}.access-top .access-type{font-size:9px}.access-bottom{padding-top:28px}.shell{display:block}.sidebar{width:100%;height:auto;min-height:0;position:static;padding:17px}.sidebar-brand{display:flex;align-items:center;gap:15px}.sidebar-brand img{max-height:50px;max-width:105px}.brand-divider{width:1px;height:35px;margin:0}.sidebar-product strong{font-size:25px}.sidebar-product small{font-size:8px}.side-caption{display:none}.sidebar nav{flex-direction:row;overflow:auto;margin-top:15px}.nav-item{flex-shrink:0;font-size:11px;padding:10px}.sidebar-foot{display:none}.main{padding:0 16px}.topbar{height:auto;min-height:56px}.account{font-size:10px}.page-header{padding:25px 0;display:block}.header-external{display:inline-block;margin-top:12px}.section-head{align-items:flex-start}.section-tag{display:none}.metrics,.tiles{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar label{width:100%;justify-content:space-between}.toolbar label input{width:60%}.page-footer{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* E3P Django-owned configuration center styles */
