/* G&I CPE Compliance Hub — design system (shared by shell.jsx + screens.jsx) */
/* EY Interstate: place licensed files in assets/fonts/. Light/Regular/LightBold/Bold cover UI weights.
   Web substitute order follows EY brand guidance: Noto Sans on web, then Arial. */
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Light.woff2") format("woff2"),url("assets/fonts/EYInterstate-Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-LightBold.woff2") format("woff2"),url("assets/fonts/EYInterstate-LightBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Regular.ttf") format("truetype");font-weight:450;font-style:normal;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-BoldItalic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap}
/* Map heavier UI weights (750/800/850) onto Bold so headings render in EY Interstate */
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Bold.ttf") format("truetype");font-weight:750;font-style:normal;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Bold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"EY Interstate";src:url("assets/fonts/EYInterstate-Bold.ttf") format("truetype");font-weight:850;font-style:normal;font-display:swap}
:root{--ey-black:#1a1a24;--ey-dark:#23232e;--ey-yellow:#ffe600;--purple:#5b4bd1;--purple-deep:#4b3fb5;--green:#1f9d55;--amber:#f2b900;--red:#c62828;--bg:#f4f4f7;--card:#fff;--line:#e7e7ee;--muted:#6b6b76;--text:#1a1a24;--ey-font:"EY Interstate","Noto Sans",Arial,Helvetica,sans-serif;--ey-mono:Consolas,"Courier New",monospace;}
*{margin:0;padding:0;box-sizing:border-box;font-family:var(--ey-font)}
/* Use the licensed EYInterstate Light face for normal UI text; explicit
   heading and emphasis weights retain their matching EYInterstate faces. */
html,body,button,input,select,textarea{font-family:var(--ey-font);font-weight:300}
/* Browsers render b/strong as "bolder", which only lifts Light (300) to
   Regular (400); pin them to the Bold face so labels stay emphasized. */
b,strong{font-weight:700}
body{background:var(--bg);color:var(--text)}
.home-page{min-height:100vh;background:#020d18;color:#f7f8fa;display:flex;flex-direction:column;letter-spacing:0}
.portal-header{height:82px;padding:0 28px 0 22px;display:grid;grid-template-columns:280px 1fr 280px;align-items:center;border-bottom:1px solid #142536;background:#020b15;position:sticky;top:0;z-index:20}.portal-brand{display:flex;align-items:center;gap:18px}.portal-brand img{width:62px;height:auto}.portal-brand b,.portal-brand span{display:block}.portal-brand b{font-size:21px}.portal-brand span{color:#b2bbc5;font-size:11px;margin-top:2px}.portal-nav{height:100%;display:flex;align-items:stretch;justify-content:center;gap:9px}.portal-nav button{display:flex;align-items:center;gap:8px;padding:0 15px;color:#e9edf1;background:none;border:0;border-bottom:3px solid transparent;font-size:12px;cursor:pointer}.portal-nav button:hover,.portal-nav button.active{color:#fff;border-bottom-color:#ffe600}.portal-nav button.active .ico{color:#ffe600}.portal-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px}.portal-bell{position:relative;padding-right:14px;border-right:1px solid #203041}.portal-bell i{position:absolute;right:5px;top:-8px;width:18px;height:18px;border-radius:50%;background:#ffe600;color:#07111d;font-style:normal;font-size:10px;font-weight:800;display:grid;place-items:center}.home-user{display:flex;align-items:center;gap:10px}.home-avatar{width:39px;height:39px;border-radius:50%;border:1px solid #687584;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.home-user b,.home-user span{display:block}.home-user b{font-size:12px}.home-user div>span{font-size:10px;color:#b2bbc5;margin-top:3px}.user-chevron{font-size:26px;color:#c3cad2}
.portal-main{width:100%;flex:1}.portal-hero{height:262px;display:grid;grid-template-columns:37% 63%;overflow:hidden;border-bottom:1px solid #122435;background:linear-gradient(90deg,#061623 0,#061623 34%,#06111d 65%,#050d18)}.hero-copy{padding:34px 24px 24px 46px;z-index:3}.hero-kicker{text-transform:uppercase;color:#ffe600;font-size:11px;font-weight:700;margin-bottom:11px}.hero-copy h1{font-size:30px;line-height:1.24;font-weight:750}.hero-copy>p{max-width:365px;color:#d1d7dd;font-size:12px;line-height:1.55;margin-top:11px}.hero-assurance{display:flex;align-items:center;gap:13px;color:#dbe1e6;font-size:11px;line-height:1.5;margin-top:18px}.hero-assurance .ico{color:#ffe600;border:2px solid #ffe600;border-radius:9px;padding:4px;width:32px;height:32px}.hero-scene{position:relative;overflow:hidden;background:radial-gradient(circle at 65% 58%,rgba(17,80,111,.65),transparent 26%),linear-gradient(180deg,#06131e,#0a2131 62%,#050f19 63%)}.hero-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(177deg,transparent 18%,rgba(8,29,43,.7) 19%),repeating-linear-gradient(90deg,#09131c 0 18px,#102330 19px 22px);clip-path:polygon(0 62%,8% 48%,14% 72%,24% 34%,30% 66%,38% 51%,45% 75%,54% 27%,60% 65%,69% 44%,77% 71%,86% 38%,93% 66%,100% 45%,100% 100%,0 100%)}.network-grid{position:absolute;inset:29% 0 12%;opacity:.72;background:linear-gradient(23deg,transparent 48%,#ffb800 49%,transparent 50%),linear-gradient(-18deg,transparent 49%,#2fb7f6 50%,transparent 51%),linear-gradient(12deg,transparent 48%,#7853e8 49%,transparent 50%);background-size:180px 95px,240px 130px,290px 115px}.network-label{position:absolute;top:34px;text-transform:uppercase;font-size:10px;z-index:4}.network-label b,.network-label span{display:block}.network-label span{text-transform:none;color:#dfe8ef;margin-top:4px}.network-label.federal{left:10%;color:#ffe600}.network-label.state{left:45%;color:#2fb7f6}.network-label.local{right:8%;color:#dc55ee}.monument{position:absolute;bottom:27px;z-index:2;background:#b9904e;filter:drop-shadow(0 0 8px rgba(255,193,72,.35))}.monument-left{left:20%;width:90px;height:42px;clip-path:polygon(10% 34%,43% 34%,45% 18%,55% 18%,58% 34%,90% 34%,100% 100%,0 100%)}.monument-center{left:48%;width:13px;height:143px;clip-path:polygon(44% 0,56% 0,68% 15%,74% 100%,26% 100%,32% 15%)}.monument-right{right:20%;width:112px;height:65px;clip-path:polygon(0 52%,35% 52%,42% 38%,47% 38%,48% 12%,52% 0,56% 12%,57% 38%,63% 38%,69% 52%,100% 52%,100% 100%,0 100%)}.network-node{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffe600;box-shadow:0 0 12px #ffe600;z-index:3}.node-1{left:8%;top:48%}.node-2{left:19%;top:66%}.node-3{left:31%;top:38%}.node-4{left:42%;top:72%;background:#2fb7f6}.node-5{left:51%;top:47%;background:#2fb7f6}.node-6{left:58%;top:79%;background:#2fb7f6}.node-7{left:68%;top:41%;background:#2fb7f6}.node-8{left:77%;top:64%;background:#dc55ee}.node-9{left:87%;top:45%;background:#dc55ee}.node-10{left:94%;top:72%;background:#dc55ee}.node-11{left:37%;top:86%}.node-12{left:72%;top:87%;background:#2fb7f6}
.applications{padding:16px 35px 20px}.applications>h2{text-transform:uppercase;font-size:12px;letter-spacing:0;font-weight:700;margin:0 0 10px 9px}.application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.application-card{min-height:197px;padding:18px 15px 13px;border:1px solid #30506a;border-radius:8px;background:linear-gradient(105deg,rgba(5,18,29,.98),rgba(4,16,27,.91));display:flex;flex-direction:column;position:relative;overflow:hidden}.application-card::after{content:"";position:absolute;right:-10px;top:0;width:90px;height:80px;opacity:.25;background-image:radial-gradient(currentColor 1px,transparent 1px);background-size:6px 6px}.cpe-card{border-color:#c99e00;color:#ffe600}.training-card{border-color:#0878c8;color:#2d96ff}.resource-card{border-color:#7149a7;color:#bb5cf3}.app-card-head{display:flex;align-items:center;gap:15px}.application-icon{width:49px;height:49px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:currentColor}.application-icon .ico{color:#fff}.app-card-head h3{color:#fff;font-size:15px}.app-card-head b{font-size:10px;display:block;margin-top:5px}.application-card>p{color:#bec7cf;font-size:10.5px;line-height:1.65;margin:10px 0 10px 64px;max-width:260px}.app-card-foot{border-top:1px solid #142838;padding-top:10px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px}.app-card-foot>div{display:flex;gap:14px;color:#c2c9d0;font-size:9px}.availability{white-space:nowrap}.availability i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2bd514;margin-right:5px;vertical-align:-1px}.app-card-foot button{border:0;border-radius:5px;background:currentColor;padding:9px 12px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.app-card-foot button span{font-size:16px;margin-left:8px}.app-card-foot button:disabled{cursor:not-allowed;opacity:.82}.cpe-card button{color:#07111d}.training-card .app-card-foot button{color:#fff}
.portal-principles{margin:0 35px 10px;padding:17px 18px;border:1px solid #10283a;border-radius:6px;display:grid;grid-template-columns:repeat(4,1fr);background:#03101b}.portal-principles>div{display:flex;gap:14px;align-items:flex-start;padding:0 18px;border-right:1px solid #203041}.portal-principles>div:last-child{border:0}.portal-principles>div>span{color:#ffe600}.portal-principles p{font-size:10px;line-height:1.65;color:#bcc6cf}.portal-principles b{display:block;color:#fff;font-size:11px;margin-bottom:2px}.home-footer{display:flex;justify-content:space-between;padding:10px 35px 16px;font-size:9px;color:#697987;background:#020d18}

/* EYAA common landing page */
.landing-page{min-height:100vh;background:#04101d;color:#f7f7fa;display:flex;flex-direction:column;letter-spacing:0}
.landing-page>main:not(.portal-placeholder){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.landing-header{position:absolute;inset:0 0 auto;z-index:30;height:80px;padding:0 clamp(22px,4vw,58px);display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);align-items:center;border-bottom:1px solid rgba(170,190,208,.18);background:rgba(2,10,20,.76);backdrop-filter:blur(10px)}
.landing-brand{justify-self:start;display:flex;align-items:center;gap:15px;color:#fff;background:none;border:0;cursor:pointer;text-align:left}.landing-brand img{width:58px;height:auto}.landing-brand>span:last-child,.landing-profile>span:nth-child(2){display:flex;flex-direction:column}.landing-brand b{font-size:30px}.landing-brand small{font-size:10.5px;color:#b7c1cb;margin-top:2px}.brand-divider{width:1px;height:40px;background:#8fa2b8;box-shadow:0 0 6px rgba(158,182,208,.55)}
.landing-header nav{height:100%;display:flex;align-items:stretch;justify-content:center;gap:4px}.landing-header nav button{position:relative;padding:0 14px;border:0;background:none;color:#e5e9ed;font-size:12px;cursor:pointer}.landing-header nav button::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:#ffe600;transform:scaleX(0);transition:transform .16s ease}.landing-header nav button:hover::after,.landing-header nav button.active::after{transform:scaleX(1)}
.landing-actions{justify-self:end;display:flex;align-items:center;gap:12px}.landing-popover-anchor{position:relative}.landing-bell{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;border-right:1px solid #334252;background:none;color:#eef2f5;cursor:pointer}.landing-bell>span{position:absolute;right:0;top:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#ffe600;color:#07111d;font-size:9px;font-weight:800;display:grid;place-items:center}.landing-profile{display:flex;align-items:center;gap:9px;border:0;background:none;color:#fff;cursor:pointer;text-align:left}.landing-profile b{font-size:11.5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-profile small{font-size:9.5px;color:#bbc4cc;margin-top:2px}.home-avatar{width:38px;height:38px;border:1px solid #778493;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}.landing-popover-anchor .notif{top:48px;right:0}.profile-menu{position:absolute;right:0;top:50px;width:240px;padding:14px;background:#fff;color:#20232b;border:1px solid #dfe2e7;border-radius:8px;box-shadow:0 14px 36px rgba(0,0,0,.28);z-index:40}.profile-menu>b,.profile-menu>span{display:block;overflow:hidden;text-overflow:ellipsis}.profile-menu>b{font-size:12px}.profile-menu>span{font-size:10px;color:#6b6b76;margin-top:4px}.profile-menu label{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #ececf0;font-size:10px;font-weight:700}.profile-menu select{display:block;width:100%;margin-top:5px;padding:7px;border:1px solid #d8d8df;border-radius:5px}.profile-signout{display:block;width:100%;margin-top:12px;padding:10px 0 0;border:0;border-top:1px solid #ececf0;background:none;color:#1a1a24;font-size:12px;font-weight:700;cursor:pointer;text-align:left}.mobile-menu{display:none}
.landing-hero{position:relative;min-height:clamp(520px,66vw,760px);display:flex;align-items:center;background-color:#050f1c;background-image:linear-gradient(90deg,rgba(3,11,22,.98) 0%,rgba(3,11,22,.88) 25%,rgba(3,11,22,.38) 52%,rgba(3,11,22,.10) 100%),linear-gradient(0deg,rgba(3,11,22,.94) 0%,rgba(3,11,22,.16) 42%,rgba(3,11,22,.12) 100%),url("/assets/eyaa-gps-dc-cover.png");background-size:auto,auto,contain;background-position:center,center,center top;background-repeat:no-repeat}.landing-hero::after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(to bottom,rgba(3,11,22,0),rgba(3,11,22,.96));pointer-events:none}.landing-hero-content{position:relative;z-index:2;width:min(46%,500px);padding:0 0 0 clamp(30px,5vw,76px)}.hero-kicker{text-transform:uppercase;color:#ffe600;font-size:11px;font-weight:750;margin-bottom:12px}.landing-hero h1{font-size:36px;line-height:1.22;font-weight:750}.landing-hero-content>p{max-width:470px;margin-top:16px;color:#d7dde3;font-size:13px;line-height:1.58}.hero-assurance{display:flex;align-items:center;gap:12px;max-width:460px;margin-top:24px;color:#e4e8ec;font-size:11.5px;line-height:1.45}.hero-assurance .ico{width:31px;height:31px;padding:4px;border:2px solid #ffe600;border-radius:8px;color:#ffe600;flex-shrink:0}
.applications{position:relative;z-index:4;margin-top:clamp(-230px,-19vh,-150px);padding:24px 4vw 18px;background:transparent}.applications>h2{margin:0 0 16px;text-transform:none;font-size:1rem;font-weight:700;color:#f4f5f7;letter-spacing:0;text-shadow:0 1px 6px rgba(0,0,0,.7)}.application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.application-card{min-height:250px;padding:18px;border:1px solid currentColor;border-radius:10px;background:linear-gradient(145deg,rgba(14,35,55,.96),rgba(5,21,36,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 28px rgba(0,0,0,.18);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,background .16s ease}.application-card::after{content:none}.application-card:hover,.application-card:focus-within,.application-card:focus{transform:translateY(-3px);background:rgba(8,25,41,.96);outline:none}.accent-yellow{color:#ffe600}.accent-blue{color:#3695ff}.accent-violet{color:#a75ce8}.app-card-head{display:flex;align-items:center;gap:14px}.application-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:currentColor;flex-shrink:0}.application-icon .ico{color:#fff}.accent-yellow .application-icon .ico{color:#11151b}.app-card-head h3{font-size:15px;color:#fff}.application-eyebrow{display:block;margin-top:4px;font-size:10px;font-weight:700;color:currentColor}.application-card>p{max-width:390px;margin:11px 0 12px 62px;color:#c2cad2;font-size:11px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.app-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto;padding-top:11px;border-top:1px solid rgba(180,195,207,.14)}.application-status{display:flex;align-items:center;gap:8px;color:#c3ccd4;font-size:10.5px}.status-dot{width:8px;height:8px;border-radius:50%;background:#43d522;flex-shrink:0}.application-status--pilot .status-dot{background:#a75ce8}.app-card-foot button{align-self:flex-end;padding:9px 12px;border:1px solid currentColor;border-radius:5px;background:currentColor;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.accent-yellow .app-card-foot button{color:#11151b}.accent-blue .app-card-foot button,.accent-violet .app-card-foot button{color:#fff}.app-card-foot button span{display:inline-block;margin-left:8px;font-size:15px;transition:transform .16s ease}.application-card:hover .app-card-foot button span,.application-card:focus-within .app-card-foot button span{transform:translateX(4px)}
.accent-yellow .app-card-foot button{border-color:#ffe600;background:#ffe600;color:#11151b}.accent-blue .app-card-foot button{border-color:#3695ff;background:#3695ff;color:#fff}.accent-violet .app-card-foot button{border-color:#a75ce8;background:#a75ce8;color:#fff}
.portal-principles{margin:0 clamp(24px,4vw,58px) 10px;padding:13px 12px;border:1px solid #173047;border-radius:7px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(3,15,26,.9)}.portal-principles>div{display:flex;align-items:flex-start;gap:13px;padding:0 18px;border-right:1px solid #27394a}.portal-principles>div:last-child{border:0}.portal-principles>div>span{color:#ffe600}.portal-principles p{color:#bbc5ce;font-size:10px;line-height:1.55}.portal-principles b{display:block;margin-bottom:2px;color:#fff;font-size:11px}.home-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding:10px clamp(24px,4vw,58px) 13px;color:#748492;background:#04101d;font-size:9px}.home-footer span:nth-child(2){text-align:center}.home-footer span:last-child{text-align:right}
.portal-placeholder{min-height:calc(100vh - 44px);padding:140px 24px 70px;display:grid;place-items:center;background:linear-gradient(115deg,#04101d,#071b2d)}.portal-placeholder>div{width:min(620px,100%);padding:34px;border:1px solid #233c52;border-radius:8px;background:#071522}.portal-placeholder .application-icon{margin-bottom:22px}.portal-placeholder h1{font-size:28px}.portal-placeholder p{margin-top:12px;color:#bdc7d0;font-size:13px;line-height:1.6}.portal-placeholder button{margin-top:22px;padding:10px 15px;border:1px solid #ffe600;border-radius:5px;background:#ffe600;color:#11151b;font-size:12px;font-weight:700;cursor:pointer}
.landing-page button:focus-visible,.landing-page [tabindex]:focus-visible,.landing-page select:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #1e6fb9}.landing-page a:focus-visible{outline:3px solid #ffe600;outline-offset:3px}
@media(max-width:1050px){.landing-header{grid-template-columns:235px 1fr 210px;padding:0 24px}.landing-brand img{width:50px}.landing-header nav button{padding:0 9px}.landing-header nav button::after{left:9px;right:9px}.landing-profile>span:nth-child(2){display:none}.landing-hero-content{width:52%}.application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-principles{grid-template-columns:repeat(2,1fr)}.portal-principles>div:nth-child(2){border-right:0}.portal-principles>div:nth-child(-n+2){padding-bottom:16px;border-bottom:1px solid #27394a}.portal-principles>div:nth-child(n+3){padding-top:16px}}
@media(max-width:760px){.landing-header{position:absolute;height:68px;padding:0 15px;grid-template-columns:38px 1fr auto}.mobile-menu{display:grid;place-items:center;width:34px;height:34px;border:0;background:none;color:#fff;cursor:pointer}.landing-brand{gap:9px}.landing-brand img{width:43px}.brand-divider{height:32px}.landing-brand b{font-size:16px}.landing-brand small{font-size:8px}.landing-header nav{display:none;position:absolute;top:68px;left:0;right:0;height:auto;padding:8px 16px 13px;background:#061522;border-bottom:1px solid #293b4c;align-items:stretch;flex-direction:column}.landing-header nav.open{display:flex}.landing-header nav button{min-height:42px;text-align:left}.landing-header nav button::after{left:0;right:auto;width:3px;top:8px;bottom:8px;height:auto}.landing-actions{gap:5px}.landing-bell{width:34px;border:0}.landing-profile .ico{display:none}.home-avatar{width:34px;height:34px}.landing-popover-anchor .notif{position:fixed;top:70px;right:10px;width:calc(100vw - 20px)}.profile-menu{position:fixed;top:70px;right:10px;width:calc(100vw - 20px)}.landing-hero{min-height:500px;background-position:center,center,center top}.landing-hero-content{width:100%;padding:115px 24px 62px}.landing-hero h1{font-size:30px}.landing-hero-content>p{max-width:350px}.hero-assurance{max-width:340px}.applications{margin-top:0;padding:22px 16px}.application-grid{grid-template-columns:1fr}.application-card{min-height:238px}.application-card>p{margin-left:0}.app-card-foot{align-items:stretch;flex-direction:column}.app-card-foot button{width:100%;align-self:stretch}.portal-principles{margin:0 16px 12px;grid-template-columns:1fr;padding:7px 18px}.portal-principles>div,.portal-principles>div:nth-child(n){padding:13px 0;border-right:0;border-bottom:1px solid #27394a}.portal-principles>div:last-child{border-bottom:0}.home-footer{grid-template-columns:1fr;gap:7px;padding:16px}.home-footer span:nth-child(n){text-align:left}.portal-placeholder{padding-top:105px}}
@media(prefers-reduced-motion:reduce){.landing-page *{scroll-behavior:auto!important;transition:none!important}.application-card:hover,.application-card:focus{transform:none}}

.landing-hero.eyaa-hero{position:relative;min-height:clamp(560px,100vh,900px);display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#050f1c}
.eyaa-hero__background{position:absolute;inset:0;z-index:0;background-image:image-set(url("/assets/eyaa-dc-hero-desktop.webp") type("image/webp"),url("/assets/eyaa-dc-hero-desktop.png") type("image/png"));background-size:cover;background-position:72% 28%;background-repeat:no-repeat}
.eyaa-hero__background::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(to bottom,rgba(3,11,22,0),rgba(3,11,22,.35));pointer-events:none;z-index:1}
.heroLowerWave{position:absolute;left:0;right:0;bottom:0;z-index:2;pointer-events:none;line-height:0;opacity:.7}
.heroLowerWave svg{display:block;width:100%;height:clamp(46px,6vw,84px)}
@media(max-width:760px){.heroLowerWave{display:none}}
.eyaa-hero__content{max-width:500px}
.eyaa-hero__content h1{font-size:clamp(2rem,3vw,3rem);line-height:1.16;font-weight:750}
.eyaa-hero__content>p{margin-top:18px;color:#d7dde3;font-size:clamp(.95rem,1.15vw,1.1rem);line-height:1.55;max-width:460px}
.eyaa-hero__content .hero-context{margin-top:10px;color:rgba(255,255,255,.62);font-size:.9rem}
.engagement-network{position:absolute;inset:0;z-index:1;pointer-events:none}
.engagement-network svg{width:100%;height:100%;display:block;opacity:0;animation:netFade 1150ms ease-out .05s forwards;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 25%,rgba(0,0,0,.72) 43%,#000 62%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 25%,rgba(0,0,0,.72) 43%,#000 62%,#000 100%)}
@media(max-width:1024px){.heroNetworkOverlay__gold{display:none}}
@media(max-width:760px){.heroNetworkOverlay{opacity:.5}}
@media(prefers-reduced-motion:reduce){.heroNetworkOverlay svg{animation:none;opacity:1}}
.network-edge{fill:none;stroke:rgba(112,177,218,.25);stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.network-edge--supporting{stroke:rgba(190,210,230,.12)}
.network-dot{fill:rgba(195,220,238,.52)}.network-dot--minor{fill:rgba(195,220,238,.36)}
.network-dot--primary{fill:#ffe600;animation:nodeSettle .9s ease-out .45s 1 both}
.network-dot-glow{fill:rgba(255,230,0,.24);opacity:.9;animation:nodeSettle 1s ease-out .4s 1 both;filter:url(#federalGlow)}
.eyaa-hero__engagement-labels{position:absolute;inset:0;z-index:2;pointer-events:none}
.engagement-label{position:absolute;display:flex;flex-direction:column;line-height:1.1;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 14px rgba(0,0,0,.55);opacity:0;transform:translateY(calc(-50% + 5px));animation:labelIn 430ms ease-out 1 forwards}
.engagement-label__node{position:absolute;left:-14px;top:5px;width:6px;height:6px;border-radius:50%;background:#ffe600;box-shadow:0 0 0 4px rgba(255,230,0,.22)}
.engagement-label__title{color:rgba(255,255,255,.96);font-size:clamp(.72rem,.85vw,.88rem);font-weight:700;letter-spacing:.055em}
.engagement-label__subtitle{margin-top:4px;color:rgba(255,255,255,.68);font-size:clamp(.76rem,.9vw,.94rem);font-weight:450}
.engagement-label--federal{left:45%;top:50%;animation-delay:360ms}
.engagement-label--state{left:63%;top:50%;animation-delay:430ms}
.engagement-label--local{left:auto;right:4%;top:50%;animation-delay:500ms}
.landing-hero-content.eyaa-hero__content{position:relative;z-index:3}
@keyframes netFade{to{opacity:.95}}
@keyframes labelIn{to{opacity:1;transform:translateY(-50%)}}
@keyframes nodeSettle{0%{opacity:0}100%{opacity:1}}
.shared-foundation{margin:0 4vw 14px;padding:12px 18px;display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;border:1px solid #12293c;border-radius:8px;background:rgba(4,15,26,.72)}
.shared-foundation__heading{display:flex;align-items:center;gap:9px;color:#fff;font-size:12px;font-weight:700}
.shared-foundation__heading .ico{color:#ffe600}
.shared-foundation__items{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0}
.shared-foundation__items li{position:relative;color:#aeb9c3;font-size:11px;padding-left:15px}
.shared-foundation__items li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:#46607a}

@media(max-width:1050px){
  .engagement-network .network-dot--minor,.engagement-network .network-edge--supporting{display:none}
  .engagement-label--state{left:60%}
  .engagement-label--local{right:3%}
}

@media(max-width:760px){
  .landing-hero.eyaa-hero{min-height:360px}
  .eyaa-hero__engagement-labels{display:none}
  .engagement-network svg{-webkit-mask-image:none;mask-image:none;opacity:.9}
  .engagement-network .network-edge{display:none}
  .engagement-network .network-dot{display:none}
  .engagement-network .network-dot--primary,.engagement-network .network-dot-glow{display:block}
}

@media(prefers-reduced-motion:reduce){
  .engagement-network svg,.network-edge,.engagement-label,.network-dot,.network-dot-glow{animation:none!important;transition:none!important}
  .engagement-network svg{opacity:.95}
  .engagement-label{opacity:1;transform:translateY(-50%)}
}
.home-page{min-height:100vh;background:linear-gradient(180deg,#fff 0,#fff 32%,#f4f4f7 32%,#f4f4f7 100%);display:flex;flex-direction:column}
.home-header{min-height:210px;padding:38px clamp(28px,5vw,76px);display:grid;grid-template-columns:180px 1fr 260px;align-items:center;border-top:7px solid var(--ey-yellow)}
.home-logo{width:82px}.home-title{text-align:center}.home-title h1{font-size:34px;font-weight:850}.home-title p{margin-top:10px;color:var(--muted);font-size:15px}
.home-user{display:flex;align-items:center;justify-self:end;gap:11px}.home-avatar{width:42px;height:42px;border-radius:50%;background:var(--ey-black);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.home-user b,.home-user span{display:block}.home-user b{font-size:13px}.home-user div>span{font-size:11px;color:var(--muted);margin-top:2px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.home-main{width:min(1120px,calc(100% - 48px));margin:42px auto;flex:1}.home-heading>span{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:var(--purple)}.home-heading h2{font-size:26px;margin-top:7px}.home-heading p{color:var(--muted);font-size:13px;margin-top:5px}
.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.workflow-card{min-height:142px;width:100%;display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;cursor:pointer;box-shadow:0 4px 16px rgba(20,20,30,.05);transition:transform .15s,border-color .15s,box-shadow .15s}.workflow-card:hover{transform:translateY(-2px);border-color:#bcb8dc;box-shadow:0 9px 24px rgba(20,20,30,.1)}.workflow-icon{width:52px;height:52px;background:var(--ey-black);color:var(--ey-yellow);display:flex;align-items:center;justify-content:center;border-radius:8px}.workflow-copy b,.workflow-copy small{display:block}.workflow-copy b{font-size:17px}.workflow-copy small{font-size:12.5px;line-height:1.45;color:var(--muted);margin-top:7px}.workflow-arrow{font-size:25px;font-weight:700}.workflow-card.disabled{cursor:default;background:#fafafa;box-shadow:none}.workflow-card.disabled:hover{transform:none;border-color:var(--line)}.workflow-card.disabled .workflow-icon{background:#e6e6eb;color:#777}.coming-soon{font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:800;color:#6b6b76;background:#ececf1;padding:5px 8px;border-radius:5px;white-space:nowrap}.home-footer{display:flex;justify-content:space-between;padding:20px clamp(28px,5vw,76px);font-size:10.5px;color:#8a8a94;background:#fff;border-top:1px solid var(--line)}
.training-screen{max-width:920px;margin:0 auto}.training-intro{margin:4px 0 20px}.training-intro>span{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:var(--purple)}.training-intro h2{font-size:24px;margin-top:6px}.training-intro p{font-size:13px;color:var(--muted);margin-top:5px}.training-form{padding:0;overflow:hidden}.signed-in-line{display:flex;align-items:center;gap:9px;background:var(--ey-dark);color:#fff;padding:13px 20px;font-size:12.5px;border-bottom:4px solid var(--ey-yellow)}.signed-in-line .ico{color:var(--ey-yellow)}.training-question{padding:26px 28px 22px}.training-question>label{display:block;font-size:16px;line-height:1.4}.training-question>p{font-size:12.5px;color:var(--muted);margin:7px 0 16px 22px}.required{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#7a6500;background:#fff7bf;border-radius:4px;padding:3px 6px;margin-left:8px;vertical-align:2px}.segmented{display:inline-flex;margin-left:22px;border:1px solid #cfcfd7;border-radius:7px;overflow:hidden}.segmented button{min-width:92px;border:0;border-right:1px solid #cfcfd7;background:#fff;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--ey-black);color:var(--ey-yellow)}.training-dependent{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 50px;background:#f7f7f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.training-dependent .field label{font-size:13px;margin-bottom:8px}.training-dependent input,.training-dependent select{background:#fff;min-height:42px}.training-actions{display:flex;justify-content:flex-end;padding:20px 28px}.training-submit{min-width:180px;border:0;border-radius:7px;background:var(--ey-yellow);color:var(--ey-black);padding:11px 22px;font-size:14px;font-weight:800;cursor:pointer}.training-submit:hover{background:#f2d900}.training-message{margin:18px 28px 0;border-radius:7px;padding:10px 13px;font-size:12.5px}.training-message.error{background:#fdeaea;color:#a01818}.training-message.success{background:#e6f5ec;color:#168736}
.training-wide{max-width:1120px}.upload-guidance{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#fff8c9;border-left:4px solid var(--ey-yellow);font-size:12.5px;margin-bottom:18px}.certificate-section{overflow:hidden;margin-bottom:18px}.certificate-section-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;background:var(--ey-dark);color:#fff;border-bottom:4px solid var(--ey-yellow)}.certificate-section-head h3{font-size:15px}.certificate-section-head span{font-size:10px;color:#c9c9d2;text-transform:uppercase;letter-spacing:.5px}.certificate-list{padding:0 18px}.certificate-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(190px,1fr) 150px 120px 30px;align-items:end;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.certificate-row:last-child{border-bottom:0}.certificate-name{align-self:center}.certificate-name b,.certificate-name span{display:block}.certificate-name b{font-size:12.5px}.certificate-name span{font-size:10.5px;color:#c62828;margin-top:2px}.certificate-file{height:40px;align-self:end;display:flex;align-items:center;gap:7px;border:1px dashed #aaaab5;border-radius:7px;padding:0 10px;color:#5d5d69;font-size:11.5px;font-weight:700;cursor:pointer;overflow:hidden}.certificate-file:hover{border-color:var(--purple);background:#faf9ff}.certificate-file.selected{border-style:solid;border-color:#82c99d;background:#eefaf2;color:#147a39}.certificate-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.certificate-file input{display:none}.certificate-date label{font-size:10.5px}.certificate-date input{height:40px}.training-status{display:inline-flex;align-items:center;justify-content:center;align-self:center;border-radius:12px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap}.status-not-submitted{background:#fdeaea;color:#a01818}.status-ready-to-upload{background:#fff4d8;color:#9b6200}.status-processing{background:#eaf0fb;color:#2e5aac}.status-accepted{background:#e6f5ec;color:#168736}.clear-certificate{align-self:center;width:28px;height:28px;border:0;border-radius:6px;background:#f1f1f5;color:#666673;font-size:18px;cursor:pointer}.clear-certificate:hover{background:#fdeaea;color:#a01818}.split-actions{gap:10px;padding-left:0;padding-right:0}.split-actions .btn-outline{margin-right:auto}.training-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.training-metrics .card{padding:16px 18px;border-top:4px solid var(--ey-yellow)}.training-metrics b,.training-metrics span{display:block}.training-metrics b{font-size:26px}.training-metrics span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;margin-top:3px}.training-summary{overflow:hidden}.summary-group h3{font-size:14px;background:#fffde8;padding:10px 14px;border-top:1px solid #f0edc8;border-bottom:1px solid #f0edc8}.summary-group:first-child h3{border-top:0}.training-summary-table th{background:#f6f6f8;text-transform:uppercase;letter-spacing:.4px}.training-summary-table th,.training-summary-table td{padding:9px 14px}.training-summary-table td small{display:block;color:#c62828;margin-top:2px}.summary-file{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.summary-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;background:#fafafa}.summary-footer p{font-size:12px;color:var(--muted)}.summary-footer .training-submit{min-width:150px}
.certificate-date input{background:#f6f6f8}.status-ready-to-check,.status-ready-to-submit,.status-check-failed{background:#fff4d8;color:#9b6200}.status-system-approved{background:#e6f5ec;color:#168736}.training-summary-table .check-output{color:var(--muted);line-height:1.45;max-width:430px}.training-submit:disabled{opacity:.65;cursor:wait}
.training-pmo-screen{max-width:none}.pmo-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);padding:13px 16px;margin-bottom:16px}.pmo-dashboard-toolbar b,.pmo-dashboard-toolbar span{display:block}.pmo-dashboard-toolbar b{font-size:13px}.pmo-dashboard-toolbar span{font-size:11px;color:var(--muted);margin-top:2px}.pmo-agency-filter{margin-left:0}.pmo-training-metrics{grid-template-columns:repeat(3,1fr)}.pmo-matrix-card{overflow:hidden}.pmo-matrix-scroll{overflow-x:auto}.pmo-training-matrix{width:max-content;min-width:100%;font-size:11px}.pmo-training-matrix th{position:sticky;top:0;background:var(--ey-dark);color:#fff;min-width:102px;padding:10px 8px;text-align:center;z-index:1}.pmo-training-matrix td{padding:8px;border-right:1px solid var(--line);text-align:center}.pmo-training-matrix .person-column{position:sticky;left:0;min-width:220px;max-width:220px;text-align:left;z-index:2;background:#fff}.pmo-training-matrix th.person-column{background:var(--ey-dark);z-index:3}.pmo-training-matrix .person-column b,.pmo-training-matrix .person-column span{display:block}.pmo-training-matrix .person-column span{font-size:10px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis}.matrix-status{display:block;min-width:88px;border-radius:5px;padding:6px 5px;font-size:9.5px;font-weight:800;line-height:1.25}.matrix-status.status-not-submitted{background:#f1f1f4;color:#6b6b76}.roster-upload-card{display:grid;grid-template-columns:1fr minmax(240px,320px) 170px;align-items:center;gap:18px;padding:20px;margin-bottom:18px}.roster-upload-copy h3{font-size:16px}.roster-upload-copy p{font-size:12px;color:var(--muted);margin-top:4px}.roster-file-picker{height:44px;display:flex;align-items:center;gap:8px;border:1px dashed #aaaab5;padding:0 12px;cursor:pointer;overflow:hidden}.roster-file-picker.selected{border-style:solid;border-color:#82c99d;background:#eefaf2;color:#147a39}.roster-file-picker span{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-file-picker input{display:none}.roster-upload-card .training-submit{min-width:0}.roster-preview{overflow:hidden}.agency-chip{display:inline-block;background:#ececf2;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}
.archive-table-card{overflow:hidden}.archive-table-scroll{overflow-x:auto}.archive-table{min-width:1040px}.archive-table td:first-child b,.archive-table td:first-child small{display:block}.archive-table td:first-child small{color:var(--muted);font-size:10px;margin-top:3px}.archive-table td:nth-child(3){max-width:240px}.archive-file-link{display:grid;grid-template-columns:18px minmax(130px,1fr);align-items:center;color:var(--purple-deep);font-size:11px;font-weight:800;text-decoration:none;max-width:260px}.archive-file-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-file-link small{grid-column:2;color:var(--muted);font-size:9px;font-weight:600;margin-top:2px}.archive-file-link:hover span{text-decoration:underline}.archive-agencies{display:flex;flex-wrap:wrap;gap:5px}.archive-bulk-download{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid #d5d3df;background:#fff;color:var(--ey-black);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.archive-bulk-download:hover{border-color:var(--purple);background:#faf9ff}.archive-bulk-download[aria-disabled="true"]{opacity:.45;pointer-events:none}.archive-upload-modal .field+.field{margin-top:14px}.archive-upload-modal input[type="file"]{min-height:42px;padding:8px;background:#fff}
.role-modal.archive-bulk-upload-modal{width:min(720px,calc(100vw - 32px));max-width:720px}.archive-bulk-picker{margin:16px 0 0}.archive-bulk-summary{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 12px;background:#f4f4f7;font-size:11px}.archive-bulk-summary span{color:var(--muted)}.archive-bulk-file-list{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-top:0}.archive-bulk-file-list>div{padding:9px 12px;border-top:1px solid var(--line)}.archive-bulk-file-list span,.archive-bulk-file-list small{display:block;overflow-wrap:anywhere}.archive-bulk-file-list span{font-size:11px;font-weight:750}.archive-bulk-file-list small{margin-top:3px;font-size:10px;color:var(--muted)}.archive-bulk-file-list .has-error{border-left:3px solid #c62828;background:#fff5f5}.archive-bulk-file-list .is-matched{border-left:3px solid #168736;background:#f4fbf6}.archive-bulk-upload-modal .training-message{margin:14px 0 0}.archive-bulk-upload-modal .training-message span{display:block;margin-top:5px;font-size:10px}
.app{display:flex;min-height:100vh}
.sidebar{width:248px;flex-shrink:0;background:var(--ey-black);color:#c9c9d2;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.sb-brand{padding:20px 20px 18px;border-bottom:1px solid #2c2c38;cursor:pointer;display:flex;align-items:center;gap:12px}
.sb-logo{height:32px;width:auto;display:block}
.sb-brand-divider{width:1px;height:30px;background:#8fa2b8;box-shadow:0 0 6px rgba(158,182,208,.55);flex-shrink:0}
.sb-eyaaBrand{display:inline-flex;align-items:center;gap:7px}
.sb-eyaaBrand__wordmark{color:var(--ey-yellow);font-size:20px;font-weight:800;letter-spacing:.035em;text-shadow:0 0 7px rgba(255,230,0,.16)}
.sb-eyaaBrand__layers{color:#d7dee8;flex-shrink:0}
.sb-section{color:#6f6f7c;font-size:10px;letter-spacing:1.2px;font-weight:800;padding:16px 20px 6px}
.sb-group{display:flex;align-items:center;justify-content:space-between;gap:8px;width:calc(100% - 24px);margin:14px 12px 0;appearance:none;border:none;border-top:1px solid rgba(255,255,255,.08);background:transparent;color:#c8c8d2;font:inherit;font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;padding:12px 8px 10px;cursor:pointer;text-align:left}
.sb-group:hover{color:#fff}
.sb-group svg{transition:transform .15s ease;flex:none}
.sb-group.open svg{transform:rotate(90deg)}
.sb-group-body{padding-bottom:4px}
.sb-group-body .sb-section{padding-top:12px}
.nav-item{display:flex;align-items:center;gap:12px;padding:10px 20px;font-size:13px;cursor:pointer;color:#c3c3ce;border-left:3px solid transparent}
.nav-item:hover{background:#26262f;color:#fff}
.nav-item.active{background:linear-gradient(90deg,rgba(255,230,0,.16),transparent);border-left-color:var(--ey-yellow);color:#fff;font-weight:700}
.nav-item.active .ico{color:var(--ey-yellow)}
.nav-item .ico{width:18px;height:18px;flex-shrink:0;color:#9a9aa6;display:flex}
.nav-item.help-nav .ico{color:var(--ey-yellow)}
.nav-item.home-nav{margin-top:8px}.nav-item.home-nav .ico{color:var(--ey-yellow)}
.stepnum{width:20px;height:20px;border-radius:50%;background:#3a3a48;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-item.active .stepnum{background:#1a1a24;color:#ffe600}
.sb-info{margin:16px 16px 8px;background:#20202a;border:1px solid #2c2c38;border-radius:10px;padding:14px}
.sb-info h5{color:#e6e6ec;font-size:12px;margin-bottom:8px}
.sb-info .row{font-size:10.5px;color:#9a9aa6;margin-bottom:8px}
.sb-info .row b{color:#e6e6ec;display:block;font-weight:600;font-size:11.5px}
.sb-build{margin:0 16px 20px;font-size:9.5px;color:#6f6f7c;letter-spacing:.3px}
.demo-switch{margin:12px 16px 4px;background:#2a2a35;border:1px solid #3a3a48;border-radius:9px;padding:10px 12px}
.demo-switch label{display:block;font-size:9px;letter-spacing:1px;color:#ffe600;font-weight:800;margin-bottom:6px}
.demo-switch select{width:100%;background:#1c1c26;color:#fff;border:1px solid #3a3a48;border-radius:7px;padding:7px 8px;font-size:12.5px;font-weight:700;cursor:pointer}
.main{flex:1;min-width:0}
.topbar{height:6px;background:var(--ey-yellow)}
.header{display:flex;justify-content:space-between;align-items:center;padding:18px 30px}
.header h1{font-size:24px;font-weight:800}.header .sub{color:var(--muted);font-size:13px;margin-top:2px}
.header .right{display:flex;align-items:center;gap:16px}
.help-btn{display:flex;align-items:center;gap:7px;background:#1a1a24;color:#fff;border:none;border-radius:9px;padding:9px 14px;font-size:12.5px;font-weight:700;cursor:pointer}
.help-btn:hover{background:#2e2e38}.help-btn .ico{color:var(--ey-yellow)}
.bell{position:relative;color:#5a5a66;cursor:pointer}
.bell .dot{position:absolute;top:-6px;right:-6px;background:var(--purple);color:#fff;border-radius:50%;width:17px;height:17px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}
.user{display:flex;align-items:center;gap:10px;cursor:pointer}
.user .av{width:40px;height:40px;border-radius:50%;background:var(--ey-black);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.user .nm{font-size:13px;font-weight:700;text-align:right}.user .id{font-size:11px;color:var(--muted)}
.content{padding:0 30px 30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 3px rgba(20,20,30,.05)}
.pad{padding:18px 20px}
.profile{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:16px}
.profile .fy{font-size:16px;font-weight:800}.profile .meta{display:flex;align-items:center;gap:8px;color:#4a4a56;font-size:12.5px}
.profile .meta .ico{width:15px;height:15px;color:#8a8a94}.profile .spacer{flex:1}
.btn-outline{border:1.5px solid var(--purple);color:var(--purple);background:#fff;border-radius:9px;padding:9px 16px;font-size:12.5px;font-weight:700;cursor:pointer}
.btn-outline:hover{background:#f3f1fc}
.kpirow{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.kpi{padding:16px 16px 14px;text-align:center}
.kpi .lab{font-size:11px;color:#4a4a56;font-weight:700;text-align:left;margin-bottom:8px}
.status-ico{width:52px;height:52px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;margin:6px auto 8px}
.status-ico.bad{background:var(--red)}
.status-txt{font-size:24px;font-weight:800;color:var(--green)}.status-txt.bad{color:var(--red)}
.status-sub{font-size:11.5px;color:var(--muted);margin-top:6px}
.kpi .view{margin-top:12px;border:1px solid var(--line);border-radius:9px;padding:9px;font-size:12px;color:var(--purple);font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.kpi .view:hover{background:#faf9ff}
.gauge-wrap{display:flex;justify-content:center;margin:2px 0 4px;height:124px}
.gauge{position:relative;width:120px;height:120px}.gauge svg{transform:rotate(-90deg)}
.gauge .val{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gauge .val .n{font-size:20px;font-weight:800;color:var(--ey-black)}.gauge .val .u{font-size:11px;color:var(--muted);margin-top:-2px}
.gauge-cap{font-size:12px;font-weight:600;text-align:center;margin-top:6px}
.gauge-cap.met{color:var(--green)}.gauge-cap.rem{color:var(--amber)}
.na{font-size:22px;font-weight:800;color:#9a9aa4;text-align:center;padding-top:34px}
.na-sub{font-size:11px;color:var(--muted);text-align:center;margin-top:6px}
.pending .big{font-size:30px;font-weight:850;text-align:center;margin-top:8px}
.pending .u{font-size:12px;color:var(--muted);text-align:center}
.pending .pot{font-size:12px;color:var(--muted);text-align:center;margin-top:22px}
.midrow{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:16px}
.prov{display:flex;gap:16px;align-items:flex-start}
.prov .ico-box{width:66px;height:66px;border-radius:14px;background:#efeafd;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--purple)}
.prov .rt{flex:1}.prov .k{font-size:12px;color:var(--muted);font-weight:700}
.prov h3{color:var(--purple);font-size:23px;font-weight:800;margin:2px 0 3px}.prov h3.ok{color:var(--green)}
.prov p{font-size:13px;color:#5a5a66}
.prov .imp-lab{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-top:10px}
.chips{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}
.chip{background:#efeafd;color:var(--purple-deep);font-size:12px;font-weight:700;border-radius:8px;padding:5px 11px}
.review-btn{margin-top:14px;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-size:12.5px;font-weight:700;color:#3a3a46;background:#fff;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.review-btn:hover{background:#faf9ff}
.next h4{font-size:13px;font-weight:700;margin-bottom:2px}.next-hd{display:flex;justify-content:space-between;align-items:flex-start}
.step{display:flex;align-items:center;gap:11px;margin-top:10px;font-size:12.5px;color:#4a4a56}
.step .n{width:22px;height:22px;border-radius:50%;background:var(--purple);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gen-btn{margin-top:14px;background:var(--purple-deep);color:#fff;border:none;border-radius:9px;padding:11px 18px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.gen-btn:hover{background:#3f34a0}
.botrow{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.learn h4,.qa h4{font-size:14px;font-weight:700;margin-bottom:12px}.learn h4 span{font-size:12px;color:var(--muted);font-weight:400}
table{width:100%;border-collapse:collapse;font-size:12px}
th{text-align:left;color:#8a8a94;font-weight:700;font-size:10.5px;padding:6px 8px;border-bottom:1px solid #eee}
td{padding:9px 8px;border-bottom:1px solid #f1f1f4;color:#3a3a46;vertical-align:top}td.r{text-align:right}
.tag-official{background:#e6f5ec;color:var(--green);font-size:11px;font-weight:700;border-radius:7px;padding:2px 9px}
.tag-pending{background:#fdf3e3;color:#b26a00;font-size:11px;font-weight:700;border-radius:7px;padding:2px 9px}
.qa-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;font-size:12.5px;color:#2a2a36;cursor:pointer}
.qa-item:hover{background:#faf9ff;border-color:#ddd8f4}.qa-item .ico{width:18px;height:18px;color:var(--purple)}
.footer{display:flex;justify-content:space-between;color:#9a9aa4;font-size:10.5px;padding:16px 30px}
.screen h2{font-size:18px;margin-bottom:6px}
.field label{display:block;font-size:12px;font-weight:700;color:#3a3a46;margin-bottom:5px}
.field input,.field select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.password-entry{display:grid;gap:7px}.password-visibility{display:inline-flex!important;align-items:center;justify-self:start;gap:7px;margin:0!important;font-size:11px!important;font-weight:600!important;color:var(--muted)!important;cursor:pointer}.password-visibility input{width:auto!important;margin:0;padding:0;border:0;accent-color:var(--purple-deep)}
.field textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:13px inherit;resize:vertical}.roster-edit-value{margin-top:16px}.roster-edit-modal{width:min(560px,calc(100vw - 32px))}
.add-employee-modal{width:min(820px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px))}.add-employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.add-employee-grid .required{float:right;margin-left:6px}
.roster-upload-card.bulk-disabled{background:#f4f4f6}.roster-file-picker.disabled{cursor:not-allowed;opacity:.55;background:#ececf0}.roster-upload-card.bulk-disabled .training-submit{cursor:not-allowed}
.app-settings-card{overflow:hidden}.app-settings-heading{padding:20px 22px;border-bottom:1px solid var(--line)}.app-settings-heading h3{font-size:16px}.app-settings-heading p{margin-top:5px;color:var(--muted);font-size:12px}.app-settings-fields{display:grid;grid-template-columns:minmax(160px,.7fr) 1fr 1fr;gap:20px;padding:22px}.app-settings-fields .field small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}.app-settings-note{display:flex;align-items:center;gap:9px;margin:0 22px;padding:12px 14px;background:#f4f4f7;border-left:4px solid var(--ey-yellow);font-size:12px;line-height:1.45}.app-settings-note .ico{flex:0 0 auto}
.refresh-guide-screen{max-width:none}.refresh-guide-banner{display:flex;align-items:center;gap:10px;padding:13px 15px;margin-bottom:16px;background:#fff8c9;border-left:4px solid var(--ey-yellow);font-size:12px;line-height:1.45}.refresh-guide-table-wrap{overflow-x:auto}.refresh-guide-table{min-width:1040px;white-space:normal}.refresh-guide-table th{padding:10px 12px;background:var(--ey-dark);color:#fff;font-size:10px;letter-spacing:.4px}.refresh-guide-table td{padding:13px 12px;line-height:1.45;border-right:1px solid var(--line)}.refresh-guide-table td:first-child{width:19%;font-size:12px}.refresh-guide-table td:nth-child(2){width:57%}.refresh-guide-table td:last-child{width:24%}.refresh-guide-table ul,.refresh-form-row ul{margin:7px 0 0 18px}.refresh-guide-table li,.refresh-form-row li{margin:3px 0;color:#4a4a56;font-size:11px}.refresh-reference{font-size:11.5px;font-weight:800;color:var(--purple-deep)}.refresh-reference a{color:inherit}.refresh-duration{display:block;margin-top:5px;font-size:11px}.refresh-guide-table code,.refresh-form-row code{font-family:var(--ey-mono);font-size:10.5px;color:#292934;overflow-wrap:anywhere}.refresh-forms{margin-top:18px;background:#fff;border:1px solid var(--line)}.refresh-form-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px;padding:18px 20px;border-bottom:1px solid var(--line)}.refresh-form-row:last-child{border-bottom:0}.refresh-form-row h4{font-size:13px}.refresh-form-row>div:last-child{display:flex;flex-direction:column;gap:5px;padding-left:18px;border-left:3px solid var(--ey-yellow)}.refresh-form-row small{font-size:10px;color:var(--muted)}
.primary{background:var(--purple-deep);color:#fff;border:none;border-radius:9px;padding:11px 18px;font-weight:700;font-size:13px;cursor:pointer;margin-top:14px}
.primary:hover{background:#3f34a0}
.notice{background:#eef2ff;border-left:4px solid var(--purple);border-radius:8px;padding:12px 14px;font-size:13px;margin:10px 0}
.spin{color:var(--muted);font-size:13px;padding:20px}
.empty{color:var(--muted);font-size:13px;padding:26px;text-align:center}
.step-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.step-head h2{font-size:19px;font-weight:800;margin:0;flex:1}
.step-badge{width:30px;height:30px;border-radius:50%;background:#1a1a24;color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-badge.ok{background:#1a1a24;color:#ffe600}
.step-help{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--purple);cursor:pointer;border:1px solid #ddd8f4;border-radius:8px;padding:5px 10px}
.step-help:hover{background:#faf9ff}
.step-sub{color:#6b6b76;font-size:12.5px;line-height:1.5;margin-bottom:16px;max-width:1000px}
.legend-green{display:inline-block;background:#e6f5ec;color:#168736;font-size:11px;font-weight:700;border-radius:8px;padding:3px 9px;margin-right:6px}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:2px dashed #a9b6e6;border-radius:14px;padding:40px 20px;background:#f4f6ff;transition:.15s;text-align:center}
.dropzone.over,.dropzone:hover{border-color:#5b4bd1;background:#eef1ff}
.dz-ico{font-size:34px;letter-spacing:6px}.dz-main{font-size:15px;color:#3a3a46}.dz-sub{font-size:12px;color:#8a8a94}
.pulled-note{margin-top:14px;background:#e6f5ec;border:1px solid #9ed6b3;border-radius:9px;padding:11px 14px;font-size:13px;color:#168736}
.section-lbl{font-size:13px;font-weight:800;color:#2a2a36;margin:16px 0 8px}
.req-note{color:#8a8a94;font-weight:400;font-size:12px}
.form-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.field.pulled input,.field.pulled select{background:#eefaf1;border-color:#9ed6b3}
.field .needs{border-color:#e6b800;background:#fffdf3}
.compute-btn{margin-top:16px;background:#1a1a24;color:#fff;border:none;border-radius:9px;padding:11px 18px;font-size:13px;font-weight:700;cursor:pointer}
.compute-btn:hover{background:#2e2e38}
.measure-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:6px 0 14px}
.mcell{border:1px solid #e6e6ec;border-radius:12px;padding:16px;text-align:center}
.mcell .mn{font-size:26px;font-weight:850;line-height:1}.mcell .ml{font-size:10.5px;color:#6b6b76;font-weight:700;letter-spacing:.5px;margin-top:6px}
.mtable{width:100%;border-collapse:collapse;font-size:13px}
.mtable th{text-align:left;color:#6b6b76;font-weight:700;font-size:11px;letter-spacing:.4px;background:#fafafb;padding:9px 12px;width:150px;border-bottom:1px solid #eee}
.mtable td{padding:9px 12px;border-bottom:1px solid #f1f1f4;color:#2a2a36}
.class-stat{margin:4px 0 6px}
.page-head{margin-bottom:16px}.page-head h2{font-size:20px;font-weight:800}.page-head .sub{color:var(--muted);font-size:13px;margin-top:2px}
.tabs{display:flex;gap:8px;margin-bottom:16px}
.tab{padding:9px 18px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;background:#ececf2;color:#4a4a56;border:1px solid transparent}
.tab.active{background:var(--ey-black);color:#fff}
.statusbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.chip-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:800}
.st-info{background:#eaf0fb;color:#2e5aac}.st-ok{background:#e6f5ec;color:var(--green)}.st-warn{background:#fdf3e3;color:#b26a00}.st-review{background:#efeafd;color:var(--purple-deep)}
.hint{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--purple-deep);background:#f4f2fe;border:1px solid #e2ddf9;border-radius:9px;padding:9px 12px;margin-bottom:12px;font-weight:600}
.hint .ico{color:var(--purple)}
.qtable{width:100%;border-collapse:collapse;font-size:12.5px}
.qtable th{text-align:left;color:#8a8a94;font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;padding:9px 12px;border-bottom:2px solid #eee;background:#fafafb}
.qtable td{padding:11px 12px;border-bottom:1px solid #f1f1f4;color:#3a3a46}
.qtable.clickable tr{cursor:pointer;transition:background .1s}
.qtable.clickable tbody tr:hover td{background:#f4f2fe}
.qtable tr.sel td{background:#efeafd;box-shadow:inset 3px 0 0 var(--purple)}
.rowcta{text-align:right;white-space:nowrap}
.review-pill{display:inline-flex;align-items:center;gap:4px;background:var(--purple-deep);color:#fff;font-size:11px;font-weight:800;border-radius:8px;padding:5px 11px}
.qtable.clickable tr:hover .review-pill{background:#3f34a0}
.qtable tr.sel .review-pill{background:#2e2e38}
.mono{font-family:var(--ey-mono);font-size:11px;color:#6b6b76}
.kv{display:grid;grid-template-columns:190px 1fr;gap:6px 14px;font-size:13px;margin-bottom:6px}
.kv .k{color:var(--muted);font-weight:600}.kv .v{color:#2a2a36}
.detail-card{margin-top:16px;border:1.5px solid #e0dafb;box-shadow:0 4px 16px rgba(91,75,209,.08)}
.close-detail{margin-left:auto;background:#f1f0f6;border:none;border-radius:7px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b6b76}
.close-detail:hover{background:#e6e5ef}
.mini-note{font-size:11px;color:#8a8a94;font-weight:400}
.sigrow{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;font-size:12.5px}
.sigrow .role{font-weight:800;width:110px;flex-shrink:0}.sigrow .pend{color:#b26a00;font-weight:700}.sigrow .done{color:var(--green);font-weight:700}
.reqtable{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0 14px}
.reqtable th{text-align:left;color:#fff;background:var(--ey-dark);font-weight:700;font-size:11px;padding:8px 12px}
.reqtable td{padding:9px 12px;border-bottom:1px solid #f1f1f4}
.reqtable .met{color:var(--green);font-weight:700}.reqtable .notmet{color:var(--red);font-weight:700}.reqtable .na{color:#9a9aa4;font-weight:700}
.decision{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.radio-row{display:flex;gap:12px;margin-bottom:12px}
.radio-opt{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;font-size:13px}
.radio-opt.on{border-color:var(--purple);background:#f6f4fe;font-weight:700;color:var(--purple-deep)}
.attest{background:#faf9ff;border:1px solid #e6e1fb;border-radius:10px;padding:14px 16px;font-size:13px;margin:12px 0}
.checkline{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:13px}.checkline input{margin-top:3px}
.dl-btn{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-size:12.5px;font-weight:700;color:var(--purple-deep);cursor:pointer;display:inline-flex;gap:8px;align-items:center;text-decoration:none}
.dl-btn:hover{background:#faf9ff}
.big-dl{background:var(--purple-deep);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:13.5px;font-weight:700;cursor:pointer;display:inline-flex;gap:8px;align-items:center;text-decoration:none}
.big-dl:hover{background:#3f34a0}.big-dl:disabled{opacity:.5;cursor:not-allowed}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.metric{padding:18px 20px}.metric .n{font-size:32px;font-weight:850}.metric .l{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}.metric .s{font-size:11px;color:var(--muted);margin-top:2px}
.searchbox{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:13px;margin-bottom:12px}
.credbox{background:#20202a;color:#c9c9d2;border-radius:10px;padding:12px 14px;font-size:12.5px;margin:12px 0}.credbox b{color:#fff}
.assign-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:12px 0}
.result-banner{display:flex;align-items:center;gap:14px;border-radius:12px;padding:16px 18px}
.result-banner.ok{background:#e6f5ec;border:1px solid #9ed6b3}.result-banner.bad{background:#fdeaea;border:1px solid #f0b4b4}
.result-banner .rb-ico{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff;flex-shrink:0}
.result-banner.ok .rb-ico{background:#1f9d55}.result-banner.bad .rb-ico{background:#c62828}
.rb-title{font-size:19px;font-weight:800}.result-banner.ok .rb-title{color:#168736}.result-banner.bad .rb-title{color:#c62828}
.rb-sub{font-size:12.5px;color:#5a5a66;margin-top:2px}
.doc-link{display:inline-block;margin-right:8px;font-size:12px;font-weight:700;color:#4b3fb5;text-decoration:none;border:1px solid #ddd8f4;border-radius:7px;padding:3px 9px}
button.doc-link{background:#fff;cursor:pointer;font-family:inherit}
.doc-link:hover{background:#faf9ff}
.pdf-preview{margin:12px 0}
.pdf-preview-bar{display:flex;gap:10px;flex-wrap:wrap}
.pdf-images{margin-top:10px;max-height:720px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#f4f4f7;padding:12px;display:flex;flex-direction:column;gap:12px;align-items:center}
.pdf-page-img{width:100%;max-width:820px;box-shadow:0 1px 6px rgba(20,20,30,.12);background:#fff;border:1px solid var(--line)}
.pdf-panel{margin-top:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pdf-panel-bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#faf9ff;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--purple-deep)}
.pdf-panel-bar span{flex:1}
.pdf-panel .pdf-images{margin:0;border:none;border-radius:0}
.approve-btn{background:var(--green);color:#fff;border:none;border-radius:8px;font-size:11.5px;font-weight:800;padding:6px 12px;cursor:pointer}
.approve-btn:hover{background:#178043}
.edit-btn{display:inline-flex;align-items:center;gap:5px;background:#fff;color:var(--purple-deep);border:1px solid #d9d4f3;border-radius:8px;font-size:11.5px;font-weight:800;padding:6px 10px;cursor:pointer;white-space:nowrap}
.edit-btn:hover{background:#f4f2fe;border-color:var(--purple)}
.add-btn{display:inline-flex;align-items:center;gap:6px;background:#1a1a24;color:#fff;border:none;border-radius:9px;padding:0 14px;font-size:12.5px;font-weight:700;cursor:pointer}
.add-btn:hover{background:#2e2e38}
.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:640px;max-width:94vw;max-height:88vh;overflow:hidden;background:#fff;border-radius:14px;z-index:10000;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(20,20,30,.35);animation:pop .16s ease}
.pmo-matrix-top-scroll{height:17px;margin:0 2px 5px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable}.pmo-matrix-top-scroll>div{height:1px}.matrix-status-button{width:100%;border:0;cursor:pointer;font-family:inherit}.matrix-status-button:hover,.matrix-status-button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.training-status-modal h3{margin:0 0 12px;font-size:16px}.training-status-explanation{margin:14px 0;color:var(--muted);font-size:12px;line-height:1.5}.training-status-detail-list{display:grid;gap:9px;margin:0}.training-status-detail-list div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}.training-status-detail-list dt{color:var(--muted);font-size:11px;font-weight:700}.training-status-detail-list dd{margin:0;font-size:12px;overflow-wrap:anywhere}.training-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.training-check-grid div{padding:9px;border-radius:7px;background:#f4f4f7}.training-check-grid span,.training-check-grid b{display:block;text-transform:capitalize;font-size:11px}.training-check-grid .pass b{color:#147a39}.training-check-grid .fail b{color:#b42318}
.role-modal{width:440px}.role-modal .training-message{margin:12px 0 0}.role-modal .training-submit{min-width:145px}
@media(max-width:560px){.training-check-grid{grid-template-columns:1fr}.training-status-detail-list div{grid-template-columns:1fr;gap:3px}.archive-upload-modal .modal-foot{flex-direction:column}.archive-upload-modal .modal-foot button{width:100%}}
@keyframes pop{from{transform:translate(-50%,-46%);opacity:.7}to{transform:translate(-50%,-50%);opacity:1}}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;background:var(--ey-black);color:#fff;border-bottom:4px solid var(--ey-yellow)}
.modal-title{font-size:16px;font-weight:800}.modal-sub{font-size:12px;color:#c3c3ce;margin-top:2px}
.modal-body{padding:18px 20px;overflow-y:auto}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:#faf9ff}
.drawer-close{background:#2e2e38;border:none;color:#fff;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.drawer-close:hover{background:#3a3a48}
.drawer-scrim{position:fixed;inset:0;background:rgba(20,20,30,.45);z-index:9998;animation:fade .15s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.drawer{position:fixed;top:0;right:0;width:520px;max-width:92vw;height:100vh;background:#fff;z-index:9999;box-shadow:-8px 0 30px rgba(20,20,30,.2);display:flex;flex-direction:column;animation:slide .2s ease}
@keyframes slide{from{transform:translateX(40px);opacity:.6}to{transform:none;opacity:1}}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 14px;background:var(--ey-black);color:#fff;border-bottom:4px solid var(--ey-yellow)}
.drawer-title{font-size:18px;font-weight:800}.drawer-sub{font-size:12px;color:#c3c3ce;margin-top:3px;max-width:400px}
.drawer-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px;border-bottom:1px solid var(--line);background:#faf9ff}
.drawer-tab{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#4a4a56;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 11px;cursor:pointer}
.drawer-tab.active{background:var(--purple-deep);color:#fff;border-color:var(--purple-deep)}.drawer-tab.active .ico{color:#fff}.drawer-tab .ico{color:var(--purple)}
.drawer-body{flex:1;overflow-y:auto;padding:18px 22px}
.help-intro{font-size:13px;color:#4a4a56;margin-bottom:14px}
.flowline{display:flex;flex-direction:column}
.flowstep{display:flex;gap:12px;padding:12px;border-radius:10px;position:relative}
.flowstep:not(:last-child)::after{content:"";position:absolute;left:27px;top:44px;bottom:-4px;width:2px;background:#e0e0ea}
.flowstep.mine{background:#f6f4fe;border:1px solid #e0dafb}
.fs-badge{width:30px;height:30px;border-radius:50%;background:#3a3a48;color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}
.flowstep.mine .fs-badge{background:var(--purple-deep)}
.fs-title{font-size:13.5px;font-weight:800;color:#1a1a24}
.fs-who{font-size:10px;font-weight:700;color:#8a8a94;background:#ececf2;border-radius:6px;padding:1px 7px;margin-left:6px}
.flowstep.mine .fs-who{background:#e0dafb;color:var(--purple-deep)}
.fs-text{font-size:12px;color:#5a5a66;margin-top:3px;line-height:1.45}
.help-h{font-size:14px;font-weight:800;color:#1a1a24;margin:4px 0 12px}
.help-qa{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.help-q{font-size:13px;font-weight:800;color:#2a2a36;margin-bottom:4px}.help-a{font-size:12.5px;color:#5a5a66;line-height:1.5}
.gov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gov-card{border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.gc-l{font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}.gc-v{font-size:14px;font-weight:800;margin-top:4px}
.gov-control{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#3a3a46;padding:7px 0}
.notif{position:absolute;top:34px;right:-8px;width:340px;background:#fff;border:1px solid #e2e2ea;border-radius:12px;box-shadow:0 12px 34px rgba(20,20,30,.22);z-index:9997;overflow:hidden;cursor:default;animation:pop2 .14s ease}
@keyframes pop2{from{transform:translateY(-6px);opacity:.6}to{transform:none;opacity:1}}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#1a1a24;color:#fff;font-size:13px;font-weight:800}
.notif-count{background:#4b3fb5;color:#fff;font-size:10.5px;font-weight:700;border-radius:20px;padding:2px 9px}
.notif-body{max-height:320px;overflow-y:auto}
.notif-item{display:flex;gap:11px;padding:12px 14px;border-bottom:1px solid #f1f1f4;cursor:pointer}
.notif-item:hover{background:#faf9ff}
.notif-ic{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}
.n-warn{background:#e0a100}.n-info{background:#4b3fb5}.n-tip{background:#1f9d55}
.notif-t{font-size:12.5px;font-weight:800;color:#1a1a24;line-height:1.3}
.notif-d{font-size:11px;color:#6b6b76;margin-top:2px;line-height:1.4}
.notif-empty{padding:22px 16px;color:#6b6b76;font-size:12.5px;text-align:center}
.notif-foot{text-align:center;padding:10px;font-size:12px;font-weight:700;color:#4b3fb5;cursor:pointer;background:#faf9ff}
.notif-foot:hover{background:#f0eefc}
.pmo-list-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 16px}.pmo-list-tools input{width:min(380px,100%);height:42px;border:1px solid #cfcfd7;background:#fff;padding:0 13px;font-size:13px}.pmo-list-tools button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ey-black);background:var(--ey-black);color:#fff;padding:0 16px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.pmo-list-tools button:hover{color:var(--ey-yellow)}.pmo-list-tools button:disabled{opacity:.45;cursor:not-allowed;color:#fff}.pmo-list-tools .delete-roster{border-color:#b42318;background:#fff;color:#b42318}.pmo-list-tools .delete-roster:hover{background:#fff1f0;color:#8f1810}.delete-confirm-check{display:flex;align-items:flex-start;gap:9px;margin-top:16px;font-size:12px;line-height:1.4;color:#444451}.delete-confirm-check input{margin-top:2px}.danger-submit{min-width:145px;border:0;border-radius:7px;background:#b42318;color:#fff;padding:11px 18px;font-size:13px;font-weight:800;cursor:pointer}.danger-submit:hover{background:#8f1810}.danger-submit:disabled{opacity:.55;cursor:not-allowed}
.training-roster-demo-wide{width:100%;max-width:none}.demo-roster-columns{margin-bottom:16px;border:1px solid #d8d8df;background:#fff}.demo-roster-columns-head{min-height:58px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e5e5ea}.demo-roster-columns-head h3{margin:0;font-size:14px}.demo-roster-columns-head span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.demo-roster-columns-head>div:last-child{display:flex;gap:8px}.demo-roster-columns-head button{border:1px solid #b9b9c2;background:#fff;color:#2e2e38;padding:7px 11px;font-size:11px;font-weight:800;cursor:pointer}.demo-roster-columns-head button:hover{border-color:#2e2e38}.demo-roster-checks{max-height:190px;overflow:auto;padding:12px 16px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px 10px}.demo-roster-checks label{min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #d8d8df;background:#f7f7f9;font-size:11px;font-weight:700;cursor:pointer}.demo-roster-checks label:has(input:checked){border-color:#6155c7;background:#f0eefc;color:#342a8c}.demo-roster-checks input{width:14px;height:14px;margin:0;accent-color:#4b3fb5}.demo-roster-checks small{color:var(--muted);font-size:9px;font-weight:600}.demo-roster-table th,.demo-roster-table td{min-width:130px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-roster-table th{padding:10px 12px}
.demo-roster-presets{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #ececf0;background:#fafafb}.demo-roster-presets>span{margin-right:3px;color:#6b6b76;font-size:10px;font-weight:800;text-transform:uppercase}.demo-roster-presets button{display:inline-flex;align-items:center;gap:7px;border:1px solid #c9c9d1;background:#fff;color:#2e2e38;padding:6px 9px;font-size:10.5px;font-weight:750;cursor:pointer}.demo-roster-presets button:hover{border-color:#4b3fb5;color:#342a8c}.demo-roster-presets small{min-width:18px;border-radius:9px;background:#eeeef2;padding:1px 5px;color:#555560;font-size:9px;text-align:center}.demo-roster-column-tools{display:flex;align-items:center;gap:14px;padding:10px 16px 0}.demo-roster-column-tools>input{width:min(340px,100%);height:34px;border:1px solid #cfcfd7;padding:0 10px;font-size:11px}.demo-roster-column-tools>label{display:flex;align-items:center;gap:6px;color:#444451;font-size:11px;font-weight:700}.demo-roster-training-group{width:100%;border:1px solid #d5d2ef;background:#fbfaff}.demo-roster-training-group>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.demo-roster-training-group>div:first-child>label{flex:1;border:0;background:transparent}.demo-roster-training-group>div:first-child>button{margin-right:8px;border:0;background:transparent;color:#4b3fb5;font-size:10px;font-weight:800;cursor:pointer}.demo-roster-training-children{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:7px;padding:9px;border-top:1px solid #e2dff4}.demo-roster-training-children label{width:auto;background:#fff}.demo-roster-no-columns{padding:8px;color:var(--muted);font-size:11px}.demo-roster-row-tools{position:relative;z-index:2;display:flex;align-items:end;gap:9px;margin:0 0 12px;background:#f4f4f7}.demo-roster-row-tools>input{flex:1;min-width:220px;height:38px;border:1px solid #cfcfd7;background:#fff;padding:0 11px;font-size:11px}.demo-roster-row-tools label{display:flex;flex-direction:column;gap:3px;color:#6b6b76;font-size:9px;font-weight:800;text-transform:uppercase}.demo-roster-row-tools select{min-width:120px;height:38px;border:1px solid #cfcfd7;background:#fff;padding:0 9px;font-size:11px}.demo-roster-row-tools button{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #2e2e38;background:#fff;color:#2e2e38;padding:0 12px;font-size:10.5px;font-weight:800;white-space:nowrap;cursor:pointer}.demo-roster-row-tools button:last-child{background:#2e2e38;color:#fff}.demo-roster-row-tools button:disabled{opacity:.45;cursor:not-allowed}.demo-roster-table .demo-roster-sticky{position:sticky;z-index:3;min-width:160px;width:160px;max-width:160px;background:#fff}.demo-roster-table thead .demo-roster-sticky{z-index:5;background:#fafafb}.demo-roster-table .demo-roster-sticky.last{box-shadow:6px 0 8px -8px rgba(20,20,30,.8)}
@media(max-width:760px){.demo-roster-presets{overflow-x:auto}.demo-roster-presets>span{display:none}.demo-roster-column-tools{align-items:stretch;flex-direction:column;gap:8px}.demo-roster-column-tools>input{width:100%}.demo-roster-training-children{grid-template-columns:1fr}.demo-roster-row-tools{align-items:stretch;flex-direction:column}.demo-roster-row-tools>input,.demo-roster-row-tools select,.demo-roster-row-tools button{width:100%}.demo-roster-row-tools label{width:100%}}
.errbox{background:#fff;border:1px solid #f0b4b4;border-left:5px solid #c62828;border-radius:12px;padding:20px 22px;margin:16px 0}
.errbox h3{color:#c62828;font-size:16px;font-weight:800;margin-bottom:8px}
.errbox p{font-size:13px;color:#5a5a66;line-height:1.5}
.errbox code{font-family:var(--ey-mono);font-size:11.5px;background:#fbeaea;color:#a01818;padding:2px 6px;border-radius:5px;display:inline-block;margin-top:8px}
.errbox button{margin-top:12px;background:#1a1a24;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:12.5px;font-weight:700;cursor:pointer}
@media(max-width:760px){.portal-header{height:auto;min-height:72px;padding:12px 16px;grid-template-columns:1fr auto}.portal-brand img{width:48px}.portal-brand{gap:11px}.portal-brand b{font-size:18px}.portal-brand span{font-size:9px}.portal-nav{grid-column:1/-1;grid-row:2;overflow-x:auto;justify-content:flex-start;height:44px;margin-top:8px}.portal-nav button{flex:0 0 auto;padding:0 12px}.portal-actions{grid-column:2;grid-row:1}.portal-bell,.home-user div,.user-chevron{display:none}.home-avatar{width:36px;height:36px}.portal-hero{height:auto;min-height:450px;display:block;position:relative}.hero-copy{padding:30px 24px;position:relative;z-index:4}.hero-copy h1{font-size:27px}.hero-copy>p{font-size:12px}.hero-scene{position:absolute;inset:180px 0 0;opacity:.75}.network-label{top:65px}.network-label.state{left:40%}.network-label.local{right:3%}.desktop-only{display:none}.applications{padding:18px 16px}.application-grid{grid-template-columns:1fr}.application-card{min-height:210px}.portal-principles{margin:0 16px 12px;grid-template-columns:1fr;padding:12px 18px}.portal-principles>div{border-right:0;border-bottom:1px solid #203041;padding:12px 0}.home-footer{padding:16px;gap:8px;flex-direction:column}.sidebar{width:220px}.header{padding:16px 18px}.header .right{gap:10px}.help-btn span,.user .nm,.user .id{display:none}.content{padding:0 18px 24px}}

@media(max-width:760px){
	.app{display:block;min-width:0}
	.sidebar{position:relative;width:100%;height:auto;display:flex;flex-direction:row;align-items:stretch;overflow-x:auto;overflow-y:hidden;background:var(--ey-black)}
	.sb-brand,.demo-switch,.sb-section,.sb-info,.sb-build{display:none}
	.sb-group{width:auto;margin:0;border-top:none;border-left:1px solid rgba(255,255,255,.08);white-space:nowrap;padding:0 14px}
	.sb-group-body{display:contents}
	.nav-item{flex:0 0 auto;padding:12px 14px;border-left:0;border-bottom:3px solid transparent;white-space:nowrap}
	.nav-item.active{border-left:0;border-bottom-color:var(--ey-yellow)}
	.main{width:100%;min-width:0}
	.header{align-items:flex-start;gap:12px}.header h1{font-size:20px}.header .right{gap:9px}.user .av{width:34px;height:34px}
	.kpirow,.midrow,.botrow,.form-grid4,.measure-row,.metrics,.assign-grid{grid-template-columns:1fr}
	.training-dependent{grid-template-columns:1fr;padding:20px}.training-question{padding:22px 20px}.training-question>p,.segmented{margin-left:0}.training-actions{padding:18px 20px}.training-submit{width:100%}
	.profile{gap:12px}.profile .spacer{display:none}
	.tabs{overflow-x:auto}.tab{flex:0 0 auto}
	.roster-upload-card{grid-template-columns:1fr;gap:14px}.roster-file-picker{width:100%}
	table{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}
	.drawer{max-width:100%;width:100%}
	.footer{gap:12px;flex-wrap:wrap;padding:14px 18px}
  .pmo-list-tools{align-items:stretch;flex-direction:column}.pmo-list-tools input{width:100%}.pmo-list-tools button{width:100%}
  .demo-roster-columns-head{align-items:flex-start;flex-direction:column}.demo-roster-columns-head>div:last-child{width:100%}.demo-roster-columns-head button{flex:1}.demo-roster-checks{max-height:260px}.demo-roster-checks label{width:100%}
}

/* =============================================================================
   EYAA landing page — reference rebuild (overrides earlier landing rules)
   ============================================================================= */
:root{
  --eyaa-navy-975:#04101d;--eyaa-navy-950:#071423;--eyaa-navy-900:#0a1a2c;
  --eyaa-white:#fff;--eyaa-ink:#f5f7fa;--eyaa-muted:#c6ceda;--eyaa-subtle:#909dad;
  --app-cpe:#ffe600;--app-training:#20bfd3;--app-resource:#8f4ee8;--app-onboarding:#2fb37a;
  --header-height:94px;--content-max:1440px;
}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Header brand lockup */
.landing-header{position:sticky;inset:auto;top:0;z-index:40;height:var(--header-height);background:rgba(4,16,29,.94)}
.eyaaBrand{display:inline-flex;flex-direction:column;justify-content:center;min-width:154px;line-height:1;color:var(--eyaa-ink)}
.eyaaBrand__topline{display:flex;align-items:center;gap:9px}
.eyaaBrand__wordmark{color:var(--ey-yellow);font-size:30px;font-weight:800;letter-spacing:.035em;text-shadow:0 0 7px rgba(255,230,0,.16)}
.eyaaBrand__layers{width:30px;height:30px;color:#d7dee8;flex-shrink:0}
.eyaaBrand__subtitle{margin-top:5px;color:var(--eyaa-muted);font-size:10.5px;white-space:nowrap}

/* Hero shell + image + overlays */
.landing-hero.eyaa-hero{position:relative;flex:0 0 auto;min-height:clamp(380px,50vh,620px);display:block;overflow:hidden;isolation:isolate;background:#050f1c}
.eyaa-hero__background{position:absolute;inset:0;z-index:0;background-color:#050f1c;background-image:image-set(url("/assets/eyaa-dc-hero-desktop.webp") type("image/webp"),url("/assets/eyaa-dc-hero-desktop.png") type("image/png"));background-size:cover;background-repeat:no-repeat;background-position:72% 28%}
.eyaa-hero__overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(circle at 13% 18%,rgba(255,230,0,.045) 0%,rgba(255,230,0,.021) 22%,rgba(255,230,0,.006) 38%,transparent 56%),
  linear-gradient(90deg,rgba(3,11,22,.88) 0%,rgba(3,11,22,.62) 22%,rgba(3,11,22,.22) 48%,rgba(3,11,22,.04) 78%,rgba(3,11,22,.02) 100%),
  linear-gradient(180deg,rgba(3,11,22,.06) 0%,rgba(3,11,22,.08) 42%,rgba(3,11,22,.38) 78%,rgba(3,11,22,.92) 100%)}
.eyaa-hero .engagement-network{z-index:2}
.eyaa-hero__inner{position:relative;z-index:4;max-width:var(--content-max);margin:0 auto;min-height:inherit;padding:clamp(22px,3.4vh,40px) clamp(24px,4vw,58px) clamp(28px,4vh,44px)}

/* Hero copy */
.eyaa-hero__content.heroCopy{position:relative;z-index:4;max-width:min(520px,46vw);padding:0}
.heroCopy__title{margin:0;max-width:520px;font-size:clamp(2.4rem,3.4vw,3.4rem);font-weight:650;line-height:1.06;letter-spacing:-.035em}
.heroCopy__line{display:block}
.heroCopy__line--primary{color:var(--eyaa-white)}
.heroCopy__line--accent{color:var(--ey-yellow);text-shadow:0 0 18px rgba(255,230,0,.11)}
.heroCopy__rule{display:block;width:54px;height:3px;margin:18px 0 0;background:var(--ey-yellow);border-radius:2px}
.heroCopy__lead{max-width:412px;margin-top:20px;color:#eaeef2;font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.55}
.heroCopy__sub{max-width:412px;margin-top:12px;color:var(--eyaa-muted);font-size:.9rem;line-height:1.5}

/* Metrics panel */
.platformMetricsWrap{margin-top:22px}
.platformMetrics{display:inline-grid;grid-auto-flow:column;width:max-content;max-width:100%;padding:14px 8px;background:rgba(6,18,32,.78);border:1px solid rgba(215,222,232,.22);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.34);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.platformMetric{display:flex;align-items:center;gap:12px;padding:2px 22px}
.platformMetric+.platformMetric{border-left:1px solid rgba(215,222,232,.16)}
.platformMetric__icon{color:var(--ey-yellow);display:grid;place-items:center;flex-shrink:0}
.platformMetric__value{display:block;color:var(--ey-yellow);font-size:22px;font-weight:750;line-height:1.1}
.platformMetric__label{display:block;color:var(--eyaa-muted);font-size:11px;margin-top:2px;white-space:nowrap}
.platformMetrics__sample{display:block;margin-top:8px;color:var(--eyaa-subtle);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* Engagement audience cards */
.engagementAudiences{position:absolute;z-index:5;top:calc(var(--header-height) + 190px);right:clamp(24px,4vw,58px);left:auto;display:flex;justify-content:flex-end;gap:clamp(12px,1.3vw,18px)}
.engagementAudiences>div{display:flex}
.engagementCard{display:flex;align-items:center;gap:15px;min-height:90px;padding:15px 22px;color:var(--eyaa-white);background:linear-gradient(135deg,rgba(10,27,45,.82),rgba(5,16,29,.64));border:1px solid rgba(226,233,242,.31);border-radius:14px;box-shadow:0 14px 38px rgba(0,0,0,.31),inset 0 1px 0 rgba(255,255,255,.055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.engagementCard--federal{width:clamp(196px,15vw,222px)}
.engagementCard--state-territory,.engagementCard--local-municipal{width:clamp(244px,20vw,282px)}
.engagementCard__icon{width:34px;height:34px;color:#fff;flex-shrink:0;display:grid;place-items:center}
.engagementCard__title{display:block;font-size:14px;font-weight:700;letter-spacing:.02em}
.engagementCard__subtitle{display:block;margin-top:3px;color:var(--eyaa-muted);font-size:12.5px;font-weight:450}

/* Engagement connectors — three ambient paths from the cards to the platform core */
.engagementConnectors{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:visible}
.engagementConnectors svg{width:100%;height:100%;display:block;overflow:visible;opacity:.9}
.engagementConnector{fill:none;stroke:rgba(226,234,243,.62);stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.engagementConnector__source{fill:rgba(245,247,250,.95);filter:drop-shadow(0 0 4px rgba(255,255,255,.4))}
.engagementConnector__target{fill:#fff7a8;filter:drop-shadow(0 0 6px rgba(255,230,0,.6))}

/* Platform core */
.platformCoreWrap{position:absolute;z-index:3;left:63%;top:46%;width:min(34vw,520px);transform:translate(-50%,-50%);pointer-events:none}
.platformCore{display:block;width:100%;height:auto;overflow:visible}
.platformCore__connections path,.platformCore__localNetwork path{fill:none;stroke:rgba(221,231,241,.37);stroke-width:1.2;vector-effect:non-scaling-stroke}
.platformCore__localNetwork path{stroke:rgba(182,205,226,.25);stroke-width:.9}
.platformCore__connections .platformCore__flow{stroke:rgba(255,230,0,.62);stroke-width:1.45;stroke-linecap:round;stroke-dasharray:2 20}
.platformCore__nodes circle{fill:rgba(248,250,252,.92);filter:drop-shadow(0 0 4px rgba(255,255,255,.42))}
.platformCore__rings circle{fill:none;stroke:rgba(255,230,0,.56);stroke-width:1.1;vector-effect:non-scaling-stroke}
.platformCore__rings circle:nth-child(even){stroke:rgba(224,233,242,.42)}
.platformCore__center circle:last-child{fill:#fff7a8;stroke:#ffe600;stroke-width:1.7}
@media(prefers-reduced-motion:no-preference){
  .platformCore__pulse{transform-box:fill-box;transform-origin:center;animation:platformCorePulse 5.5s ease-in-out infinite}
  .platformCore__flow{animation:platformCoreFlow 8s linear infinite}
  .platformCore__flow--delay{animation-delay:-4s}
}
@keyframes platformCorePulse{0%,100%{opacity:.28;transform:scale(.97)}50%{opacity:.72;transform:scale(1.035)}}
@keyframes platformCoreFlow{to{stroke-dashoffset:-88}}
@media(prefers-reduced-motion:reduce){.platformCore *{animation:none!important}}

/* Application section */
.applications{position:relative;z-index:4;margin-top:0;padding:20px clamp(24px,4vw,58px) 22px;background:var(--eyaa-navy-975)}
.applications__intro{max-width:var(--content-max);margin:0 auto 14px}
.applications__intro h2{margin:0;font-size:1.05rem;font-weight:750;color:var(--eyaa-ink)}
.applications__intro p{margin-top:5px;color:var(--eyaa-muted);font-size:12.5px}
.application-grid{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.application-card{--accent:var(--app-cpe);position:relative;min-height:170px;padding:18px 22px;border:1px solid color-mix(in srgb,var(--accent) 58%,transparent);border-radius:14px;background:linear-gradient(145deg,rgba(7,22,38,.94),rgba(4,13,25,.9));box-shadow:0 17px 38px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.035);display:flex;flex-direction:column;overflow:visible;transition:transform .16s ease,border-color .16s ease}
.application-card.accent-yellow,.gov-app-card.accent-yellow{--accent:var(--app-cpe)}
.application-card.accent-cyan,.gov-app-card.accent-cyan{--accent:var(--app-training)}
.application-card.accent-violet,.gov-app-card.accent-violet{--accent:var(--app-resource)}
.application-card.accent-green,.gov-app-card.accent-green{--accent:var(--app-onboarding)}
.application-card:hover,.application-card:focus-within{transform:translateY(-3px);background:linear-gradient(145deg,rgba(9,27,45,.96),rgba(5,16,29,.94))}
.application-card .app-card-head{display:flex;align-items:center;gap:16px}
.application-card .application-icon,.gov-app-card .application-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 22%,transparent)}
.application-card .application-icon .ico,.gov-app-card .application-icon .ico{color:#071423}
.application-card.accent-cyan .application-icon .ico,.application-card.accent-violet .application-icon .ico,.application-card.accent-green .application-icon .ico,.gov-app-card.accent-cyan .application-icon .ico,.gov-app-card.accent-violet .application-icon .ico,.gov-app-card.accent-green .application-icon .ico{color:#fff}
.app-card-headings h3{color:#fff;font-size:16px;font-weight:700}
.application-card .application-eyebrow{display:block;margin-top:4px;font-size:12px;font-weight:700;color:var(--accent)}
.app-card-caps{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid rgba(180,195,207,.16);display:flex;flex-direction:column;gap:9px}
.app-card-caps li{display:flex;align-items:flex-start;gap:10px;color:var(--eyaa-muted);font-size:12px;line-height:1.4}
.app-card-caps li .ico{color:var(--eyaa-subtle);flex-shrink:0;margin-top:1px}
button.application-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.application-card .app-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(180,195,207,.14)}
.application-card .application-status{display:flex;align-items:center;gap:8px;color:#c3ccd4;font-size:12px}
.application-card .status-dot{width:8px;height:8px;border-radius:50%;background:#43d522;flex-shrink:0}
.application-status--pilot .status-dot{background:#a75ce8}
.application-status--access-required{color:#e2d39a}
.application-status--access-required .status-dot{background:#c9a227}
.app-card-launch{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}
.app-card-launch svg{width:16px;height:16px;display:block}
.application-card:hover .app-card-launch svg,.application-card:focus-visible .app-card-launch svg{transform:translateX(3px)}
.application-description{margin:12px 0 0;color:#c2cad2;font-size:13px;line-height:1.55}
.application-card--catalog{min-height:220px}
.applications__intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.applications__all{border:0;background:none;color:var(--ey-yellow);font-size:12.5px;font-weight:700;cursor:pointer;padding:0}

/* Footer stays continuous with the page */
.landing-page .home-footer{background:var(--eyaa-navy-975)}

/* Responsive */
@media(max-width:1200px){
  .platformCoreWrap{left:68%;top:40%;width:min(40vw,460px)}
  .eyaa-hero__inner{padding-bottom:clamp(120px,16vh,190px)}
  .engagementAudiences{position:static;justify-content:flex-start;flex-wrap:wrap;margin-top:30px;gap:14px}
  .engagementCard{min-height:82px;padding:13px 18px}
  .application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1050px){
  .landing-header{grid-template-columns:auto 1fr auto}
}
@media(max-width:1100px){
  .eyaa-hero__content.heroCopy{max-width:min(440px,42vw)}
  .eyaa-hero__overlay{background:
    radial-gradient(circle at 13% 18%,rgba(255,230,0,.045) 0%,rgba(255,230,0,.021) 22%,rgba(255,230,0,.006) 38%,transparent 56%),
    linear-gradient(90deg,rgba(3,11,22,.90) 0%,rgba(3,11,22,.68) 18%,rgba(3,11,22,.20) 42%,rgba(3,11,22,.05) 70%,rgba(3,11,22,.02) 100%),
    linear-gradient(180deg,rgba(3,11,22,.06) 0%,rgba(3,11,22,.08) 42%,rgba(3,11,22,.38) 78%,rgba(3,11,22,.92) 100%)}
}
@media(max-width:900px){
  .platformCoreWrap{display:none}
  .engagementConnectors{display:none}
  .landing-hero.eyaa-hero{min-height:auto}
  .engagementAudiences{flex-direction:column;align-items:stretch}
  .engagementCard,.engagementCard--federal,.engagementCard--state-territory,.engagementCard--local-municipal{width:100%}
}
@media(max-width:760px){
  .landing-header{position:sticky;top:0}
  .landing-hero.eyaa-hero{min-height:auto}
  .eyaa-hero__inner{padding:22px 20px 36px}
  .eyaa-hero__background{background-position:68% 24%}
  .eyaa-hero__content.heroCopy{max-width:none}
  .eyaaBrand__subtitle{display:none}
  .heroCopy__lead,.heroCopy__sub{max-width:none}
  .platformMetrics{display:grid;grid-auto-flow:row;grid-template-columns:1fr;width:100%}
  .platformMetric+.platformMetric{border-left:0;border-top:1px solid rgba(215,222,232,.16)}
  .engagementAudiences{flex-direction:column}
  .engagementCard,.engagementCard--federal,.engagementCard--state-territory,.engagementCard--local-municipal{width:100%}
  .applications{padding:22px 18px 30px}
  .application-grid{grid-template-columns:1fr}
  .app-card-caps{padding:16px 0 0}
}
@media(prefers-reduced-motion:reduce){
  .application-card:hover .app-card-launch svg,.application-card:focus-visible .app-card-launch svg{transform:none}
}

.landing-page--interior .landing-header{position:sticky;inset:auto;top:0;background:#04101d}
.help-role-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.help-role-list li{display:flex;align-items:flex-start;gap:10px;color:var(--eyaa-muted);font-size:13.5px;line-height:1.45}
.help-role-list li .ico{color:var(--ey-yellow);flex-shrink:0;margin-top:2px}
.help-design__lead{color:var(--eyaa-muted);font-size:13.5px;line-height:1.5;max-width:640px;margin:0 0 16px}
.help-design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px}
.help-design-card{display:block;padding:16px 18px 14px;border:1px solid #1d3346;border-radius:10px;background:#061421;
  text-decoration:none;color:inherit;transition:border-color .15s,background .15s}
.help-design-card:hover,.help-design-card:focus-visible{border-color:var(--ey-yellow);background:#081a29}
.help-design-card:focus-visible{outline:2px solid var(--ey-yellow);outline-offset:2px}
.help-design-card__swatches{display:flex;height:14px;width:132px;border-radius:3px;overflow:hidden;margin-bottom:12px}
.help-design-card__swatches i{flex:1 1 0;display:block}
.help-design-card b{display:block;color:#fff;font-size:14.5px;margin-bottom:5px}
.help-design-card__text{display:block;color:var(--eyaa-muted);font-size:12.5px;line-height:1.5}
.help-design-card em{display:block;margin-top:11px;font-style:normal;color:var(--ey-yellow);font-size:11.5px;font-weight:700}
.portal-page{flex:1 1 auto;padding:calc(var(--header-height) + 12px) clamp(24px,4vw,58px) 48px;max-width:var(--content-max);width:100%;margin:0 auto;box-sizing:border-box}
.landing-page--interior .portal-page{padding-top:28px}
.portal-page__kicker{display:block;color:var(--ey-yellow);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.portal-page__intro h1{margin:0;font-size:clamp(1.8rem,2.6vw,2.4rem);font-weight:750;color:#fff}
.portal-page__intro p{margin:12px 0 0;max-width:640px;color:var(--eyaa-muted);font-size:14px;line-height:1.55}
.portal-page__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 20px}
.portal-page__toolbar input[type="search"]{flex:1 1 240px;min-height:42px;padding:0 14px;border:1px solid #2a4258;border-radius:8px;background:#071522;color:#fff;font-size:13px}
.portal-page__count{color:var(--eyaa-subtle);font-size:12px}
.portal-status-filter{margin-left:0;border-color:#2a4258}
.portal-status-filter button{background:#071522;color:#d7dde3;border-right-color:#2a4258}
.portal-status-filter button.on{background:#ffe600;color:#11151b}
.portal-empty{padding:36px 18px;border:1px dashed #2a4258;border-radius:10px;color:var(--eyaa-muted);text-align:center}
.application-grid--catalog{margin-top:4px}
.resource-groups{display:flex;flex-direction:column;gap:28px;margin-top:28px}
.resource-group h2,.gov-platform h2,.gov-apps h2{margin:0 0 12px;font-size:15px;color:#fff}
.resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.resource-card,.gov-platform__card,.gov-app-card{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid #1d3347;border-radius:12px;background:rgba(7,22,38,.92)}
.gov-app-card{--accent:var(--app-cpe)}
.resource-card h3,.gov-platform__card h3,.gov-app-card h3{margin:0;font-size:15px;color:#fff}
.resource-card p,.gov-platform__card p,.gov-app-card p{margin:6px 0 0;color:var(--eyaa-muted);font-size:13px;line-height:1.5}
.landing-page .resource-card__action{align-self:flex-start;margin-top:auto;padding:8px 12px;border:1px solid var(--ey-yellow);border-radius:6px;background:#ffe600;color:#11151b;font-size:12px;font-weight:700;cursor:pointer}
.gov-platform,.gov-apps{margin-top:28px}
.gov-platform__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gov-apps__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gov-app-card__head{display:flex;align-items:flex-start;gap:12px}
.gov-app-card ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.gov-app-card li{display:flex;align-items:flex-start;gap:8px;color:var(--eyaa-muted);font-size:12.5px;line-height:1.45}
.gov-app-card li .ico{color:var(--ey-yellow);flex-shrink:0;margin-top:2px}
@media(max-width:1050px){
  .resource-list,.gov-apps__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gov-platform__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .landing-page--interior .landing-header{position:sticky;top:0}
  .portal-page{padding:24px 18px 40px}
  .resource-list,.gov-platform__grid,.gov-apps__grid,.application-grid--catalog{grid-template-columns:1fr}
  .portal-page__toolbar{flex-direction:column;align-items:stretch}
  .app-card-caps{padding:16px 0 0}
}

/* ===== Resource Management application ===== */
.rm-inner{max-width:1320px}
.rm-pmo-resource{max-width:none}
@media(min-width:1700px){.rm-inner{max-width:none}}
.rm-summary-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.rm-summary-hero h2{font-size:20px;font-weight:800;margin-top:3px}
.rm-practicechips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rm-bottomline{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px 14px;border-radius:10px;border:1px solid #f0e08a;background:linear-gradient(90deg,#fff8c9,#fffdf0);color:#3a3a46;font-size:12.5px;line-height:1.45}
.rm-bottomline b{color:#1a1a24;white-space:nowrap}
.rm-hero-lede{font-size:13px;color:#5a5a66;margin-top:6px;max-width:660px;line-height:1.5}
.rm-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.rm-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.rm-detail-actions{display:flex;gap:10px;flex-wrap:wrap}
.rm-upload-btn{cursor:pointer}
.rm-detail-empty{border:1.5px dashed #cfcfda;border-radius:12px;padding:44px 24px;text-align:center;color:var(--muted)}
.rm-detail-empty .ico{color:var(--purple);margin-bottom:8px}
.rm-detail-empty h3{font-size:15px;font-weight:800;color:#2a2a34;margin-bottom:6px}
.rm-detail-empty p{font-size:13px;max-width:520px;margin:0 auto;line-height:1.5}
.rm-rawtable{font-size:12px;white-space:nowrap}
.rm-rawtable th{position:sticky;top:0;background:#f4f4f7}
.rm-detailwrap{overflow-x:auto}
.rm-topscroll{overflow-x:auto;overflow-y:hidden}
.rm-topscroll>div{height:1px}
/* ===== Weekly Reporting deck ===== */
.wk-intake{margin-bottom:18px}
.wk-intake.collapsed .page-head{margin-bottom:0}
.wk-collapse{display:inline-flex;align-items:center;gap:6px;appearance:none;border:1px solid var(--line);border-radius:4px;background:#fff;padding:7px 12px;font:inherit;font-size:12px;font-weight:700;color:var(--purple-deep);cursor:pointer}
.wk-collapse:hover{background:#f7f5fb}
.wk-collapse svg{transition:transform .15s ease}
.wk-collapse[aria-expanded="true"] svg{transform:rotate(90deg)}
.wk-weekpick,.rm-weekpick{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.rm-weekpick select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--text);cursor:pointer}
.wk-compare{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.wk-sheetpick{margin-top:10px}
.wk-sheetpick select,.wk-sheetpick input[type=date]{max-width:100%}
.wk-sheetpick input[type=date]{border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 9px;font:inherit;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--text)}
.wk-hint{margin-top:6px;font-size:10px;color:var(--muted);line-height:1.4}
.wk-compare-h{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--purple-deep);margin-bottom:6px}
.wk-tbl--compare td,.wk-tbl--compare th{font-size:10.5px;padding:4px 5px}
.wk-tbl--compare td:first-child,.wk-tbl--compare th:first-child{padding-left:0}
.wk-up{color:var(--green);font-weight:800}
.wk-down{color:var(--red);font-weight:800}
.wk-history{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:6px}
.wk-history-row{display:flex;align-items:center;gap:10px;font-size:11px;color:#3a3a46;flex-wrap:wrap}
.wk-history-row b{font-variant-numeric:tabular-nums}
.wk-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.wk-totop{position:fixed;right:26px;bottom:26px;z-index:200;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.2);color:var(--purple-deep);cursor:pointer;display:flex;align-items:center;justify-content:center}
.wk-totop:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.wk-totop:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}
.wk-deck{display:flex;flex-direction:column;gap:26px}
.wk-slide{position:relative;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.07);overflow:hidden;scroll-margin-top:16px}
.wk-slide__bar{display:flex}
.wk-slide__bar i{display:block;height:9px}
.wk-slide__bar .y{width:190px;background:var(--ey-yellow)}
.wk-slide__bar .k{flex:1;background:#2e2e38}
.wk-slide__body{padding:20px 30px 6px}
.wk-kicker{font-size:11.5px;font-weight:800;letter-spacing:.2px;color:#2e2e38;text-transform:uppercase}
.wk-title{font-size:25px;font-weight:800;margin:6px 0 0;color:#1a1a24;letter-spacing:-.2px;padding-right:200px}
.wk-sub{font-size:11px;color:#55555f;margin-top:8px;padding-right:200px}
.wk-content{margin-top:16px}
.wk-stat{position:absolute;top:26px;right:30px;text-align:right;width:190px}
.wk-stat b{display:block;font-size:40px;font-weight:800;color:#c62828;line-height:1;border-bottom:2px solid #c62828;padding-bottom:5px}
.wk-stat span{display:block;font-size:9px;font-weight:700;letter-spacing:.3px;color:#2e2e38;text-transform:uppercase;margin-top:6px}
.wk-note{font-size:10.5px;color:#3a3a46;margin-top:14px}
.wk-foot-note{font-size:9.5px;color:#6b6b76;margin-top:12px;background:#f7f7fa;border-radius:4px;padding:8px 10px}
.wk-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 30px 18px;font-size:9.5px;color:#8a8a94}
.wk-eymark{width:52px;height:auto;flex:0 0 auto;display:block}
.wk-spacer{height:22px}
.wk-bottomline{background:#fffbe0;border-left:4px solid var(--ey-yellow);padding:9px 12px;font-size:12px;color:#1a1a24;margin-bottom:16px}
.wk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;align-items:start}
.wk-split{display:grid;grid-template-columns:minmax(300px,34%) 1fr;gap:18px;align-items:start}
.wk-block-h{background:#2e2e38;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:7px 10px}
.wk-tbl{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}
.wk-tbl th{background:#fff;border-bottom:1.5px solid #2e2e38;color:#2e2e38;font-size:9px;font-weight:800;padding:6px 4px;text-align:center;line-height:1.25}
.wk-tbl th:first-child{text-align:left;padding-left:10px}
.wk-tbl td{border-bottom:1px solid #ececf1;padding:6px 4px;text-align:center;color:#2e2e38}
.wk-tbl td:first-child{text-align:left;padding-left:10px}
/* Column separators: light gray by default, white where the cell sits on a light gray fill. */
.wk-tbl th,.wk-tbl td{border-right:1px solid #e7e7ee}
.wk-tbl th:last-child,.wk-tbl td:last-child{border-right:none}
.wk-tbl tr.tot td,.wk-tbl--pipeline td.faded{border-right-color:#fff}
.wk-tbl tr.tot td:last-child,.wk-tbl--pipeline td.faded:last-child{border-right:none}
.wk-tbl tr.tot td{background:#f2f2f6;font-weight:800}
.wk-tbl tr.rem td{background:#2e2e38;color:#fff;font-weight:800;border-bottom-color:#2e2e38}
.wk-hl{background:var(--ey-yellow) !important;color:#1a1a24 !important;font-weight:800}
.wk-tbl--matrix th{background:#2e2e38;color:#fff;border-bottom:none;font-size:11px;padding:10px 6px}
.wk-tbl--matrix th:first-child{font-size:9.5px}
.wk-tbl--matrix td{padding:9px 6px;font-size:12px}
.wk-tbl--matrix tr.tot td{border-top:2px solid #2e2e38}
.wk-tbl--mini{width:auto;table-layout:auto}
.wk-tbl--mini th:first-child,.wk-tbl--mini td:first-child{min-width:240px;max-width:270px;text-align:left}
.wk-tbl--mini th:not(:first-child),.wk-tbl--mini td:not(:first-child){min-width:96px}
.wk-tbl--pipeline th.wk-pipe-gapr,.wk-tbl--pipeline td.wk-pipe-gapr{border-right:14px solid #fff}
.wk-tbl--pipeline th.wk-pipe-gapl,.wk-tbl--pipeline td.wk-pipe-gapl{border-left:14px solid #fff}
.wk-flag{margin-top:2px;background:#fdf3e3;border-left:4px solid #e07a3f;border-radius:0 3px 3px 0;padding:8px 12px;font-size:10.5px;color:#5a3c1f}
.wk-wow{display:block;margin-top:2px;font-style:normal;font-size:8.5px;font-weight:800;letter-spacing:.2px}
.wk-wow.good{color:#2e7d32}
.wk-wow.bad{color:#c62828}
.wk-wow.flat{color:#9a9aa2}
.wk-prior td{background:#fafafc;border-bottom:none;padding:4px 2px;text-align:center}
.wk-prior td:first-child{text-align:left}
.wk-prior td.wk-rank b{font-size:8.5px;font-weight:800;color:#77777f;text-transform:uppercase;letter-spacing:.2px}
.wk-prior .wk-wow{display:block;margin:0;font-size:10px}
.wk-tbl--pipeline tr.wk-prior td{border-bottom:none;color:#77777f;font-size:10px}
.wk-tbl--matrix tr.wk-prior td{font-size:10px;font-weight:800;color:#77777f}
.wk-tbl--move th:not(:first-child),.wk-tbl--move td:not(:first-child){text-align:center;min-width:110px}
.wk-tbl--move td{padding:5px 6px}
.wk-tbl--move td.wk-cell>span{display:block;border-radius:3px;padding:7px 2px;font-size:13px;font-weight:800;text-align:center;line-height:1}
.wk-tbl--move .wk-c-gap.grand,.wk-tbl--move .wk-c-uncov.grand{background:#c62828;color:#fff}
.wk-tbl--move td.wk-cell>span.wk-p-navy{background:#1f4e66;color:#fff}
.wk-tbl--move td.wk-cell>span.wk-p-navy.faded{background:#e9f1f7;color:#a9c6d8}
.wk-tbl--move tr.wk-move-pipe td{border-top:2px solid #2e2e38}
.wk-tbl--move td .wk-wow{display:inline-block;margin:0;font-size:11px}
.wk-bridge{margin-top:4px}
.wk-bridge-plot{display:grid;gap:6px;align-items:end;border-bottom:2px solid #1a1a24;padding-bottom:2px}
.wk-bridge-col{display:flex;flex-direction:column;align-items:center;min-width:0}
.wk-bridge-bar{position:relative;width:100%;display:flex;justify-content:center}
.wk-bridge-seg{position:absolute;bottom:0;width:58%;border-radius:2px}
.wk-bridge-seg.anchor{background:#eceaf2;border-top:3px solid #1a1a24}
.wk-bridge-seg.up{background:#c62828}
.wk-bridge-seg.down{background:#2e7d32}
.wk-bridge-seg.flat{background:#b4b4be}
.wk-bridge-conn{position:absolute;left:79%;width:42%;border-top:1px dashed #b4b4be}
.wk-bridge-val{position:absolute;font-size:10px;font-weight:800;color:#1a1a24;white-space:nowrap}
.wk-bridge-val.up{color:#c62828}
.wk-bridge-val.down{color:#2e7d32}
.wk-bridge-val.flat{color:#8a8a94}
.wk-bridge-lab{margin-top:6px;text-align:center;font-size:9px;font-weight:700;color:#3c3c46;line-height:1.25}
.wk-tbl--mini tr.tot td{border-top:none}
.wk-tbl--mini td:has(.wk-fundedinput){padding:2px}
.wk-peek{display:inline-block;margin-left:6px;appearance:none;border:1px solid var(--line);border-radius:3px;background:#fff;padding:2px 6px;font:inherit;font-size:8.5px;font-weight:800;letter-spacing:.2px;text-transform:uppercase;color:var(--purple-deep);cursor:pointer;vertical-align:middle}
.wk-peek:hover{background:#f4f1fa;border-color:var(--purple-deep)}
.wk-pop{position:fixed;inset:0;z-index:60;background:rgba(26,26,36,.55);display:flex;align-items:center;justify-content:center;padding:24px}
.wk-pop__card{background:#fff;border-radius:6px;box-shadow:0 18px 50px rgba(0,0,0,.3);padding:20px 24px 24px;max-width:1000px;width:100%;max-height:88vh;overflow:auto}
.wk-pop__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.wk-pop__head h3{margin:0;font-size:19px;font-weight:800;color:#1a1a24}
.wk-pop__close{appearance:none;border:none;background:transparent;font-size:26px;line-height:1;color:#6b6b76;cursor:pointer;padding:0 4px}
.wk-pop__close:hover{color:#1a1a24}
.wk-tbl--funded td:has(.wk-fundedinput){padding:2px}
.wk-stat2{position:absolute;top:24px;right:30px;width:340px;text-align:right}
.wk-slide:has(.wk-stat2) .wk-title,.wk-slide:has(.wk-stat2) .wk-sub{padding-right:360px}
.wk-stat2__rule{display:block;height:2px;background:#c62828;margin:9px 0}
.wk-stat2__row{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.wk-stat2__row span{font-size:10.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#2e2e38;line-height:1.3;text-align:right}
.wk-stat2__row b{flex:none}
.wk-stat2 .wk-fundedinput{width:70px;font-size:30px;font-weight:800;line-height:1.1;color:#c62828;text-align:right;padding:0 4px}
.wk-wf-labels .wk-fundedinput{width:32px;padding:0 1px;font-size:9.5px;font-weight:800;color:inherit;line-height:1.2;vertical-align:baseline}
.wk-wf-labels .wk-fundedinput:hover{border-color:rgba(0,0,0,.35);background:rgba(255,255,255,.55)}
.wk-wf-labels .wk-fundedinput:focus{border-color:var(--purple-deep);background:#fff;color:#1a1a24;box-shadow:none}
.wk-fundedinput{width:100%;min-width:34px;border:1px solid transparent;border-radius:3px;background:transparent;padding:4px 2px;font:inherit;font-size:11px;font-variant-numeric:tabular-nums;text-align:center;color:#2e2e38}
.wk-fundedinput:hover{border-color:var(--line);background:#fafafd}
.wk-fundedinput:focus{outline:none;border-color:var(--purple-deep);background:#fff;box-shadow:0 0 0 2px rgba(102,45,145,.18)}
.wk-edit{outline:none;border-radius:2px}
.wk-edit:hover{box-shadow:0 0 0 1px var(--line)}
.wk-edit:focus{box-shadow:0 0 0 2px rgba(102,45,145,.35);background:#fff}
.wk-shooting .wk-edit:hover,.wk-shooting .wk-edit:focus{box-shadow:none;background:transparent}
/* While a slide is captured the typed cells become plain text, so their containers carry the type. */
.wk-shooting .wk-stat2__row b{font-size:30px;font-weight:800;color:#c62828;line-height:1.1}
.wk-shooting .wk-tbl--ranks td.wk-cell{font-size:13px;font-weight:800}
.wk-shooting .wk-wf-seg+.wk-wf-seg{box-shadow:none}
.wk-tbl--funded tr.tot .wk-fundedinput{font-weight:800}
.wk-wf-h{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.wk-wf-h b{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#2e2e38}
.wk-wf-h span{font-size:10px;color:#6b6b76}
.wk-ghostbtn{margin-left:auto;appearance:none;border:1px solid var(--line);background:#f7f7fa;border-radius:3px;padding:4px 10px;font-size:10px;font-weight:700;color:#3a3a46;cursor:default}
.wk-wf-plot{position:relative;padding-left:32px}
.wk-wf-axis{position:absolute;left:0;top:22px;width:28px}
.wk-wf-axis span{position:absolute;right:4px;transform:translateY(50%);font-size:9px;color:#8a8a94}
.wk-wf-grid{position:absolute;left:32px;right:0;top:22px;pointer-events:none}
.wk-wf-grid i{position:absolute;left:0;right:0;height:1px;background:#ececf1}
.wk-wf-base{position:absolute;left:32px;right:0;height:2px;background:#2e2e38}
.wk-wf-cols{display:grid}
.wk-wf-col{display:flex;flex-direction:column}
/* Absolute rather than flex: the bars have to survive being rasterised for the PowerPoint export. */
.wk-wf-col{display:block}
/* Bar occupies 86% of its grid cell, so the dashed step connector is exactly (1/0.86 - 1) of a bar wide. */
.wk-wf-bar{position:relative;width:86%;margin:0 auto}
.wk-wf-conn{position:absolute;left:100%;width:16.3%;height:0;border-top:1.5px dashed #9a9aa6}
.wk-wf-top{position:absolute;left:0;right:0;text-align:center;font-size:12px;font-weight:800}
.wk-wf-stack{position:absolute;left:0;right:0;bottom:0}
.wk-wf-seg{display:block}
.wk-wf-seg+.wk-wf-seg{box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.wk-wf-labels{position:absolute;inset:0;pointer-events:none}
.wk-wf-labels span{position:absolute;left:0;right:0;height:18px;line-height:18px;text-align:center;font-size:9.5px;font-weight:700;white-space:nowrap;overflow:hidden;padding:0 2px}
.wk-wf-labels span:has(.wk-fundedinput){pointer-events:auto}
.wk-wf-lab{text-align:center;font-size:10.5px;font-weight:700;color:#2e2e38;padding-top:8px}
.wk-tbl--ranks td{padding:8px 3px;font-size:11.5px;font-weight:700;border-right:none}
.wk-tbl--ranks th{padding-bottom:8px;border-right:none}
.wk-tbl--ranks td.wk-cell{padding:4px 3px}
.wk-tbl--ranks td.wk-cell>span{display:block;border-radius:3px;padding:9px 2px;font-size:13px;font-weight:800;text-align:center;line-height:1}
.wk-needcol{width:92px}
.wk-rank{white-space:nowrap}
.wk-rank b{display:block;font-size:13px;font-weight:800;color:#1a1a24}
.wk-rank span{display:block;font-size:9px;color:#8a8a94;font-weight:600}
.wk-needbar{display:flex;width:100%;height:18px;border-radius:2px;overflow:hidden;vertical-align:middle}
.wk-needbar i{display:block;height:100%}
.wk-c-plain{background:none;color:#1a1a24}
.wk-c-green{background:#eaf3ea;color:#a8c3a8}
.wk-c-green.on{background:#2e7d32;color:#fff}
.wk-c-blue{background:#e9f1f7;color:#a9c6d8}
.wk-c-blue.on{background:#3f8fc4;color:#fff}
.wk-c-orange{background:#fbeee6;color:#dcbca6}
.wk-c-orange.on{background:#e07a3f;color:#fff}
.wk-c-gap{background:none;color:#c62828}
.wk-c-uncov{background:#fbe4e4;color:#c62828}
.wk-needinput{width:100%;border:1px solid var(--line);border-radius:3px;background:#fff;padding:5px 2px;font:inherit;font-size:13px;font-weight:800;text-align:center;color:#1a1a24}
.wk-needinput:focus{outline:2px solid var(--purple-deep);outline-offset:1px}
.wk-needpanel{margin:14px 0}
.wk-needpanel h3{margin:0 0 4px;font-size:15px}
.wk-needpanel .rm-detail-head+table{margin-top:14px}
.wk-needpanel table{max-width:580px}
.wk-needpanel .wk-wow{margin-top:3px}
.wk-tbl--ranks th.wk-pipecol,.wk-tbl--ranks td.wk-pipecol{border-left:2px solid #2e2e38;padding-left:10px}
.wk-tbl--ranks td.wk-pipecol>span{background:#1f4e66;color:#fff}
.wk-tbl--ranks td.wk-pipecol>span.faded{background:#e9f1f7;color:#a9c6d8}
.wk-tbl--ranks tr.wk-grand td{border-top:2px solid #2e2e38;border-bottom:none;padding-top:10px}
.wk-tbl--ranks tr.wk-grand .wk-c-gap.grand,.wk-tbl--ranks tr.wk-grand .wk-c-uncov.grand{background:#c62828;color:#fff}
.wk-legend{margin-top:12px;font-size:9.5px;color:#3a3a46;line-height:1.5}
.wk-tbl--pipeline td{padding:5px 4px}
.wk-tbl--pipeline td:not(.wk-rank){font-size:13px;font-weight:800;color:#fff;border-bottom:4px solid #fff}
.wk-p-red{background:#c62828}
.wk-p-blue{background:#5b93b5}
.wk-p-navy{background:#1f4e66}
.wk-p-surplus{background:#e8f4ea;color:#2e7d32 !important}
.wk-tbl--pipeline td.faded{background:#eef4f8;color:#9dbdd2 !important}
.wk-tbl--pipeline td.wk-p-red.faded{background:#fbe4e4;color:#d79d9d !important}
.wk-tbl--pipeline tr.wk-grand td{border-top:2px solid #2e2e38}
@media(max-width:1100px){.wk-grid2,.wk-split{grid-template-columns:1fr}.wk-title,.wk-sub{padding-right:0}.wk-stat{position:static;width:auto;text-align:left;margin-bottom:10px}.wk-stat b{display:inline-block;font-size:32px}.wk-slide:has(.wk-stat2) .wk-title,.wk-slide:has(.wk-stat2) .wk-sub{padding-right:0}.wk-stat2{position:static;width:auto;margin-bottom:12px}.wk-stat2__row{justify-content:flex-start;flex-direction:row-reverse}}
.rm-colhead{display:flex;flex-direction:column;gap:4px;min-width:92px}
.rm-sortbtn{display:flex;align-items:center;gap:5px;background:none;border:0;padding:0;font:inherit;font-weight:700;color:#2e2e38;cursor:pointer;text-align:left}
.rm-sortbtn:hover{color:var(--purple-deep)}
.rm-sortbtn i{font-style:normal;font-size:9px;opacity:.35}
.rm-sortbtn.on i{opacity:1;color:var(--purple-deep)}
.rm-colfilter{width:100%;box-sizing:border-box;font-family:inherit;font-size:11px;font-weight:400;padding:3px 5px;border:1px solid #d5d5dd;border-radius:4px;background:#fff}
.rm-colfilter:focus{outline:none;border-color:var(--purple-deep)}
.rm-roster-colhead{min-width:148px}
.rmc-table{width:100%;border-collapse:collapse;font-size:12px}
.rmc-table th{font-size:10px;font-weight:700;color:#3a3a46;text-align:center;vertical-align:bottom;padding:5px 4px;line-height:1.2}
.rmc-table th.rmc-th-rank{text-align:left}
.rmc-grouprow th{padding:0 0 2px}
.rmc-grouphdr{background:#e4e4ea;border-radius:5px 5px 0 0;font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;color:#3a3a46;padding:4px}
.rmc-table td{text-align:center;padding:7px 4px;border:2px solid #fff;font-weight:800;font-size:13px}
.rmc-rank{text-align:left!important;background:#fff}
.rmc-rank b{color:#1f3a63;font-size:13px}
.rmc-rank small{display:block;color:#9a9aa4;font-size:9.5px;font-weight:600}
.rmc-need{color:#1a1a24;background:#fff}
.rmc-gap{color:#c0392b;background:#fff}
.rmc-green{background:#2f7d32;color:#fff}
.rmc-greenlite{background:#d9ead3;color:#9a9aa0}
.rmc-blue{background:#5b9bd5;color:#fff}
.rmc-bluelite{background:#dce6f4;color:#9a9aa0}
.rmc-orange{background:#ed7d31;color:#fff}
.rmc-orangelite{background:#fbe4d5;color:#9a9aa0}
.rmc-uncov{background:#fce8e8;color:#3a3a46}
.rmc-needbar{display:flex;height:15px;width:62px;margin:0 auto;border:1px solid #cfcfd6;border-radius:3px;overflow:hidden}
.rmc-cov{background:#2f7d32}
.rmc-rem{background:#c0392b}
.rmc-total td{border-top:2px solid #1a1a24;font-size:14px}
.rmc-total .rmc-rank b{color:#1a1a24}
.rmc-gaptot{background:#c0392b;color:#fff}
.rmc-uncovtot{background:#fff;color:#1a1a24}
.rm-dtable{font-size:12px}
.rm-dtable th{white-space:nowrap;text-align:center}
.rm-dtable th:first-child{text-align:left}
.rm-dtable td{text-align:center;vertical-align:middle}
.rm-dtable td:first-child{text-align:left}
.rm-dt-green{color:#168736;font-weight:800}
.rm-dt-red{color:var(--red);font-weight:800}
.rm-dt-total td{border-top:2px solid #1a1a24;font-weight:800;background:#faf9ff}
.rm-page{max-width:1340px;margin:0 auto;padding:100px clamp(18px,3vw,40px) 60px;color:var(--ey-black);background:#f4f4f7;min-height:calc(100vh - 44px)}
.rm-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.rm-eyebrow{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--purple)}
.rm-pagehead h1{font-size:clamp(20px,2.4vw,28px);font-weight:800;margin-top:4px}
.rm-pagehead p{color:var(--muted);font-size:13px;margin-top:3px;max-width:640px}
.rm-herostat{background:var(--ey-black);color:#fff;border-radius:14px;padding:12px 22px;text-align:center;min-width:158px}
.rm-herostat-n{display:block;font-size:36px;font-weight:850;color:#ff7a7a;line-height:1}
.rm-herostat-l{display:block;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-top:4px}
.rm-herostat-s{display:block;font-size:10.5px;color:#b9b9c6;margin-top:2px}
.rm-note{display:flex;align-items:flex-start;gap:10px;background:#efeafd;border:1px solid #ddd8f4;border-radius:10px;padding:11px 14px;font-size:13px;color:#3a3a46;margin-bottom:16px}
.rm-note .ico{color:var(--purple);flex-shrink:0;margin-top:1px}
.rm-kpirow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}
.rm-kpi{padding:14px 16px;border-top:3px solid var(--purple)}
.rm-kpi.tone-green{border-top-color:var(--green)}
.rm-kpi.tone-red{border-top-color:var(--red)}
.rm-kpi.tone-blue{border-top-color:#5b9bd5}
.rm-kpi.tone-overburn{border-top-color:#5b9bd5}
.rm-kpi.tone-amber{border-top-color:#f2b900}
.rm-kpi-lab{font-size:11px;font-weight:700;color:#6b6b76;text-transform:uppercase;letter-spacing:.3px}
.rm-kpi-val{font-size:30px;font-weight:850;margin:4px 0 2px}
.rm-kpi.tone-red .rm-kpi-val{color:var(--red)}
.rm-kpi.tone-green .rm-kpi-val{color:var(--green)}
.rm-kpi.tone-overburn .rm-kpi-val{color:#2e5aac}
.rm-kpi-sub{font-size:11px;color:var(--muted)}
.rm-hire-progress{height:6px;background:#eee;border-radius:4px;overflow:hidden;margin-top:6px}
.rm-hire-progress span{display:block;height:100%;background:var(--purple-deep)}
.rm-hire-pbars{display:flex;flex-direction:column;gap:8px}
.rm-hire-pbar{appearance:none;border:1.5px solid #e4e4ec;background:#fff;border-radius:10px;padding:9px 12px;display:flex;align-items:center;gap:12px;cursor:pointer;font:inherit;text-align:left}
.rm-hire-pbar:hover{border-color:#cfc6ff}
.rm-hire-pbar.active{border-color:var(--purple-deep);background:#faf9ff}
.rm-hire-pbar-lab{width:110px;flex-shrink:0;font-size:12px;font-weight:800;color:#2a2a34}
.rm-hire-pbar-track{flex:1;height:12px;border-radius:6px;background:#ececf1;overflow:hidden;display:flex}
.rm-hire-pbar-track i{height:100%}
.rm-hire-pbar-val{width:110px;flex-shrink:0;text-align:right;font-size:13px;font-weight:850;color:#1a1a24}
.rm-hire-pbar-val small{display:block;font-size:9.5px;font-weight:600;color:var(--muted)}
.rm-coverage{margin-bottom:16px}
.rm-coverage-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.rm-coverage-head h3{font-size:14px;font-weight:800}
.rm-coverage-head span{font-size:12px;color:var(--muted)}
.rm-covbar{display:flex;height:22px;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.rm-covbar span{height:100%}
.rm-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#3a3a46}
.rm-legend span{display:flex;align-items:center;gap:6px}
.rm-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.rm-s-green{background:#1f9d55}
.rm-s-blue{background:#5b9bd5}
.rm-s-amber{background:#f2b900}
.rm-s-red{background:#c62828}
.rm-grid2{display:grid;grid-template-columns:minmax(340px,0.85fr) minmax(460px,1.25fr);gap:16px;align-items:start;margin-bottom:16px}
.rm-summary-stack{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}
/* Executive one-view: waterfall left, shortage matrix right (matches slide composition). */
.rm-exec-grid{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(520px,1.35fr);gap:14px;align-items:stretch;margin-bottom:16px}
.rm-exec-waterfall,.rm-exec-shortage{display:flex;flex-direction:column;min-width:0}
.rm-exec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.rm-exec-head h2{font-size:17px}
.rm-exec-head .sub{font-size:11.5px;margin-top:2px}
.rm-exec-shortage .rm-filterchips{margin-left:auto}
.rm-panel{min-width:0}
/* Onboarding dashboard: full-width bars with the value read off the label row, not a 40px gutter. */
.ob-item{margin-bottom:15px}
.ob-item:last-child{margin-bottom:0}
.ob-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.ob-item-l{font-size:12.5px;font-weight:700;color:#2e2e38}
.ob-item-v{font-size:17px;font-weight:850;white-space:nowrap}
.ob-item-v small{font-size:11px;font-weight:700;color:var(--muted);margin-left:6px}
.ob-track{height:12px;border-radius:6px;background:#eceef3;overflow:hidden}
.ob-track i{display:block;height:100%;border-radius:6px}
.ob-note{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.4}
.ob-headline{display:flex;align-items:center;gap:18px;padding:18px 22px;margin-bottom:16px;border-radius:12px;border:1px solid #e4e4ea;border-left:5px solid var(--purple);background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.ob-headline.tone-green{border-left-color:var(--green)}
.ob-headline.tone-red{border-left-color:var(--red)}
.ob-headline.tone-blue{border-left-color:#5b9bd5}
.ob-headline-v{font-size:46px;font-weight:850;line-height:1;letter-spacing:-1px}
.ob-headline.tone-green .ob-headline-v{color:var(--green)}
.ob-headline.tone-red .ob-headline-v{color:var(--red)}
.ob-headline.tone-blue .ob-headline-v{color:#2e5aac}
.ob-headline-l{font-size:15px;font-weight:750;color:#2e2e38}
.ob-headline-d{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45}
.ob-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.ob-picker label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.ob-picker select{font-family:inherit;font-size:13px;font-weight:650;padding:7px 10px;border:1px solid #d5d5dd;border-radius:7px;background:#fff;min-width:340px;max-width:100%}
.ob-picker-note{font-size:11.5px;color:var(--muted)}
.ob-upload-zone{min-height:116px;border:1.5px dashed #a8a8b3;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:18px;margin-bottom:12px;background:#fafafa;color:#2e2e38;cursor:pointer;transition:border-color .15s,background .15s}
.ob-ai-status{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--line);border-radius:6px;background:#fafafa}
.ob-ai-status>span{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#8a8a96}
.ob-ai-status div{display:flex;flex-direction:column;gap:2px}
.ob-ai-status b{font-size:12px}.ob-ai-status small{font-size:11px;color:var(--muted)}
.ob-ai-status.is-ready{border-color:#a8d9bd;background:#f1faf5}.ob-ai-status.is-ready>span{background:var(--green)}
.ob-ai-status.is-blocked{border-color:#efb3b3;background:#fff5f5}.ob-ai-status.is-blocked>span{background:var(--red)}
.ob-upload-zone:hover,.ob-upload-zone.is-dragging{border-color:var(--purple-deep);background:#f3f0fa}
.ob-upload-zone.is-busy{opacity:.6;pointer-events:none}
.ob-upload-zone .ico{color:var(--purple-deep)}
.ob-upload-zone b{font-size:13px}
.ob-upload-zone span{font-size:11.5px;color:var(--muted)}
.ob-upload-list{display:grid;gap:6px;margin-bottom:12px}
.ob-upload-summary,.ob-upload-file{display:flex;align-items:center;gap:10px}
.ob-upload-summary{justify-content:space-between;font-size:11.5px;color:var(--muted)}
.ob-upload-file{min-height:36px;padding:5px 8px 5px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px}
.ob-upload-file>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ob-upload-file small{color:var(--muted);white-space:nowrap}
.ob-upload-file button{width:28px;height:28px;border:0;border-radius:4px;display:grid;place-items:center;background:transparent;color:#5a5a66;cursor:pointer}
.ob-upload-file button:hover{background:#fff0f0;color:var(--red)}
@media(max-width:760px){.ob-headline{flex-direction:column;align-items:flex-start;gap:8px}.ob-headline-v{font-size:38px}.ob-picker select{min-width:0;width:100%}}
.rm-shortage-wrap{overflow-x:auto;margin-top:2px}
.rm-shortage-table{min-width:0;width:100%;table-layout:fixed}
.rm-exec-shortage .rmc-table{font-size:11px}
.rm-exec-shortage .rmc-table th{font-size:9px;padding:4px 2px;line-height:1.15;white-space:normal;hyphens:auto}
.rm-exec-shortage .rmc-table td{padding:5px 2px;font-size:12px}
.rm-exec-shortage .rmc-rank b{font-size:12px}
.rm-exec-shortage .rmc-rank small{font-size:9px}
.rm-exec-shortage .rmc-needbar{width:42px;height:12px}
.rm-exec-shortage .rmc-total td{font-size:12.5px}
.rm-exec-shortage .rmc-th-rank{width:12%}
.rm-exec-shortage .rmc-th-narrow,.rm-exec-shortage .rmc-narrow{width:7.5%;max-width:64px;padding-left:2px;padding-right:2px}
.rm-exec-shortage th.rmc-th-narrow{font-size:8.5px;line-height:1.1}
.rm-shortage-notes{display:grid;grid-template-columns:1fr;gap:3px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:10.5px;line-height:1.35;color:#3a3a46}
.rm-shortage-notes p{margin:0}
.rm-shortage-notes b{color:#1a1a24}
@media(max-width:1280px){.rm-exec-grid{grid-template-columns:1fr}.rm-shortage-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}}
@media(max-width:900px){.rm-shortage-notes{grid-template-columns:1fr}}
.rm-waterfall{display:flex;flex-direction:column;gap:0;margin-top:8px}
.rm-wf-chart{display:flex;align-items:flex-end;gap:8px;width:100%}
.rm-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;width:40px;font-size:10.5px;color:#8a8a94;padding-right:6px;border-right:1px solid #dcdce2;line-height:1;flex-shrink:0;box-sizing:border-box}
.rm-plot{flex:1;min-width:0;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid #cfcfd6;padding:0 4px;position:relative;overflow:hidden}
.rm-wf-surplus{margin:10px 0 0;font-size:11.5px;line-height:1.4;color:#3a3a46}
.rm-wf-axispad{margin-left:48px}
.rm-barcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.rm-total{font-size:13px;font-weight:800;margin:0 0 3px;line-height:1.1;min-height:16px;flex:0 0 auto}
.rm-total.rm-red{color:var(--red)}
.rm-bar{width:min(104px,100%);display:flex;flex-direction:column;border-radius:5px 5px 0 0;overflow:hidden;flex-shrink:0}
.rm-seg{display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:800;overflow:hidden;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);line-height:1.05;box-sizing:border-box}
.rm-seg>span{display:block;padding:0 4px}
.rm-seg-tight{font-size:10.5px;letter-spacing:-.01em}
.rm-bar>.rm-seg+.rm-seg{border-top:1.5px solid #fff}
.rm-wf-subs{background:#7d8ba3}
.rm-wf-spec{background:#aab4c6;color:#26303f;text-shadow:none}
.rm-wf-ey{background:#4a5c78}
.rm-wf-need{background:#ffcf33;color:#1a1a24;text-shadow:none}
.rm-wf-secured{background:#1f9d55}
.rm-wf-gap{background:#e0655a}
.rm-wf-offers{background:#2f7fc4}
.rm-wf-early{background:#efa63c;color:#26303f;text-shadow:none}
.rm-wf-uncov{background:#c0392b}
.rm-xrow{display:flex;gap:14px;padding:8px 4px 0}
.rm-xrow span{flex:1;text-align:center;font-size:11px;font-weight:700;color:#3a3a46}
.rm-xrow .rm-xbtn{flex:1}
.rm-exec-waterfall .rm-wf-legend{grid-template-columns:1fr;gap:8px;margin-top:10px;font-size:10.5px}
.rm-exec-waterfall .rm-wf-lgroup{gap:3px}
@media(min-width:1500px){.rm-exec-waterfall .rm-wf-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
.rm-wf-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;font-size:11px;color:#3a3a46}
.rm-wf-lgroup{display:flex;flex-direction:column;gap:5px}
.rm-wf-legend .rm-wf-lgroup-t{display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#8a8a94;border-bottom:1px solid #e7e7ee;padding-bottom:4px}
.rm-wf-legend span{display:flex;align-items:center;gap:7px}
.rm-wf-legend b{margin-left:auto;font-weight:800;color:#1a1a24}
.rm-wf-legend i{width:11px;height:11px;border-radius:3px;flex-shrink:0;display:inline-block}
.rm-seg[data-tip],.rm-wf-legend span[data-tip]{cursor:help}
.rm-wf-click{cursor:pointer}
.rm-wf-click.is-active{box-shadow:inset 0 0 0 2px rgba(26,26,36,.6)}
.rm-xbtn,.rm-wf-link{appearance:none;border:none;background:none;padding:0;font:inherit;color:inherit;text-align:center}
.rm-xbtn{cursor:pointer;font-size:12px;font-weight:700;color:#3a3a46}
.rm-xbtn.active{color:var(--purple-deep)}
.rm-wf-link{display:flex;align-items:center;gap:7px;cursor:pointer;text-align:left}
.rm-wf-link.active{font-weight:800;color:var(--purple-deep)}
.rm-wf-link.active b{color:var(--purple-deep)}
.rm-wf-link:focus-visible,.rm-xbtn:focus-visible,.rm-filterchip:focus-visible,.rm-wf-click:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}
.rm-tip{position:fixed;z-index:300;pointer-events:none;background:#1a1a24;color:#fff;font-size:11.5px;font-weight:600;padding:6px 10px;border-radius:7px;max-width:250px;line-height:1.35;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.rm-seg[title]{cursor:help}
@media(max-width:560px){.rm-wf-legend{grid-template-columns:1fr}}
.rm-bento-head{display:flex;justify-content:space-between;align-items:flex-start}
.rm-sort{display:flex;gap:4px;background:#f1f1f6;border-radius:9px;padding:3px}
.rm-sort button{border:none;background:none;font-size:11.5px;font-weight:700;color:#6b6b76;padding:5px 11px;border-radius:7px;cursor:pointer}
.rm-sort button.on{background:#fff;color:var(--purple-deep);box-shadow:0 1px 2px rgba(20,20,30,.12)}
.rm-bento{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}
.rm-bcard{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff;border-left:4px solid #d9d9e2}
.rm-bcard.status-ok{border-left-color:var(--green)}
.rm-bcard.status-warn{border-left-color:var(--amber)}
.rm-bcard.status-risk{border-left-color:var(--red)}
.rm-bcard-total{background:#faf9ff;border-left-color:var(--purple)}
.rm-bcard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.rm-bcard-rank{font-size:15px;font-weight:800}
.rm-pill{display:inline-block;margin-top:5px;font-size:10px;font-weight:800;padding:3px 9px;border-radius:20px}
.pill-ok{background:#e6f5ec;color:var(--green)}
.pill-warn{background:#fdf3e3;color:#b26a00}
.pill-risk{background:#fdeaea;color:var(--red)}
.pill-total{background:#efeafd;color:var(--purple-deep)}
.rm-ring{position:relative;flex-shrink:0}
.rm-ring-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.rm-bstack{display:flex;height:12px;border-radius:4px;overflow:hidden;margin:12px 0 10px;background:#ececf1}
.rm-bstack span{height:100%}
.rm-bchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.rm-bchip{font-size:11px;color:#5a5a66;background:#f4f4f7;border-radius:7px;padding:3px 8px;display:flex;gap:4px;align-items:baseline}
.rm-bchip b{font-size:13px;color:#1a1a24}
.rm-bchip.green{background:#e6f5ec}.rm-bchip.green b{color:#168736}
.rm-bchip.red{background:#fdeaea}.rm-bchip.red b{color:var(--red)}
.rm-bchip.blue{background:#eaf1fb}.rm-bchip.blue b{color:#2e5aac}
.rm-bbreak{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:10.5px;color:#8a8a94;border-top:1px dashed #e7e7ee;padding-top:8px}
.rm-bbreak b{color:#3a3a46}
.rm-lanes{display:flex;flex-direction:column;margin-top:2px}
.rm-lane-head,.rm-lane{display:grid;grid-template-columns:126px 1fr 40px 38px 46px 104px;align-items:center;gap:9px}
.rm-lane-head{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:#8a8a94;font-weight:700;padding:0 6px 8px}
.rm-lane-head span:nth-child(n+3){text-align:center}
.rm-lane{padding:9px 6px;border-top:1px solid #eee;border-left:3px solid transparent}
.rm-lane.status-ok{border-left-color:var(--green)}
.rm-lane.status-warn{border-left-color:var(--amber)}
.rm-lane.status-risk{border-left-color:var(--red)}
.rm-lane:hover{background:#faf9ff}
.rm-lane-rank b{font-size:13px;font-weight:800;display:block;line-height:1.1}
.rm-lane-rank small{font-size:10.5px;color:#8a8a94}
.rm-lane-bar{display:flex;height:24px;border-radius:6px;overflow:hidden;background:#ececf1}
.rm-lane-bar span{height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800;overflow:hidden;text-shadow:0 1px 1px rgba(0,0,0,.25);box-shadow:inset -1px 0 0 rgba(255,255,255,.6)}
.rm-lane-bar span:last-child{box-shadow:none}
.rm-lane-bar .rm-s-amber{color:#26303f;text-shadow:none}
.rm-lane-cov{text-align:center;font-weight:800;font-size:13px}
.rm-lane-gap{text-align:center;font-weight:700;color:var(--red)}
.rm-lane-unc{text-align:center;font-weight:800;color:#3a3a46}
.rm-lane-unc.bad{color:var(--red)}
.rm-lane-total{border-top:2px solid #1a1a24;background:#faf9ff}
.rm-lane-total .rm-lane-rank b{color:var(--purple-deep)}
.rm-filterchips{display:flex;gap:8px;flex-wrap:wrap}
.rm-ter-toolbar{position:sticky;top:8px;z-index:12;margin-bottom:12px;padding:10px 12px 8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 4px 14px rgba(23,28,45,.1);backdrop-filter:blur(8px)}
.rm-ter-toolbar-row{display:flex;align-items:flex-end;gap:14px;min-width:0}
.rm-ter-control-group{display:flex;flex-direction:column;gap:5px;min-width:0}
.rm-ter-control-group .rm-yearlab{font-size:9px;font-weight:800;letter-spacing:.55px;text-transform:uppercase;color:var(--muted)}
.rm-ter-control-group .rm-filterchips{flex-wrap:nowrap}
.rm-ter-settings-btn{margin-left:auto;flex:0 0 auto;white-space:nowrap}
.rm-ter-toolbar-context{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--muted);font-size:10.5px}
.rm-ter-toolbar-context b{color:var(--text);font-size:11px}
.rm-ter-section-nav{display:flex;gap:8px;overflow-x:auto;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);scrollbar-width:thin}
.rm-ter-section-nav .rm-filterchip{flex:0 0 auto}
.rm-ter-section{scroll-margin-top:152px}
.rm-ter-settings-panel{position:fixed;z-index:40;top:18px;right:18px;bottom:18px;width:min(780px,calc(100vw - 300px));margin:0;overflow:auto;box-shadow:0 16px 46px rgba(18,20,30,.25)}
.rm-ter-settings-actions{position:sticky;bottom:10px;z-index:4;display:flex;justify-content:flex-end;margin:18px -4px -4px;padding:10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.97);box-shadow:0 -3px 12px rgba(23,28,45,.08);backdrop-filter:blur(6px)}
@media(max-width:980px){
  .rm-ter-toolbar-row{align-items:flex-start;overflow-x:auto;padding-bottom:2px}
  .rm-ter-control-group{flex:0 0 auto}
  .rm-ter-settings-btn{margin-left:0;align-self:flex-end}
  .rm-ter-toolbar-context span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rm-ter-settings-panel{top:8px;right:8px;bottom:8px;width:calc(100vw - 16px)}
}
.rm-ftekpi{margin-bottom:0}
.rm-firm-readiness{margin-top:16px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.rm-firm-readiness-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:12px 14px;background:#f7f7fa;border-bottom:1px solid var(--line)}
.rm-firm-readiness-head h3{margin:0;font-size:14px;color:var(--text)}
.rm-firm-readiness-head p{margin:3px 0 0;font-size:11px;color:var(--muted)}
.rm-firm-readiness-head>span{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}
.rm-firm-readiness-scroll{overflow-x:auto}
.rm-firm-readiness-table{min-width:760px;margin:0}
.rm-firm-readiness-table th{background:#fff5a8;color:#222;font-size:10.5px;white-space:nowrap}
.rm-firm-readiness-table td{font-variant-numeric:tabular-nums}
.rm-firm-readiness-table .rm-firm-open{font-weight:800;color:#b42318}
.rm-readiness-count{min-width:28px;padding:2px 5px;border:0;border-radius:4px;background:transparent;color:var(--purple-deep);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.rm-readiness-count:hover,.rm-readiness-count.active{background:#e9e5ff}.rm-readiness-count:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}.rm-readiness-count:disabled{color:inherit;text-decoration:none;cursor:default;opacity:.55}
.rm-firm-pivot{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer}.rm-firm-pivot>span{display:inline-flex;color:var(--purple-deep);transition:transform .15s ease}.rm-firm-pivot>span.open{transform:rotate(90deg)}.rm-firm-pivot:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}.rm-firm-detail td{background:#faf9ff;color:#55555f}.rm-firm-detail td:first-child{padding-left:30px;font-size:10.5px;font-weight:700}.rm-firm-detail td:first-child>span{display:inline-block;min-width:34px;margin-right:7px;color:#777783;font-size:8.5px;font-weight:800;text-transform:uppercase}.rm-firm-detail .num{color:#686875}.rm-firm-subfirm td{background:#f7f6fc}
.rm-firm-readiness-total td{font-weight:800;background:#f1f1f5;border-top:2px solid #c9c9d2}
.rm-readiness-detail{border-top:1px solid var(--line);background:#fafafa}.rm-readiness-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px}.rm-readiness-detail-head h4{margin:0;color:var(--text);font-size:13px}.rm-readiness-detail-head span{display:block;margin-top:2px;color:var(--muted);font-size:10.5px}.rm-readiness-detail-actions{display:flex;align-items:center;gap:8px}.rm-readiness-detail-actions .dl-btn{padding:7px 11px}.rm-readiness-people{min-width:560px;margin:0}.rm-readiness-people th{background:#f1f1f5}.rm-readiness-people td:nth-child(2){color:var(--text)}
@media(prefers-reduced-motion:reduce){.rm-firm-pivot>span{transition:none}}
@media(max-width:640px){.rm-firm-readiness-head{align-items:flex-start;flex-direction:column;gap:6px}}
.rm-ftetable th.num,.rm-ftetable td.num{text-align:right}
.rm-ftetable input{width:110px;border:1px solid #d9d9e6;border-radius:6px;padding:5px 7px;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.rm-ftetable input:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
.rm-hire-grid{font-size:11.5px}
.rm-hire-grid input{width:48px;padding:4px 5px}
.rm-fte-group td{background:#f4f2ff;font-weight:800;border-top:2px solid #ddd8f5}
.rm-fte-group.open td{background:#ebe7ff}
.rm-disc{appearance:none;border:none;background:none;font:inherit;font-weight:800;color:inherit;cursor:pointer;display:flex;align-items:center;gap:7px;padding:0;text-align:left}
.rm-disc-ic{display:inline-flex;transition:transform .15s ease;color:var(--purple-deep)}
.rm-disc-ic.open{transform:rotate(90deg)}
.rm-disc:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.rm-disc-ic{transition:none}}
.rm-fte-group small{font-weight:600;color:var(--muted);margin-left:6px}
.rm-fte-rank{padding-left:22px !important;color:#55555f}
.rm-fte-calc{font-variant-numeric:tabular-nums;color:#3a3a46}
.rm-linkbtn{appearance:none;border:none;background:none;color:var(--red);font-size:11px;font-weight:700;cursor:pointer;padding:0}
.rm-linkbtn.neutral{color:var(--purple-deep);margin-right:8px}
.rm-pmo-topgrid{display:grid;grid-template-columns:minmax(220px,260px) 1fr;gap:16px;margin-bottom:16px;align-items:stretch}
.rm-pmo-filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f1eeff;border:1px solid #cfc6ff;border-radius:10px;padding:9px 12px;margin-bottom:14px}
.rm-pmo-filterbar-l{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--purple-deep)}
.rm-pmo-activetag{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #cfc6ff;border-radius:999px;padding:4px 6px 4px 10px;font-size:11px;font-weight:700;color:#3a3a46}
.rm-pmo-activetag button{appearance:none;border:none;background:#efeafd;color:var(--purple-deep);border-radius:50%;width:16px;height:16px;line-height:1;font-size:12px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rm-pmo-clearall{margin-left:auto;appearance:none;border:1px solid var(--purple);background:#fff;color:var(--purple-deep);border-radius:999px;padding:6px 14px;font-size:11.5px;font-weight:800;cursor:pointer}
.rm-pmo-clearall:hover{background:var(--purple);color:#fff}
.rm-pmo-total{display:flex;flex-direction:column}
.rm-pmo-agencylist{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.rm-pmo-agencyrow{appearance:none;border:none;background:none;padding:0;width:100%;text-align:left;font:inherit;display:flex;align-items:center;gap:8px;font-size:11.5px;color:#3a3a46;cursor:pointer}
.rm-pmo-agencyrow i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.rm-pmo-agencyrow b{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums;color:#1a1a24}
.rm-pmo-agencyrow:hover span,.rm-pmo-agencyrow.is-on span{color:var(--purple-deep);font-weight:800}
.rm-pmo-rankchart .rm-stackbar-lab{width:130px;flex-basis:130px}
.rm-pmo-rankbtn,.rm-pmo-legendbtn{appearance:none;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}
.rm-pmo-rankchart .rm-stackbar-seg{appearance:none;border:none;padding:0;font:inherit;cursor:pointer}
.rm-pmo-rankchart .rm-stackbar-row.is-on .rm-stackbar-lab,.rm-pmo-rankbtn:hover{color:var(--purple-deep)}
.rm-pmo-legendbtn.is-on,.rm-pmo-legendbtn:hover{color:var(--purple-deep);font-weight:800}
.rm-pmo-rankchart .rm-stackbar-seg:hover{filter:brightness(1.12)}
@media(max-width:900px){.rm-pmo-topgrid{grid-template-columns:1fr}}
.rm-stackbars{display:flex;flex-direction:column;gap:10px}
.rm-stackbar-row{display:flex;align-items:center;gap:12px}
.rm-stackbar-lab{width:150px;flex:0 0 150px;font-size:12px;font-weight:700;color:#3a3a46}
.rm-stackbar-track{flex:1;display:flex;height:28px;border-radius:6px;overflow:hidden;background:#f0f0f5;border:1px solid #e7e7ee}
.rm-stackbar-seg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;min-width:2px;transition:width .2s ease}
.rm-stackbar-seg span{text-shadow:0 1px 1px rgba(0,0,0,.25);white-space:nowrap;overflow:hidden}
.rm-stackbar-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px}
.rm-stackbar-total{width:48px;flex:0 0 48px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.rm-stackbar-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.rm-stackbar-legenditem{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#3a3a46}
.rm-stackbar-legenditem i{width:11px;height:11px;border-radius:3px;display:inline-block;flex:0 0 auto}
@media(prefers-reduced-motion:reduce){.rm-stackbar-seg{transition:none}}
@media(max-width:720px){.rm-stackbar-lab{width:96px;flex-basis:96px;font-size:11px}}
.rm-intake-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.rm-intake-card{display:flex;flex-direction:column;gap:10px;border-top:3px solid var(--line);transition:border-color .15s ease,background .15s ease}
.rm-intake-card.loaded{border-top-color:var(--green)}
.rm-intake-card.dropping{border-top-color:var(--purple-deep);background:#f6f4ff;outline:2px dashed var(--purple-deep);outline-offset:-6px}
.rm-intake-drop{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;font-size:12px;font-weight:800;color:var(--purple-deep)}
.rm-intake-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rm-intake-head h3{margin:0;font-size:14px}
.rm-intake-desc{margin:0;font-size:11.5px;color:var(--muted);line-height:1.5}
.rm-intake-meta{display:flex;flex-direction:column;gap:2px}
.rm-intake-count{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.rm-intake-count small{font-size:11px;font-weight:700;color:var(--muted);margin-left:4px}
.rm-intake-file{font-size:11.5px;font-weight:700;color:#3a3a46;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-intake-when{font-size:11px;color:var(--muted)}
.rm-intake-empty{font-size:11.5px;color:var(--muted);padding:10px 0}
.rm-intake-dz{padding:16px 12px;border-radius:10px;gap:3px}
.rm-intake-dz .dz-main{font-size:12px}
.rm-intake-dz .dz-sub{font-size:10.5px}
.rm-intake-card.loaded .rm-intake-meta{padding-bottom:2px}
.rm-intake-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:4px}
.rm-intake-preview{max-height:280px}
.rm-mera{margin-top:16px}.rm-mera-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.rm-mera-totals{display:flex;gap:24px;margin-top:12px;color:var(--muted);font-size:12px}.rm-mera-table{margin-top:12px;max-height:460px}.rm-mera-table table{min-width:860px}.rm-mera-match{background:#dff4e8;color:#145c36}.rm-mera-variance{background:#fff1bf;color:#5e4800}.rm-mera-mera_only{background:#dff3f6;color:#075b66}.rm-mera-budget_only{background:#eee5f6;color:#50306b}
@media(max-width:900px){.rm-mera-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.rm-mera-metrics{grid-template-columns:1fr}.rm-mera{padding:16px 0}.rm-mera-totals{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.rm-intake-card{transition:none}}
.rm-addrow{align-items:center}
.rm-addinput{border:1px solid #d9d9e6;border-radius:7px;padding:7px 10px;font-size:12px;min-width:170px}
.rm-addinput.sm{min-width:190px;padding:5px 9px}
.rm-yearrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 12px;border-top:1px dashed #e7e7ee;margin-bottom:4px}
.rm-yearlab{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#8a8a94;margin-right:2px}
.rm-yearchip{position:relative;display:inline-flex}
.rm-yearchip-x{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;appearance:none;border:1px solid #d9d9e6;background:#fff;color:#8a8a94;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.rm-yearchip-x:hover{background:#fde8e8;border-color:#f3b9b9;color:#b3261e}
.rm-yearchip-x:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
.rm-ronote{margin-bottom:12px;background:#f4f2ff;border-color:#cfc6ff}
.rm-sourcenote{margin:0 0 14px;background:#eef8f1;border-color:#b7e0c2;font-size:13px}
.rm-demonote{background:#fff6e0;border-color:#f0d48a}
.rm-addinput:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
.rm-linkbtn:hover{text-decoration:underline}
/* Data Map — the embedded /data-map.html supplies its own chrome, so the host page is just a frame. */
.rm-datamap{position:relative}
.rm-datamap-frame{display:block;width:100%;height:calc(100vh - 148px);min-height:560px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 1px 3px rgba(20,20,30,.05)}
.rm-datamap-open{position:absolute;top:13px;right:16px;z-index:5;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 11px;font-size:11px;font-weight:700;color:var(--purple-deep);text-decoration:none;line-height:1.5}
.rm-datamap-open:hover{border-color:var(--purple-deep)}
.rm-datamap-open:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
@media (max-width:760px){.rm-datamap-frame{height:calc(100vh - 120px)}}
.rm-lockcard{max-width:520px;margin:40px auto;text-align:center}
.rm-lockcard h2{font-size:19px;font-weight:800;margin:12px 0 6px}
.rm-lockcard p{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:18px}
.rm-lock-ic{width:56px;height:56px;border-radius:50%;background:#f1eeff;color:var(--purple-deep);display:flex;align-items:center;justify-content:center;margin:0 auto}
.rm-lockform{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.rm-lockform .password-entry{flex:1;min-width:220px;text-align:left}.rm-lockform .password-entry>input{width:100%;border:1px solid #d9d9e6;border-radius:9px;padding:10px 12px;font-size:13px}
.rm-lockform .password-entry>input:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
.rm-filterchip{appearance:none;border:1px solid #d9d9e6;background:#fff;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;color:#4a4a56;cursor:pointer}
.rm-filterchip.active{background:#f1eeff;border-color:#cfc6ff;color:var(--purple-deep)}
.rm-filtermeta{margin:0 0 10px;font-size:11px;color:#7a7a87}
.rm-lane-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#5a5a66}
.rm-lane-legend span{display:flex;align-items:center;gap:6px}
.rm-lane-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.rm-defs h3{font-size:14px;font-weight:800;margin-bottom:10px}
.rm-fb-form{display:flex;flex-direction:column;gap:12px}
.rm-fb-row{display:flex;gap:16px;flex-wrap:wrap}
.rm-fb-row label,.rm-fb-msg{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#8a8a94}
.rm-fb-row select{font:inherit;text-transform:none;letter-spacing:normal;font-weight:600;color:#1a1a24;border:1px solid #d9d9e6;border-radius:8px;padding:8px 10px;min-width:200px}
.rm-fb-msg textarea{font:inherit;text-transform:none;letter-spacing:normal;font-weight:400;color:#1a1a24;border:1px solid #d9d9e6;border-radius:8px;padding:10px 12px;resize:vertical}
.rm-fb-msg textarea:focus-visible,.rm-fb-row select:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
.rm-fb-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.rm-fb-list{display:flex;flex-direction:column;gap:10px}
.rm-fb-item{padding:14px 16px}
.rm-fb-item-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rm-fb-page{font-size:11.5px;font-weight:700;color:#5a5a66}
.rm-fb-msgtext{font-size:13px;color:#2a2a36;line-height:1.5;margin:0 0 10px;white-space:pre-wrap}
.rm-fb-item-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rm-fb-statusbtns{display:flex;gap:4px}
.rm-defgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px;font-size:12px;color:#55555f;line-height:1.5}
.rm-defs b{color:#2a2a34}
.rm-foot{margin-top:8px}
.rm-home{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-size:13px;font-weight:700;color:var(--purple-deep);cursor:pointer}
.rm-home:hover{background:#faf9ff}
.rm-db-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.rm-db-readonly{display:inline-flex;align-items:center;gap:6px;border:1px solid #b8ddc7;background:#eef9f2;color:#176c38;border-radius:5px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.rm-db-locked{display:inline-flex;align-items:center;gap:6px;border:1px solid #d6b7b7;background:#fff3f3;color:#8d1818;border-radius:5px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.rm-db-access-loading{min-height:300px;display:grid;place-items:center;color:#686874;font-size:13px}
.rm-db-access{width:min(440px,100%);margin:54px auto;padding:28px;border:1px solid #d5d5dc;border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(20,20,30,.09)}
.rm-db-access-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:#f2f0fa;color:var(--purple-deep)}
.rm-db-access h3{font-size:20px}.rm-db-access p{margin-top:6px;color:#686874;font-size:13px;line-height:1.5}
.rm-db-access-field{margin-top:22px}.rm-db-access-field label{display:block;margin-bottom:7px;color:#33333e;font-size:12px;font-weight:800}
.rm-db-access-field input{width:100%;height:44px;border:1px solid #bdbdc7;border-radius:6px;background:#fff;padding:9px 11px;color:#20202a;font:inherit}
.rm-db-access-field input:focus{border-color:var(--purple-deep);outline:2px solid rgba(95,55,145,.18);outline-offset:1px}
.rm-db-show-password{display:flex;align-items:center;gap:8px;margin-top:10px;color:#555560;font-size:12px;cursor:pointer}.rm-db-show-password input{width:16px;height:16px;accent-color:var(--purple-deep)}
.rm-db-access-error{margin-top:14px;padding:10px 12px;border-left:4px solid #c62828;background:#fff0f0;color:#8d1818;font-size:12px;line-height:1.4}
.rm-db-access>button{width:100%;min-height:44px;margin-top:20px;border:0;border-radius:6px;background:var(--ey-yellow);color:#1a1a24;font:inherit;font-size:13px;font-weight:850;cursor:pointer}.rm-db-access>button:disabled{opacity:.55;cursor:wait}.rm-db-access>button:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}
.rm-db-workbench{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:620px;border:1px solid #cfcfd7;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(20,20,30,.08)}
.rm-db-schema{display:flex;flex-direction:column;min-width:0;background:#1c1c25;color:#e5e5eb;border-right:1px solid #353540}
.rm-db-schemahead{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #353540}
.rm-db-schemahead span,.rm-db-resulthead span{display:block;color:#92929f;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.rm-db-schemahead b{display:block;margin-top:3px;font-size:14px}
.rm-db-schemahead button{width:32px;height:32px;border:1px solid #41414e;border-radius:5px;background:#282833;color:#d6d6df;display:grid;place-items:center;cursor:pointer}
.rm-db-schemahead button:hover{border-color:var(--ey-yellow);color:var(--ey-yellow)}
.rm-db-search{display:flex;align-items:center;gap:7px;margin:12px 12px 6px;padding:0 9px;border:1px solid #41414e;border-radius:5px;background:#262630;color:#92929f}
.rm-db-search input{width:100%;min-width:0;height:34px;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:12px}
.rm-db-search input::placeholder{color:#858590}
.rm-db-tablecount{padding:6px 14px;color:#858590;font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.rm-db-tablelist{overflow:auto;padding:0 7px 10px}
.rm-db-schemafiles-title{margin-top:6px;border-top:1px solid #353540;padding-top:12px}
.rm-db-schemafiles{flex:0 0 auto;max-height:235px}
.rm-db-tablelist button{width:100%;min-height:46px;display:flex;align-items:center;gap:9px;border:0;border-left:3px solid transparent;border-radius:4px;background:transparent;color:#cfcfd8;padding:7px 9px;text-align:left;cursor:pointer}
.rm-db-tablelist button:hover{background:#292934;color:#fff}
.rm-db-tablelist button.active{border-left-color:var(--ey-yellow);background:#30303b;color:#fff}
.rm-db-tablelist button.active>.ico{color:var(--ey-yellow)}
.rm-db-tablelist button>span{min-width:0}
.rm-db-tablelist b,.rm-db-tablelist small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-db-tablelist b{font-size:12px;font-weight:700}.rm-db-tablelist small{margin-top:2px;color:#8f8f9c;font-size:9.5px}
.rm-db-surface{display:flex;flex-direction:column;min-width:0;background:#f7f7f9}
.rm-db-toolbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #dddde3;background:#fff}
.rm-db-tabs{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #d8d8df;border-radius:6px;background:#f2f2f5}
.rm-db-tabs button{min-height:34px;border:0;border-radius:4px;background:transparent;padding:7px 14px;color:#60606c;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.rm-db-tabs button.active{background:#1c1c25;color:#fff}
.rm-db-querytable{display:inline-flex;align-items:center;gap:6px;min-height:36px;border:1px solid #cfcfd7;border-radius:5px;background:#fff;padding:7px 11px;color:#33333e;font:inherit;font-size:11.5px;font-weight:750;cursor:pointer}
.rm-db-querytable:hover{border-color:#8f8f9c;background:#fafafa}
.rm-db-error{margin:12px 16px 0;padding:10px 12px;border-left:4px solid #c62828;background:#fff0f0;color:#8d1818;font-size:12px;line-height:1.4}
.rm-db-resulthead{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px}
.rm-db-resulthead h3{margin-top:3px;font-size:17px;font-weight:800;overflow-wrap:anywhere}
.rm-db-range{font-size:11px;color:#686874;white-space:nowrap}
.rm-db-gridwrap{min-height:340px;max-height:485px;overflow:auto;border-top:1px solid #d8d8df;border-bottom:1px solid #d8d8df;background:#fff}
.rm-db-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:11.5px}
.rm-db-grid th{position:sticky;top:0;z-index:2;min-width:130px;max-width:260px;padding:9px 12px;border-right:1px solid #dddde3;border-bottom:2px solid #a9a9b3;background:#ececf0;color:#292934;text-align:left;vertical-align:bottom}
.rm-db-grid th span,.rm-db-grid th small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-db-grid th span{font-weight:800}.rm-db-grid th small{margin-top:2px;color:#777783;font-size:8.5px;font-weight:700;text-transform:uppercase}
.rm-db-grid td{height:35px;max-width:320px;padding:7px 12px;border-right:1px solid #ededf1;border-bottom:1px solid #ededf1;color:#373742;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-db-grid tbody tr:nth-child(even) td{background:#fafafb}.rm-db-grid tbody tr:hover td{background:#fffbdc}
.rm-db-empty,.rm-db-loading{min-height:150px;display:grid;place-items:center;padding:24px;color:#777783;font-size:12px;text-align:center}
.rm-db-loading{min-height:340px}
.rm-db-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px}
.rm-db-pager span{min-width:60px;text-align:center;color:#686874;font-size:11px;font-weight:700}
.rm-db-pager button{min-height:34px;border:1px solid #cfcfd7;border-radius:5px;background:#fff;padding:6px 11px;color:#33333e;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}
.rm-db-pager button:disabled{opacity:.45;cursor:not-allowed}
.rm-data-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:4px 0 12px;color:#686874;font-size:11px}
.rm-data-search{display:grid;gap:5px;min-width:min(360px,100%);color:#555560;font-size:11px;font-weight:800}
.rm-data-search input,.rm-data-edit-grid input,.rm-data-edit-grid select{min-height:36px;border:1px solid #cfcfd7;border-radius:5px;background:#fff;padding:7px 10px;color:#292934;font:inherit;font-size:12px}
.rm-data-table-wrap{max-height:calc(100vh - 340px);min-height:260px;border-top:1px solid #d8d8df}
.rm-data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:11.5px}
.rm-data-table th{position:sticky;top:0;z-index:2;white-space:nowrap;background:#f4f4f7}
.rm-data-table td{max-width:240px;vertical-align:middle}
.rm-data-table td:first-child{min-width:185px}.rm-data-table td:last-child{min-width:142px}
.rm-data-table .rm-detail-actions{gap:6px;flex-wrap:nowrap}
.rm-data-edit-modal{width:min(900px,calc(100vw - 32px))}
.rm-data-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.rm-data-assignment-editor{display:grid;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #dedee5}
.rm-data-assignment-editor h3{font-size:14px}.rm-data-assignment-editor>p{margin-top:-6px;color:#686874;font-size:11px;line-height:1.45}
.rm-data-assignment-row{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(150px,1fr) minmax(180px,1.2fr);align-items:end;gap:10px;padding:10px;border:1px solid #dedee5;border-radius:5px;background:#fafafc}
.rm-data-assignment-heading{align-self:center;min-width:0;font-size:11px;font-weight:800;overflow-wrap:anywhere}
.rm-data-assignment-heading small{display:block;margin-top:3px;color:#686874;font-size:9.5px;font-weight:600}
.rm-data-assignment-row .field{display:grid;gap:4px;color:#555560;font-size:10px;font-weight:800}
.rm-data-assignment-row .field input{width:100%;min-width:0;min-height:34px;border:1px solid #cfcfd7;border-radius:5px;padding:6px 8px;font:inherit;font-size:11px}
.rm-data-legacy-mapping{grid-template-columns:1fr}
.rm-data-edit-grid .field{display:grid;gap:5px;min-width:0;color:#4a4a55;font-size:11px;font-weight:800}
.rm-data-edit-grid input,.rm-data-edit-grid select{width:100%;min-width:0}
.rm-data-confirm{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(20,20,28,.46)}
.rm-data-confirm__dialog{width:min(440px,100%);padding:22px;border:1px solid #d5d5dc;border-radius:8px;background:#fff;box-shadow:0 16px 48px rgba(0,0,0,.2)}
.rm-data-confirm__dialog h3{font-size:18px}.rm-data-confirm__dialog p{margin:10px 0 20px;color:#5f5f69;font-size:13px;line-height:1.5}
.rm-data-delete-button{min-height:36px;border:1px solid #a1352b;border-radius:5px;background:#a1352b;padding:7px 12px;color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.rm-data-delete-button:disabled{opacity:.55;cursor:wait}
.rm-data-tabs{display:flex;gap:4px;margin:0 0 14px;border-bottom:1px solid #d8d8df}
.rm-data-tabs button{min-height:38px;border:0;border-bottom:3px solid transparent;background:transparent;padding:8px 14px;color:#62626d;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.rm-data-tabs button.active{border-bottom-color:var(--ey-yellow);color:#25252e}
.rm-data-tabs button:focus-visible{outline:2px solid #6b5a9a;outline-offset:2px}
.rm-data-dictionary-note{margin:0 0 12px;color:#666672;font-size:12px;line-height:1.45}
.rm-data-table td.rm-data-engagement-list{min-width:280px;max-width:460px;white-space:normal}
.rm-data-engagement-list span{display:block;padding:4px 0;border-bottom:1px solid #ededf1}
.rm-data-engagement-list span:last-child{border-bottom:0}
.rm-data-engagement-list small{display:block;color:#686874;font-size:10px;line-height:1.35}
.rm-dictionary-input{width:min(380px,100%);min-width:210px;min-height:34px;border:1px solid #cfcfd7;border-radius:5px;background:#fff;padding:6px 9px;color:#292934;font:inherit;font-size:12px}
.rm-data-dictionary .rm-data-table-wrap{max-height:calc(100vh - 390px)}
.rm-db-editorhead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 8px;color:#555560;font-size:11px;font-weight:800}
.rm-db-editorhead label:last-child{display:flex;align-items:center;gap:8px}
.rm-db-editorhead select{height:32px;border:1px solid #cfcfd7;border-radius:5px;background:#fff;padding:4px 8px;font:inherit;color:#292934}
.rm-db-editor{width:calc(100% - 32px);height:160px;margin:0 16px;border:1px solid #33333e;border-radius:6px;outline:0;resize:vertical;background:#20202a;color:#f4f4f7;padding:14px 16px;font:13px/1.6 Consolas,"Courier New",monospace;tab-size:2}
.rm-db-editor:focus{border-color:var(--ey-yellow);box-shadow:0 0 0 2px rgba(255,230,0,.22)}
.rm-db-schema-sql{min-height:420px;max-height:520px;margin:0;padding:18px;overflow:auto;border-top:1px solid #d8d8df;background:#20202a;color:#f4f4f7;font:12px/1.65 Consolas,"Courier New",monospace;white-space:pre}
.rm-db-assistant-head{display:flex;align-items:center;gap:12px;padding:18px 18px 10px}.rm-db-assistant-head h3{font-size:17px}.rm-db-assistant-head p{margin-top:3px;color:#686874;font-size:12px}
.rm-db-assistant-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:#f1eef8;color:var(--purple-deep)}
.rm-db-assistant-form{padding:10px 18px 18px}.rm-db-assistant-form>label{display:block;margin-bottom:7px;color:#33333e;font-size:11px;font-weight:800;text-transform:uppercase}
.rm-db-assistant-form textarea{width:100%;height:104px;resize:vertical;border:1px solid #bfc0c9;border-radius:6px;background:#fff;padding:12px 14px;color:#24242d;font:13px/1.5 inherit}.rm-db-assistant-form textarea:focus{border-color:var(--purple-deep);outline:2px solid rgba(95,55,145,.16);outline-offset:1px}
.rm-db-assistant-form>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.rm-db-assistant-form>div>span{color:#858590;font-size:10px}
.rm-db-assistant-form button,.rm-db-assistant-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #c8c8d0;border-radius:5px;background:#fff;padding:8px 14px;color:#292934;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.rm-db-assistant-form button{border:0;background:var(--ey-yellow)}.rm-db-assistant-form button:disabled{opacity:.55;cursor:wait}
.rm-db-assistant-draft{margin:0 18px 18px;border:1px solid #d5d5dc;border-radius:7px;overflow:hidden;background:#fff}.rm-db-assistant-summary{display:flex;flex-direction:column;gap:4px;padding:12px 14px;color:#555560;font-size:12px}.rm-db-assistant-summary b{color:#292934}
.rm-db-assistant-draft pre{max-height:230px;margin:0;overflow:auto;border-block:1px solid #3a3a45;background:#20202a;color:#f4f4f7;padding:14px 16px;font:12px/1.6 Consolas,"Courier New",monospace;white-space:pre-wrap}
.rm-db-assumptions{display:flex;flex-direction:column;gap:4px;padding:10px 14px;color:#666672;font-size:11px}.rm-db-assumptions b{color:#33333e}.rm-db-assumptions span:before{content:"• ";color:var(--purple-deep)}
.rm-db-assistant-actions{display:flex;justify-content:flex-end;gap:8px;padding:11px 14px;border-top:1px solid #e2e2e7}.rm-db-assistant-actions button.primary{border-color:var(--purple-deep);background:var(--purple-deep);color:#fff}
.rm-db-runbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px 14px;color:#6d6d78;font-size:11px}
.rm-db-runbar button{display:inline-flex;align-items:center;gap:7px;min-height:38px;border:0;border-radius:5px;background:var(--ey-yellow);color:#1a1a24;padding:8px 16px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.rm-db-runbar button:disabled{opacity:.55;cursor:wait}
.rm-db-tabs button:focus-visible,.rm-db-schema button:focus-visible,.rm-db-querytable:focus-visible,.rm-db-pager button:focus-visible,.rm-db-runbar button:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}
@media(max-width:900px){.rm-db-workbench{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:700px){.rm-db-workbench{grid-template-columns:1fr}.rm-db-schema{max-height:245px;border-right:0;border-bottom:1px solid #353540}.rm-db-tablelist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.rm-db-toolbar{align-items:stretch;flex-direction:column}.rm-db-querytable{align-self:flex-start}.rm-db-resulthead{align-items:flex-start;flex-direction:column}.rm-db-range{white-space:normal}.rm-db-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.rm-db-tabs button{width:100%}.rm-db-editor{height:190px}.rm-db-gridwrap{max-height:420px}.rm-db-assistant-actions{flex-direction:column}.rm-db-assistant-actions button{width:100%}.rm-data-toolbar{align-items:stretch;flex-direction:column}.rm-data-search{min-width:0}.rm-data-edit-grid,.rm-data-assignment-row{grid-template-columns:1fr}.rm-data-table-wrap{max-height:55vh}}
@media(max-width:1080px){.rm-kpirow{grid-template-columns:repeat(2,1fr)}.rm-grid2{grid-template-columns:1fr}.rm-defgrid{grid-template-columns:1fr}.rm-headright{flex-direction:column;align-items:stretch}}
/* leadership briefing launcher + modal */
.rm-headright{display:flex;align-items:stretch;gap:12px}
.rm-brieflaunch{display:flex;flex-direction:column;justify-content:center;gap:1px;background:linear-gradient(135deg,var(--purple-deep),#3a2fa0);color:#fff;border:none;border-radius:14px;padding:12px 18px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(75,63,181,.28)}
.rm-brieflaunch:hover{filter:brightness(1.07)}
.rm-brieflaunch-ic{display:inline-flex;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.16);align-items:center;justify-content:center;margin-bottom:5px}
.rm-brieflaunch b{font-size:14px;font-weight:800;line-height:1.1;max-width:160px}
.rm-brieflaunch small{font-size:11px;color:#d8d4f5;margin-top:2px}
.rmbrief{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.rmbrief-backdrop{position:absolute;inset:0;background:rgba(10,12,24,.55);backdrop-filter:blur(3px)}
.rmbrief-card{position:relative;width:min(1200px,96vw);max-height:92vh;overflow:auto;background:#f4f4f7;border-radius:18px;box-shadow:0 40px 100px rgba(0,0,0,.4);padding:22px 24px}
.rmbrief-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.rmbrief-head h2{font-size:22px;font-weight:800;margin-top:3px}
.rmbrief-head p{font-size:13px;color:var(--muted);margin-top:3px}
.rmbrief-close{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 14px;font-size:12.5px;font-weight:700;color:#3a3a46;cursor:pointer;flex-shrink:0}
.rmbrief-close:hover{background:#fff0f0;color:var(--red)}
.rmbrief-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.rmbk{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;border-top:3px solid var(--purple)}
.rmbk.g{border-top-color:var(--green)}.rmbk.b{border-top-color:#5b9bd5}.rmbk.r{border-top-color:var(--red)}
.rmbk strong{font-size:26px;font-weight:850;display:block}
.rmbk.r strong{color:var(--red)}.rmbk.g strong{color:var(--green)}
.rmbk b{font-size:12px;font-weight:700}
.rmbk span{display:block;font-size:11px;color:var(--muted)}
.rmbrief-build{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:14px}
.rmbrief-build h3{font-size:14px;font-weight:800}
.rmbrief-build p{font-size:12px;color:var(--muted);margin-top:2px}
.rmbrief-presets{display:flex;gap:8px;flex-wrap:wrap}
.rmbrief-presets button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:700;color:#3a3a46;cursor:pointer}
.rmbrief-presets button.on{background:var(--purple-deep);color:#fff;border-color:var(--purple-deep)}
.rmbrief-presets button.reset{color:var(--purple);border-color:#ddd8f4}
.rmbrief-main{display:grid;grid-template-columns:262px 1fr;gap:16px;align-items:start}
.rmbrief-colhead{margin-bottom:10px}
.rmbrief-colhead b{font-size:13px;font-weight:800;display:block}
.rmbrief-colhead span{font-size:11.5px;color:var(--muted)}
.rmbrief-lib{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.rmbrief-liblist{display:flex;flex-direction:column;gap:8px}
.rmbrief-libcard{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.rmbrief-libcard.on{background:#faf9ff;border-color:#ddd8f4}
.rmbrief-libtxt{flex:1;min-width:0}
.rmbrief-libtxt b{font-size:12.5px;font-weight:700;display:block}
.rmbrief-libtxt span{font-size:11px;color:var(--muted)}
.rmbrief-libcard button{width:26px;height:26px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--purple-deep);font-size:15px;font-weight:800;cursor:pointer;flex-shrink:0}
.rmbrief-libcard.on button{background:var(--green);color:#fff;border-color:var(--green)}
.rmbrief-canvaswrap{min-width:0}
.rmbrief-canvas{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}
.rmbrief-empty{grid-column:1/-1;border:1.5px dashed #cfcfda;border-radius:12px;padding:40px;text-align:center;color:var(--muted);font-size:13px}
.rmbrief-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:grab}
.rmbrief-tile:active{cursor:grabbing}
.rmbrief-tile-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.rmbrief-grip{color:#bcbcc8;font-size:12px;letter-spacing:-2px}
.rmbrief-tile-head h4{flex:1;font-size:13px;font-weight:800}
.rmbrief-tile-head button{border:none;background:none;color:#9a9aa4;font-size:14px;cursor:pointer}
.rmbrief-tile-head button:hover{color:var(--red)}
.rmb-stats{display:flex;flex-wrap:wrap;gap:8px}
.rmb-stats>div{flex:1;min-width:52px;background:#f4f4f7;border-radius:9px;padding:8px 6px;text-align:center}
.rmb-stats strong{display:block;font-size:18px;font-weight:850}
.rmb-stats span{font-size:10px;color:var(--muted)}
.rmb-stats .tone-r strong{color:var(--red)}.rmb-stats .tone-g strong{color:var(--green)}.rmb-stats .tone-b strong{color:#2e5aac}
.rmb-legendmini{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:10.5px;color:#5a5a66}
.rmb-legendmini span{display:flex;align-items:center;gap:5px}
.rmb-legendmini i{width:9px;height:9px;border-radius:2px;display:inline-block}
.rmb-bar,.rmb-srow{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.rmb-l{width:104px;font-size:11px;color:#3a3a46;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rmb-track{flex:1;height:9px;border-radius:5px;background:#ececf1;overflow:hidden;display:flex}
.rmb-track i{height:100%}
.rmb-v{width:40px;text-align:right;font-size:11px;font-weight:800}
.rmb-foot{font-size:11px;color:var(--muted);margin-top:6px}
.rmb-foot b{color:#1a1a24}
.rmb-redtxt{color:var(--red)!important}.rmb-greentxt{color:var(--green)!important}
.rmb-list{display:flex;flex-direction:column;gap:7px}
.rmb-li{display:flex;align-items:center;gap:8px;font-size:12px}
.rmb-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.dot-ok{background:var(--green)}.dot-warn{background:var(--amber)}.dot-risk{background:var(--red)}
.rmb-li-l{flex:1;font-weight:700}
.rmb-li b{font-size:14px}
.rmb-flow{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:center}
.rmb-flow>div{flex:1}
.rmb-flow strong{display:block;font-size:20px;font-weight:850}
.rmb-flow span{font-size:10px;color:var(--muted)}
.rmb-arrow{color:#bcbcc8;font-size:16px}
.rm-shot-wrap{position:relative;border:1px solid #e4e4ec;border-radius:10px;overflow:hidden;background:#f4f4f8}
.rm-shot-img{display:block;width:100%;height:auto}
.rm-shot-dot{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:var(--purple-deep,#4b2e83);color:#fff;border:2px solid #fff;font-weight:800;font-size:11.5px;line-height:1;cursor:help;box-shadow:0 2px 8px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:0}
.rm-shot-dot:hover{background:#2f1c56}
.rmb-ranklist{display:flex;flex-direction:column;gap:9px}
.rmb-rankrow{display:flex;align-items:center;gap:10px}
.rmb-rankmeta{flex:1;min-width:0}
.rmb-rankmeta b{font-size:12px;font-weight:700}
.rmb-rankmeta .rm-bstack{margin:5px 0 0;height:9px}
@media(max-width:820px){.rmbrief-kpis{grid-template-columns:repeat(2,1fr)}.rmbrief-main{grid-template-columns:1fr}}
/* Named transfer person grid on Transfer Tracking */
.rm-named-card{margin-bottom:16px}
.rm-named-kpis{margin-top:4px}
.rm-named-toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin:4px 0 12px}
.rm-named-search{min-width:220px;flex:0 1 280px}
.rm-named-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px;padding:10px 12px;background:#faf9ff;border:1px solid #e7e4f7;border-radius:10px}
.rm-named-add .rm-addinput,.rm-named-add select.rm-addinput{min-width:120px;flex:1 1 120px}
.rm-named-wrap{max-height:560px;overflow:auto}
.rm-named-table{font-size:12px;min-width:980px}
.rm-named-table th{white-space:nowrap}
.rm-named-loc td{vertical-align:middle}
.rm-named-locfilters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rm-named-locfilters .rm-filterchip{padding:3px 9px;font-size:11px}
.rm-named-locfilters-hint,.rm-named-loc-hint{font-size:11px;color:var(--muted);margin-left:4px}
.rm-named-row td{background:#fff}
.rm-named-row.status-early{box-shadow:inset 3px 0 0 #f2b900}
.rm-named-row.status-high{box-shadow:inset 3px 0 0 #1f9d55}
.rm-named-row.status-completed{box-shadow:inset 3px 0 0 #5b9bd5}
.rm-named-row.status-withdrawn{box-shadow:inset 3px 0 0 #c62828;opacity:.78}
.rm-named-name b{font-weight:800;color:#1a1a24}
.rm-named-select,.rm-named-noteinput{width:100%;min-width:110px;border:1px solid #d9d9e6;border-radius:6px;padding:4px 6px;font:inherit;font-size:12px;background:#fff}
.rm-named-noteinput{min-width:140px}
.rm-named-select:focus-visible,.rm-named-noteinput:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
.rm-named-actions{white-space:nowrap}
.rm-named-actions .rm-linkbtn{margin-right:6px}
.rm-named-bulk{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px 14px;border:1.5px dashed #d5d0ef;border-radius:10px;background:#faf9ff}
.rm-named-bulk-copy{display:flex;flex-direction:column;gap:4px;max-width:640px;font-size:12px;line-height:1.4;color:#3a3a46}
.rm-named-bulk-copy b{font-size:13px;color:#1a1a24}
.rm-named-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rm-named-bulk .rm-upload-btn.is-busy{opacity:.7;pointer-events:none}
.rm-named-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:#3a3a46}
.rm-named-legend b{color:#1a1a24}
.rm-named-empty td{background:#fafafa}
.rm-named-nameinput{width:100%;min-width:140px;border:1px solid #d9d9e6;border-radius:6px;padding:5px 8px;font:inherit;font-size:12.5px;font-weight:750;color:#1a1a24;background:#fff}
.rm-named-nameinput.is-tbd{border-color:#f2b900;background:#fffbeb;color:#8a6a00}
.rm-named-nameinput:focus-visible{outline:2px solid var(--purple-deep);outline-offset:1px}
.rm-named-row.is-tbd td{background:#fffdf5}
.rm-topnav{margin:4px 0 14px}
.rm-navtiles{margin-bottom:12px}
.rm-navtile{appearance:none;border:1.5px solid #e4e4ec;background:#fff;text-align:left;cursor:pointer;font:inherit;position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}
.rm-navtile:hover{border-color:#cfc6ff;box-shadow:0 4px 14px rgba(40,30,80,.08)}
.rm-navtile.active{border-color:var(--purple-deep);box-shadow:0 0 0 2px rgba(75,46,131,.12);background:#faf9ff}
.rm-navtile:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}
.rm-navtile .rm-kpi-val{font-size:28px}
.rm-kpi-mini{font-size:11px;color:#5a5a66;margin-top:4px;font-weight:650}
.rm-navtile-cta{position:absolute;top:10px;right:12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--purple-deep);opacity:.75}
.rm-navtile.active .rm-navtile-cta{opacity:1}
.rm-channel-summaries{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.rm-channel{border:1.5px solid #e4e4ec;border-radius:12px;padding:12px 14px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.rm-channel:hover{border-color:#cfc6ff;background:#fcfbff}
.rm-channel.active{border-color:var(--purple-deep);background:#faf9ff}
.rm-channel:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}
.rm-channel-h{font-size:13px;font-weight:850;color:#1a1a24;margin-bottom:8px}
.rm-channel-b{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#3a3a46}
.rm-channel-b b{color:#1a1a24;font-weight:850}
.rm-channel-f{margin-top:8px;font-size:11px;color:var(--muted);line-height:1.35}
@media(max-width:900px){.rm-channel-summaries{grid-template-columns:1fr}}
/* External Pipeline page — same solid tiles as Summary shortage table */
.rm-ep-card{overflow:hidden}
.rm-ep-live-toggle{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-size:12px;font-weight:700;color:#3a3a46;cursor:pointer;user-select:none;white-space:nowrap}
.rm-ep-live-toggle input{accent-color:var(--purple-deep)}
.rm-ep-bottomline{margin:10px 0 14px;padding:10px 14px;border-radius:8px;background:#fff8e1;border-left:4px solid #f2b900;font-size:13px;line-height:1.45;color:#3a3a46}
.rm-ep-bottomline b{color:#1a1a24}
.rm-ep-title{font-size:12px;font-weight:850;letter-spacing:.4px;text-transform:uppercase;color:#5a5a66;margin:4px 0 10px}
.rm-ep-wrap{overflow-x:auto}
.rm-ep-table{min-width:720px}
.rm-ep-table .rmc-rank b{font-size:13px}
.rm-ep-table .rmc-rank small{font-size:9.5px}
.rm-ep-tile-total{background:#1f4e6b;color:#fff}
.rm-ep-tile-total-lite{background:#d5e0e8;color:#9a9aa0}
.rm-ep-tile-ok{background:#2f7d32;color:#fff}
.rm-ep-notes{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr;gap:4px;font-size:11.5px;line-height:1.4;color:#3a3a46}
.rm-ep-notes p{margin:0}
.rm-ep-notes b{color:#1a1a24}
@media(min-width:1100px){.rm-ep-notes{grid-template-columns:1fr 1fr;gap:6px 18px}}
/* TER Plan and DoW onboarding process */
.ter-money{font-size:21px!important;letter-spacing:-.5px}
.rm-ter-table{min-width:1120px}
.rm-ter-table td,.rm-ter-table th{white-space:nowrap}
.rm-ter-note{margin-top:12px;font-size:11.5px;color:#5a5a66;line-height:1.45}
.rm-ter-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 14px;margin:4px 0 14px}
.rm-ter-settings label{display:flex;flex-direction:column;gap:5px;color:#3a3a46;font-size:11.5px;font-weight:750}
.rm-ter-settings input{border:1px solid #d9d9e6;border-radius:6px;padding:6px 8px;font:inherit;background:#fff}
.rm-ter-settings label small{color:#747480;font-size:10.5px;font-weight:500;line-height:1.35}
.rm-ter-pipeline-assumptions{margin:16px 0;padding:14px;border:1px solid #d9d9e6;border-radius:8px;background:#fafafd}
.rm-ter-pipeline-assumptions .page-head{margin-bottom:10px}
.rm-ter-pipeline-assumptions h3{margin:0;font-size:14px;color:#2e2e38}
.rm-ter-pipeline-assumptions .rm-ter-settings{grid-template-columns:repeat(3,minmax(210px,1fr));margin-bottom:0}
.rm-ter-rate-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:4px 0 16px}
.rm-ter-rate-card{padding:12px;border:1px solid #d9d9e6;border-radius:8px;background:#f8f7fb}
.rm-ter-rate-card h3{margin:0 0 10px;font-size:13px;color:#2e2e38}
.rm-ter-rate-card .rm-ter-settings{grid-template-columns:repeat(2,minmax(120px,1fr));margin:0}
.rm-ter-roster{min-width:1100px}
.rm-ter-roster .rm-named-noteinput[type="number"]{min-width:82px;text-align:right}
.rm-revenue-comparison{margin-bottom:16px}
.rm-revenue-kpis{margin-bottom:14px}
.rm-portfolio-tnr-breakdown{margin-top:14px}
.rm-portfolio-tnr-table{min-width:760px}
.rm-portfolio-tnr-table tfoot td{background:#f5f4fb;border-top:2px solid #5b36a8}
.rm-margin-table tfoot td{background:#f5f4fb;border-top:2px solid #5b36a8}
.rm-revenue-table{min-width:1320px}
.rm-revenue-table td,.rm-revenue-table th{white-space:nowrap}
.rm-contract-tracking{margin-top:16px}
.rm-contract-kpis{margin-bottom:14px}
.rm-contract-table{min-width:1080px}
.rm-contract-table td,.rm-contract-table th{white-space:nowrap}
.rm-ter-overview-group{margin:18px 0 10px}
.rm-ter-overview-group h3{margin:0 0 3px;font-size:14px;color:#2e2e38}
.rm-ter-combined-note{margin-top:2px;padding:10px 12px;border-radius:7px;background:#f3f1f8;color:#3a3a46;font-size:12px}
.rm-revenue-table td:first-child small{display:block;margin-top:3px;color:#4b2e83;font-size:9px;font-weight:800;text-transform:uppercase}
.rm-revenue-table .rm-current-period td{background:#f3effb}
.rm-revenue-table .rm-current-period td:first-child{border-left:4px solid #4b2e83}
.rm-revenue-table tfoot td{background:#f0eef8;border-top:2px solid #4b2e83}
.rm-fte-capacity{margin-bottom:16px}
.rm-fte-kpis{margin-bottom:14px}
.rm-fte-warning{margin:0 0 16px;padding:10px 13px;border-left:4px solid #f2b900;background:#fff8e1;color:#4a4a55;font-size:11.5px;line-height:1.45}
.rm-fte-warning b{color:#1a1a24}
.rm-fte-capacity h3{font-size:15px}
.rm-fte-gap-table{min-width:900px;margin-bottom:18px}
.rm-sub-gap-table{min-width:1200px}
.rm-fte-gap-table td,.rm-fte-gap-table th{white-space:nowrap}
.rm-fte-gap-table .rm-fte-section td{border-top:2px solid #d9d9e2}
.rm-fte-gap-table tfoot td{background:#f0eef8;border-top:2px solid #4b2e83}
.rm-gap-short{color:#b42318!important;font-weight:850}
.rm-gap-overburn{color:#2e5aac!important;font-weight:850}
.rm-gap-ok{color:#18733d!important;font-weight:850}
.rm-fte-subhead{margin-top:8px}
.rm-onboard-process{border-left:4px solid #ffe600}
.rm-pmo-onboarding-tracker{margin-bottom:16px;border-top:3px solid var(--purple-deep)}
.rm-onboarding-status-wrap{max-height:560px;overflow:auto;border:1px solid var(--line)}
.rm-onboarding-status-table{width:max-content;min-width:100%;font-size:11px}
.rm-onboarding-status-table th{position:sticky;top:0;z-index:2;min-width:135px;white-space:nowrap;background:#f4f4f7}
.rm-onboarding-status-table th:first-child{min-width:190px}
.rm-onboarding-status-table td{max-width:240px;white-space:nowrap}
.rm-onboarding-status-table select{width:100%;min-width:135px;height:31px;border:1px solid #cfcfd8;border-radius:4px;background:#fff;padding:0 7px;font:11px inherit}
.rm-onboarding-assignment{overflow:hidden;text-overflow:ellipsis}
.rm-onboarding-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;font-size:11px;color:var(--muted)}
.rm-onboarding-pager button{min-height:32px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:5px 11px;color:var(--purple-deep);font:700 11px inherit;cursor:pointer}
.rm-onboarding-pager button:disabled{opacity:.45;cursor:not-allowed}
.rm-contracts{display:grid;gap:14px}.rm-contract-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.rm-contract{display:grid;gap:14px}.rm-contract-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.rm-contract-head h3{font-size:18px;margin:2px 0 4px}.rm-contract-number{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.rm-contract-table{min-width:900px}.rm-contract-mods{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.rm-contract-mods>span{border-left:2px solid var(--ey-yellow);padding-left:8px}.rm-contract-notifications,.rm-contract-access{display:grid;gap:12px}.rm-contract-notification{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line)}.rm-contract-notification div{display:grid;gap:2px}.rm-contract-notification span,.rm-contract-notification time{font-size:12px;color:var(--muted)}.rm-contract-access-form{display:grid;grid-template-columns:1fr 1.2fr 1fr 180px auto;gap:8px}.rm-contract-access-form input,.rm-contract-access-form select,.rm-contract-form-grid input,.rm-contract-form-grid select,.rm-contract-form-grid textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:#fff;padding:9px;color:var(--ink)}.rm-contract-modal{width:min(900px,calc(100vw - 32px))}.rm-contract-modal h4{margin:18px 0 8px}.rm-contract-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rm-contract-form-grid label{display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.rm-contract-form-grid textarea{min-height:72px;resize:vertical}.rm-contract-wide{grid-column:span 3}.rm-contract-check{display:flex;align-items:center;gap:8px;margin:14px 0;font-size:13px}.rm-contract-check input{width:auto}
@media(max-width:1050px){.rm-contract-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-contract-access-form{grid-template-columns:1fr 1fr}.rm-contract-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-contract-wide{grid-column:span 2}}
@media(max-width:650px){.rm-contract-head,.rm-contract-notification{display:grid}.rm-contract-kpis,.rm-contract-access-form,.rm-contract-form-grid{grid-template-columns:1fr}.rm-contract-wide{grid-column:auto}}
.rm-pmo-process-top{margin-bottom:18px}
.rm-add-resource-btn{min-width:118px;padding:9px 14px}
.rm-add-roster-modal{width:min(840px,calc(100vw - 32px))}
.rm-add-roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}
.rm-add-roster-name{grid-column:span 2}
.rm-add-roster-grid .field label{font-size:11px}
.rm-add-roster-grid .field input,.rm-add-roster-grid .field select{width:100%;min-height:38px}
.rm-add-roster-error{margin:14px 0 0}
@media(max-width:760px){.rm-add-roster-grid{grid-template-columns:1fr}.rm-add-roster-name{grid-column:auto}}
.rm-process-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px 16px;margin:4px 0 0;padding:0;list-style:none;counter-reset:onboarding}
.rm-process-list li{position:relative;min-height:105px;padding:12px 12px 12px 46px;border:1px solid #e4e4ec;border-radius:9px;background:#fcfcfe;font-size:12px;line-height:1.4;color:#4a4a55;counter-increment:onboarding}
.rm-process-list li:before{content:counter(onboarding);position:absolute;top:11px;left:12px;width:24px;height:24px;border-radius:50%;background:#4b2e83;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:850}
.rm-process-list b{display:block;margin-bottom:4px;color:#1a1a24;font-size:12.5px}
.rm-process-list span{display:block}
.rm-practice-summary{margin-bottom:16px}
.rm-practice-summary .rm-kpirow{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.rm-roster-ter-filters{display:grid;gap:10px;margin:0 0 16px;padding:14px;border:1px solid #d8d8e1;border-radius:9px;background:#fafafe}
.rm-roster-ter-filters>div:first-child{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.rm-roster-ter-filters>div:first-child span,.rm-roster-ter-count span{color:#666674;font-size:11px}
.rm-roster-ter-count{display:flex;align-items:baseline;gap:5px;font-size:12px}
.rm-roster-ter-count span{margin-left:6px}
.rm-central-roster{max-height:680px;overflow:auto;scrollbar-gutter:stable;contain:layout paint;overscroll-behavior:contain}
.rm-topscroll{overflow-x:auto;overflow-y:hidden;height:16px;margin-bottom:4px;border:1px solid var(--line);background:#fafafd}
.rm-central-table{width:max-content;min-width:100%;font-size:11px}
.rm-central-table .rm-virtual-spacer td{height:0;min-width:0;padding:0;border:0;background:transparent}
.rm-central-table th{position:sticky;top:0;z-index:2;white-space:nowrap;background:#f4f4f7}
.rm-central-table td{min-width:112px;vertical-align:top;padding:0}
.rm-central-table .rm-select-col{position:sticky;left:0;z-index:3;background:#fff;min-width:42px;width:42px;text-align:center}
.rm-central-table th.rm-select-col{z-index:6;background:#f4f4f7}
.rm-central-table th:nth-child(2),.rm-central-table td:nth-child(2){position:sticky;left:42px;z-index:3;min-width:175px;width:175px;max-width:175px;overflow:hidden;background:#fff}
.rm-central-table th:nth-child(3),.rm-central-table td:nth-child(3){position:sticky;left:217px;z-index:3;min-width:180px;width:180px;max-width:180px;overflow:hidden;background:#fff}
.rm-central-table th:nth-child(4),.rm-central-table td:nth-child(4){position:sticky;left:397px;z-index:3;min-width:150px;width:150px;max-width:150px;overflow:hidden;background:#fff;box-shadow:5px 0 7px -6px rgba(25,28,38,.55)}
.rm-central-table th:nth-child(n+2):nth-child(-n+4){z-index:5;background:#f4f4f7}
.rm-central-table th:nth-child(5),.rm-central-table td:nth-child(5){min-width:320px;width:320px;max-width:320px;overflow:hidden}
.rm-central-table td:nth-child(2) .rm-grid-cell{min-width:175px;width:175px;max-width:175px}
.rm-central-table td:nth-child(3) .rm-grid-cell{min-width:180px;width:180px;max-width:180px}
.rm-central-table td:nth-child(4) .rm-grid-cell{min-width:150px;width:150px;max-width:150px}
.rm-central-table td:nth-child(5) .rm-grid-cell{min-width:300px;width:300px;max-width:300px}
.rm-central-table td.rm-project-info-cell .rm-grid-cell{min-height:14px;height:14px;padding:0 8px;border-width:1px;font-size:10px;line-height:12px}
.rm-grid-cell{min-width:112px;min-height:31px;padding:7px 8px;border:2px solid transparent;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none;cursor:cell}
.rm-grid-cell:hover{background:#f6f9fc}
.rm-grid-cell.active{border-color:#4b9cd3;box-shadow:inset 0 0 0 1px #fff}
.rm-grid-cell.range{background:#eaf5fb;border-color:#9bcbea}
.rm-grid-cell.dirty{background:#d9effb;border-color:#4b9cd3}
.rm-grid-cell.disabled{color:#9a9aa3;background:#f5f5f7;cursor:not-allowed}
.rm-grid-cell.merged{background:#fff;border-color:transparent;cursor:default}
.rm-hours-flag{font-weight:800;cursor:default}
button.rm-hours-flag{display:block;width:100%;font:inherit;font-weight:800;text-align:left;border:0;cursor:pointer}
button.rm-hours-flag:hover,button.rm-hours-flag:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.rm-hours-flag.ok{color:#28743d;background:#edf8f0}
.rm-hours-flag.over{color:#a1352b;background:#fff0ed}
.rm-hours-flag.critical{color:#fff;background:#a1352b;box-shadow:inset 4px 0 0 #5e1510}
.rm-central-table tr.rm-row-overhours>td:first-child{box-shadow:inset 4px 0 0 #a1352b}
.rm-central-table tr.rm-row-overhours>td{background:#fff7f5}
.rm-central-table tr.rm-row-overhours>td:nth-child(n+2):nth-child(-n+5){background:#fff7f5}
.rm-central-table tr.rm-row-subtotal>td{background:#f3f3f8;border-top:1px solid #d8d8e2;font-weight:700}
.rm-central-table tr.rm-row-subtotal td.rm-subtotal-label{color:#6a6a76;font-weight:400;font-style:italic}
.rm-central-table tr.rm-row-subtotal td.rm-subtotal-cell{padding:7px 8px;text-align:right}
.rm-overhours-alert{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12px;color:#a1352b;background:#fff0ed;border:1px solid #f0bdb4;border-radius:9px;padding:7px 12px;cursor:pointer}
.rm-overhours-alert:hover{background:#ffe4de}
.rm-overhours-alert.on{color:#fff;background:#a1352b;border-color:#a1352b}
.rm-grid-editor{display:block;width:100%;min-width:112px;height:31px;padding:5px 7px;border:2px solid #4b9cd3;background:#fff;font:11px inherit;outline:none}
.rm-grid-editor[type="date"],.rm-grid-select{min-width:168px}
.rm-central-table .rm-grid-week{min-width:58px;width:58px;text-align:right}
.rm-central-table th[data-roster-field^="week:"],.rm-central-table td.rm-week-cell{min-width:58px;width:58px;max-width:58px}
.rm-central-table td.rm-week-cell{overflow:hidden}
.rm-central-table th[data-roster-field="total_hours"]{min-width:68px;width:68px;max-width:68px;white-space:normal;line-height:1.15}
.rm-central-table td.rm-total-hours-cell{min-width:68px;width:68px;max-width:68px;overflow:hidden;text-align:right;padding:7px 8px}
.rm-central-table tr.rm-row-subtotal td.rm-total-hours-cell{font-weight:700}
.wk-intake{margin-bottom:18px}
.rm-weekpick{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:var(--muted)}
.rm-weekpick select{height:34px;border:1px solid var(--line);background:#fff;padding:0 8px}
.wk-history{display:flex;flex-direction:column;gap:6px;margin-top:5px;border-top:1px solid var(--line);padding-top:8px}
.wk-history-row{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:center;gap:7px;font-size:11px}
.wk-history-row b,.wk-history-row span{display:block}.wk-history-row span{color:var(--muted);margin-top:2px}
.wk-history-row select{max-width:160px;height:30px;border:1px solid var(--line)}
.rm-roster-intake{margin-bottom:18px;border-top:3px solid var(--purple-deep)}
.rm-roster-guidance{font-size:11.5px;line-height:1.55;color:var(--muted)}
@media(max-width:800px){.wk-history-row{grid-template-columns:1fr auto}.wk-history-row select{grid-column:1/-1;max-width:none}}
.rm-weekly-summary>.page-head{margin-bottom:16px}
.rm-weekly-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.rm-weekly-metrics .rm-week-date{font-size:20px}
.wk-metric-up{border-top:3px solid var(--green)}.wk-metric-down{border-top:3px solid #c62828}
.rm-weekly-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rm-weekly-source{min-width:0}.rm-weekly-source .page-head{margin-bottom:12px}
.wk-source-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.wk-source-kpis div{padding:9px 10px;background:#f7f7fa;border:1px solid var(--line);border-radius:7px;min-width:0}
.wk-source-kpis span,.wk-source-kpis b{display:block}.wk-source-kpis span{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.wk-source-kpis b{font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-summary-table{width:100%;font-size:11px}.wk-summary-table th,.wk-summary-table td{padding:8px}.wk-summary-table .wk-positive{color:#147a39;font-weight:800}.wk-summary-table .wk-negative{color:#c62828;font-weight:800}
.rm-weekly-empty{text-align:center;padding:42px 24px}.rm-weekly-empty h3{margin:10px 0 4px}.rm-weekly-empty p{color:var(--muted);margin:0 0 16px}
@media(max-width:1050px){.rm-weekly-metrics{grid-template-columns:repeat(2,1fr)}.rm-weekly-source-grid{grid-template-columns:1fr}}
@media(max-width:640px){.rm-weekly-metrics,.wk-source-kpis{grid-template-columns:1fr}}
.rm-row-selected td{background:#f2f8fc}
.rm-row-selected td:nth-child(n+2):nth-child(-n+5),.rm-row-selected .rm-select-col{background:#f2f8fc}
.rm-excel-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:9px 10px;border:1px solid #d8d8e1;background:#fafafe;border-radius:8px;font-size:11px}
.rm-excel-toolbar select,.rm-excel-toolbar input{height:32px;border:1px solid #cfcfd8;border-radius:5px;background:#fff;padding:0 8px;font:11px inherit}
.rm-excel-toolbar button{height:32px;border:1px solid #4b2e83;border-radius:5px;background:#fff;color:#4b2e83;padding:0 10px;font:700 11px inherit;cursor:pointer}
.rm-excel-toolbar button:disabled{opacity:.42;cursor:not-allowed}
.rm-excel-toolbar .training-submit{margin-left:auto;background:#4b2e83;color:#fff;border-color:#4b2e83}
.rm-excel-toolbar .rm-discard{border-color:#a9a9b3;color:#555}
.rm-excel-hint{color:#666674}
.training-upload-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.training-upload-heading .training-submit{flex:0 0 auto;margin-top:4px}
.bulk-certificate-picker{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 18px;padding:13px 15px;border:1px dashed #8f8f9b;background:#fff;cursor:pointer}
.bulk-certificate-picker:hover{border-color:var(--purple);background:#faf9ff}
.bulk-certificate-picker span,.bulk-certificate-picker b,.bulk-certificate-picker small{display:block}
.bulk-certificate-picker b{font-size:12.5px}
.bulk-certificate-picker small{color:var(--muted);font-size:10.5px;margin-top:2px}
.bulk-certificate-picker input{display:none}
@media(max-width:700px){.training-upload-heading{display:block}.training-upload-heading .training-submit{margin:0 0 18px}.bulk-certificate-picker{align-items:flex-start}}
.pmo-dashboard-filters{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(150px,1fr) minmax(140px,1fr) minmax(145px,.9fr) minmax(145px,.9fr) auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px;background:#fff;border:1px solid var(--line)}
.pmo-dashboard-filters .field label{font-size:10.5px;margin-bottom:6px}.pmo-dashboard-filters input,.pmo-dashboard-filters select{height:40px;background:#fff}.pmo-filter-actions{display:flex;gap:8px}.pmo-filter-actions button{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.pmo-filter-actions button:not(.btn-outline){border:0;background:var(--ey-black);color:#fff;padding:0 14px;font-weight:800;cursor:pointer}.pmo-filter-actions button:disabled{opacity:.45;cursor:not-allowed}
.pmo-training-matrix th:nth-child(2),.pmo-training-matrix th:nth-child(3),.pmo-training-matrix th:nth-child(4){min-width:115px}.pmo-training-matrix td:nth-child(2),.pmo-training-matrix td:nth-child(3),.pmo-training-matrix td:nth-child(4){white-space:nowrap}
.pmo-matrix-scroll{max-height:min(68vh,720px);overflow:auto}
.pmo-matrix-scroll table thead th{position:sticky;top:0;z-index:2;background:#fafafb}
.pmo-matrix-scroll .pmo-training-matrix thead th{background:var(--ey-dark);color:#fff}
.pmo-matrix-scroll .pmo-training-matrix thead th.person-column{z-index:3}
.sp-column-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px;min-width:0}
.sp-sort-button{min-width:0;display:flex;align-items:center;gap:5px;padding:4px 2px;border:0;background:transparent;color:inherit;font:inherit;font-weight:750;text-align:left;cursor:pointer}
.sp-sort-button span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-sort-button:hover,.sp-sort-button:focus-visible{color:#5b4bd1;outline:none}.pmo-training-matrix .sp-sort-button:hover,.pmo-training-matrix .sp-sort-button:focus-visible{color:var(--ey-yellow)}
.sp-sort-indicator{flex:0 0 auto;font-size:8px;opacity:.82}.sp-filter-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:22px;border-radius:3px;color:currentColor;font-size:7px;opacity:.58}.sp-filter-trigger:hover,.sp-filter-trigger:focus-within{background:rgba(91,75,209,.12);opacity:1}.pmo-training-matrix .sp-filter-trigger:hover,.pmo-training-matrix .sp-filter-trigger:focus-within{background:rgba(255,230,0,.15);color:var(--ey-yellow)}.sp-filter-trigger.active{background:#5b4bd1;color:#fff;opacity:1}.pmo-training-matrix .sp-filter-trigger.active{background:var(--ey-yellow);color:var(--ey-black)}.sp-column-filter{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;cursor:pointer}.sp-column-filter option{font-size:12px;color:#222;background:#fff}
.sp-search-filter{position:relative;display:inline-flex}.sp-filter-popover{position:absolute;z-index:8;top:calc(100% + 5px);right:0;display:flex;align-items:center;gap:6px;width:210px;padding:8px;border:1px solid #cfcfd8;border-radius:5px;background:#fff;box-shadow:0 8px 22px rgba(24,24,35,.18)}.sp-column-search{width:100%;min-width:0;height:30px;padding:4px 8px;border:1px solid #d5d5dd;border-radius:4px;background:#fff;color:#333;font-size:11px;font-weight:500}.sp-column-search::placeholder{color:#777}.sp-column-search.active{border-color:#5b4bd1;background:#f8f6ff;box-shadow:inset 0 0 0 1px #5b4bd1}.sp-filter-clear{height:30px;padding:0 7px;border:0;background:transparent;color:#5b4bd1;font-size:10px;font-weight:800;cursor:pointer}.pmo-matrix-scroll table thead th.sp-filter-open{z-index:6}
.pmo-training-matrix th{vertical-align:top}.pmo-training-matrix .sp-column-head{min-width:92px}.pmo-training-matrix th.person-column .sp-column-head{min-width:200px}
.pmo-training-matrix th.person-column .sp-sort-button span:first-child{display:inline;font-size:inherit;color:inherit;margin:0}
@media(max-width:1100px){.pmo-dashboard-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.pmo-filter-actions{grid-column:span 3;justify-content:flex-end}}
@media(max-width:700px){.pmo-dashboard-filters{grid-template-columns:1fr}.pmo-filter-actions{grid-column:auto}.pmo-filter-actions button{flex:1}}
