:root {
  --red:#c51f25;--red-2:#e33138;--red-dark:#941117;--ink:#191a1d;--charcoal:#3b3d41;--charcoal-2:#292a2d;
  --muted:#6f7379;--line:#dfe1e5;--surface:#fff;--surface-2:#f7f8fa;--page:#f1f3f5;--success:#39a968;--warning:#d8941f;
  --shadow:0 12px 34px rgba(30,33,38,.09);--topbar:122px;--sidebar:218px;--radius:12px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 87% 9%,rgba(197,31,37,.07),transparent 25rem),linear-gradient(135deg,rgba(255,255,255,.7) 0 1px,transparent 1px 42px),var(--page);background-size:auto,42px 42px,auto;color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:14px;transition:background .25s,color .25s}button,input,select{font:inherit}button{cursor:pointer}svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(197,31,37,.3);outline-offset:2px}
body.dark{--ink:#f1f2f4;--muted:#a9adb4;--line:#3b3e44;--surface:#222429;--surface-2:#292c31;--page:#17191d;--charcoal:#23252a;--charcoal-2:#17191d;--shadow:0 16px 40px rgba(0,0,0,.28);background:radial-gradient(circle at 87% 9%,rgba(227,49,56,.12),transparent 25rem),linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 42px),var(--page)}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
.topbar{position:fixed;z-index:1000;inset:0 0 auto;height:var(--topbar);display:flex;align-items:center;color:#fff;overflow:hidden;isolation:isolate;background:linear-gradient(112deg,#941117 0%,#c51f25 48%,#dc2a31 76%,#991218 100%);box-shadow:0 5px 18px rgba(94,8,13,.33)}.topbar::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 63% -30%,rgba(255,255,255,.28),transparent 31%),linear-gradient(100deg,transparent 14%,rgba(255,255,255,.08) 36%,transparent 58%);animation:headerShimmer 9s linear infinite}.topbar::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.28}.brand{position:relative;z-index:6;width:var(--sidebar);height:100%;flex:0 0 var(--sidebar);padding:10px 12px;display:flex;align-items:center;text-decoration:none}.brand-logo-wrap{width:194px;height:100px;padding:6px 8px;display:grid;place-items:center;overflow:hidden;background:#fff;border-radius:12px;border:1px solid rgba(255,255,255,.85);box-shadow:0 14px 30px rgba(63,4,8,.3),inset 0 0 0 1px rgba(0,0,0,.05);animation:logoEntry .95s cubic-bezier(.2,.88,.28,1.22) both,logoFloat 5s ease-in-out 1.2s infinite}.brand-logo-wrap::before{content:"";position:absolute;width:80px;height:160px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:translateX(-180px) rotate(18deg);animation:logoSweep 5.8s ease-in-out 1.4s infinite}.brand-logo-wrap img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}.brand:hover .brand-logo-wrap{transform:translateY(-3px) scale(1.02)}
@keyframes logoEntry{0%{opacity:0;transform:translateX(-80px) scale(.72) rotate(-6deg);filter:blur(5px)}72%{opacity:1;transform:translateX(7px) scale(1.04) rotate(1deg);filter:blur(0)}100%{transform:none}}@keyframes logoFloat{50%{transform:translateY(-4px)}}@keyframes logoSweep{0%,55%{transform:translateX(-190px) rotate(18deg);opacity:0}66%{opacity:.85}82%,100%{transform:translateX(260px) rotate(18deg);opacity:0}}@keyframes headerShimmer{from{transform:translateX(-24%)}to{transform:translateX(24%)}}
.header-scene{position:absolute;z-index:1;left:var(--sidebar);right:330px;inset-block:0;overflow:hidden;pointer-events:none}
.header-copy{position:absolute;z-index:3;left:28px;top:20px;display:flex;flex-direction:column;text-shadow:0 2px 10px rgba(70,0,4,.32);animation:copyIn 1s .35s both}
.header-copy strong{font-size:14px;letter-spacing:.17em}
.header-copy span{margin-top:5px;font-size:10px;letter-spacing:.12em;opacity:.7}
.header-orb{position:absolute;border-radius:50%;background:#fff;filter:blur(1px);opacity:.12}
.orb-one{width:190px;height:190px;left:18%;top:-130px}
.orb-two{width:105px;height:105px;right:8%;bottom:-70px}
.speed-line{position:absolute;height:2px;border-radius:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);opacity:.26;animation:speedLine 3.2s linear infinite}
.line-one{width:180px;top:34px;left:38%}
.line-two{width:120px;top:59px;left:60%;animation-delay:-1.1s}
.line-three{width:210px;top:77px;left:74%;animation-delay:-2.2s}
.header-city{position:absolute;z-index:1;left:0;right:0;bottom:21px;height:70px;display:flex;align-items:flex-end;gap:7px;opacity:.13}
.header-city i{display:block;width:var(--w);height:var(--h);border-radius:2px 2px 0 0;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,255,255,.35) 6px 8px),rgba(60,0,4,.78);animation:cityScroll 18s linear infinite}
.header-road{position:absolute;z-index:2;left:0;right:0;bottom:6px;height:22px;border-top:2px solid rgba(255,255,255,.62);background:linear-gradient(180deg,rgba(80,0,5,.12),rgba(61,0,4,.24));box-shadow:inset 0 4px 8px rgba(255,255,255,.05),0 -1px 0 rgba(255,255,255,.12)}
.header-road .road-line{position:absolute;left:-120px;right:-120px;height:2px;border-radius:3px;background:repeating-linear-gradient(90deg,#fff 0 34px,transparent 34px 62px);opacity:.48;animation:roadScroll .52s linear infinite}
.header-road .road-line-one{top:7px}
.header-road .road-line-two{top:14px;opacity:.22;transform:scaleX(.92)}
.header-road .road-glow{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent)}
.header-truck{position:absolute;z-index:4;left:0;bottom:-2px;width:292px;transform:translateX(-390px);filter:drop-shadow(0 12px 12px rgba(54,0,4,.28));animation:headerTruckMove 11.4s linear infinite;will-change:transform,opacity}
.header-truck svg{width:100%;overflow:visible}
.truck-rig{animation:truckCruise 1.25s ease-in-out infinite alternate;transform-origin:center bottom}
.truck-shadow{animation:shadowDrift 1.25s ease-in-out infinite alternate;transform-origin:center}
.wheel{transform-box:fill-box;transform-origin:center;animation:wheelSpin .55s linear infinite}
.headlight-beam{position:absolute;right:-70px;bottom:28px;width:112px;height:26px;opacity:.14;clip-path:polygon(0 36%,100% 0,100% 100%,0 64%);background:linear-gradient(90deg,#fff6c5,rgba(255,246,197,.1),transparent);animation:beamPulse 1.15s ease-in-out infinite alternate}
.trailer-logo image{filter:contrast(1.02) saturate(1.04)}
@keyframes headerTruckMove{
0%{transform:translateX(-390px);opacity:0}
4%{opacity:1}
100%{transform:translateX(calc(100vw + 720px));opacity:1}
}
@keyframes truckCruise{0%{transform:translateY(0)}100%{transform:translateY(-1.8px)}}
@keyframes beamPulse{0%{opacity:.1}100%{opacity:.2}}
@keyframes shadowDrift{0%{transform:scaleX(1);opacity:.23}100%{transform:scaleX(.97);opacity:.18}}
@keyframes copyIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes speedLine{from{transform:translateX(-180px)}to{transform:translateX(520px)}}@keyframes cityScroll{to{transform:translateX(-310px)}}@keyframes roadScroll{to{transform:translateX(-54px)}}@keyframes wheelSpin{to{transform:rotate(360deg)}}
.top-actions{position:relative;z-index:8;margin-left:auto;height:100%;padding-right:17px;display:flex;align-items:center;gap:8px}.period-pill{height:38px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.24);background:rgba(40,0,3,.14);border-radius:50px;font-size:9px;font-weight:900;letter-spacing:.1em}.period-pill i{width:7px;height:7px;border-radius:50%;background:#6ee090;box-shadow:0 0 0 4px rgba(110,224,144,.13)}.top-icon,.language-button{height:42px;border:0;border-radius:8px;background:rgba(0,0,0,.1);color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s}.top-icon{position:relative;width:42px}.top-icon svg{width:20px;height:20px}.top-icon:hover,.language-button:hover{background:rgba(0,0,0,.2);transform:translateY(-1px)}.notification-dot{position:absolute;right:8px;top:8px;width:7px;height:7px;border-radius:50%;background:#ffd66e;border:2px solid #bb1b21}.language-button{min-width:76px;gap:7px;padding:0 9px}.language-button svg{width:11px}.language-menu,.notification-panel{position:fixed;right:17px;top:102px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:0 18px 42px rgba(0,0,0,.22)}.language-menu{width:165px;padding:6px}.language-menu button{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:10px;border-radius:7px}.language-menu button:hover{background:var(--surface-2)}.notification-panel{right:108px;width:320px;padding:14px}.popover-heading{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 12px;border-bottom:1px solid var(--line)}.popover-heading span{font-size:10px;color:var(--red);font-weight:800}.notification-item{display:flex;gap:11px;padding-top:13px}.notification-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;background:#ffecef;color:var(--red);font-weight:900}.notification-item strong{font-size:12px}.notification-item p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.moon-icon{display:none}body.dark .sun-icon{display:none}body.dark .moon-icon{display:block}
.mobile-menu{display:none}.sidebar{position:fixed;z-index:900;left:0;top:var(--topbar);bottom:0;width:var(--sidebar);display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#3f4145,#292b2f);box-shadow:4px 0 14px rgba(0,0,0,.11)}.sidebar-mark{margin:15px 14px 8px;padding:10px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.11);border-radius:10px}.sidebar-mark img{width:38px;height:38px}.sidebar-mark strong,.sidebar-mark small{display:block}.sidebar-mark strong{font-size:12px}.sidebar-mark small{margin-top:3px;font-size:9px;opacity:.55}.sidebar nav{padding-top:5px}.nav-link{position:relative;min-height:54px;padding:0 18px 0 24px;display:flex;align-items:center;gap:15px;color:#fff;text-decoration:none;font-weight:600;transition:.2s}.nav-link::before{content:"";position:absolute;left:0;inset-block:0;width:5px;background:transparent}.nav-link svg{width:22px;height:22px;flex:0 0 22px;transition:transform .2s}.nav-link:hover{padding-left:29px;background:rgba(255,255,255,.07)}.nav-link:hover svg{transform:scale(1.1)}.nav-link.active{background:linear-gradient(90deg,rgba(0,0,0,.24),rgba(0,0,0,.03))}.nav-link.active::before{background:var(--red-2);box-shadow:3px 0 12px rgba(227,49,56,.42)}.nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:50px;background:rgba(255,255,255,.11);font-size:9px}.sidebar-footer{margin-top:auto;padding:17px;display:flex;align-items:center;gap:11px;border-top:1px solid rgba(255,255,255,.09)}.online-dot{width:9px;height:9px;border-radius:50%;background:#55d584;box-shadow:0 0 0 5px rgba(85,213,132,.12)}.sidebar-footer strong,.sidebar-footer small{display:block}.sidebar-footer strong{font-size:11px}.sidebar-footer small{margin-top:3px;font-size:9px;opacity:.55}.sidebar-overlay{display:none}
.main-content{margin-left:var(--sidebar);min-height:100vh;padding:calc(var(--topbar) + 18px) 18px 42px}.page{animation:pageIn .32s ease both}.page.hidden{display:none}@keyframes pageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.eyebrow{display:block;margin-bottom:9px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.15em}.primary-button,.ghost-button,.danger-button,.toolbar-button{min-height:40px;border-radius:8px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800;transition:.2s}.primary-button{border:1px solid var(--red);background:linear-gradient(135deg,var(--red-2),var(--red-dark));color:#fff;box-shadow:0 8px 20px rgba(197,31,37,.22)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(197,31,37,.3)}.ghost-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.ghost-button:hover{border-color:var(--red);color:var(--red);transform:translateY(-1px)}.danger-button{border:1px solid #dc3940;background:#dc3940;color:#fff}.danger-button:hover{background:#b81e25}.panel,.assessment-card,.hero-dashboard,.page-heading,.metric-card,.report-metrics article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-dashboard{min-height:360px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:radial-gradient(circle at 92% 15%,rgba(197,31,37,.12),transparent 230px),var(--surface)}.hero-copy{padding:46px 45px;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{max-width:690px;margin:0;font-size:clamp(32px,4vw,54px);line-height:1.05;letter-spacing:-.05em}.hero-copy p{max-width:650px;margin:17px 0 0;color:var(--muted);font-size:15px;line-height:1.7}.hero-actions{display:flex;gap:10px;margin-top:27px}.hero-visual{padding:24px}.route-map{position:relative;height:100%;min-height:300px;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#e8eaed,#d7dade);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}body.dark .route-map{background:linear-gradient(135deg,#30343a,#24272c)}.route-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:38px 38px;opacity:.65}.route-map>svg{position:absolute;inset:0;width:100%;height:100%}.route-path-shadow{fill:none;stroke:rgba(0,0,0,.12);stroke-width:13;stroke-linecap:round}.route-path{fill:none;stroke:var(--red);stroke-width:6;stroke-linecap:round;stroke-dasharray:12 10;animation:routeDash 1.2s linear infinite}.route-pin{position:absolute;width:20px;height:20px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--red);border:4px solid #fff;box-shadow:0 5px 12px rgba(0,0,0,.22)}.p1{left:6%;bottom:15%}.p2{left:49%;top:37%}.p3{right:4%;top:12%}.route-truck{position:absolute;width:88px;offset-path:path('M35 255 C135 135 215 255 305 132 S465 112 585 54');offset-distance:0%;offset-rotate:auto 0deg;animation:routeTruck 8.8s linear infinite;filter:drop-shadow(0 10px 8px rgba(0,0,0,.24));will-change:offset-distance,transform,opacity}.route-truck svg{width:100%;overflow:visible;animation:routeTruckBounce .36s ease-in-out infinite alternate}@keyframes routeDash{to{stroke-dashoffset:-22}}@keyframes routeTruck{0%{offset-distance:0%;opacity:0}4%{opacity:1}96%{opacity:1}100%{offset-distance:100%;opacity:0}}@keyframes routeTruckBounce{0%{transform:translateY(0)}100%{transform:translateY(-2px)}}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:15px 0}.metric-card{min-height:108px;padding:17px;display:flex;align-items:center;gap:14px;position:relative;overflow:hidden}.metric-card::after{content:"";position:absolute;right:-35px;top:-35px;width:95px;height:95px;border-radius:50%;border:18px solid rgba(197,31,37,.035)}.metric-card.accent-red{background:linear-gradient(135deg,var(--red-dark),var(--red-2));color:#fff;border-color:transparent}.metric-icon{width:47px;height:47px;flex:0 0 47px;display:grid;place-items:center;border-radius:12px;background:var(--surface-2);color:var(--red)}.accent-red .metric-icon{background:rgba(255,255,255,.15);color:#fff}.metric-icon svg{width:24px;height:24px}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{font-size:10px;color:var(--muted)}.accent-red span,.accent-red small{color:rgba(255,255,255,.75)}.metric-card strong{margin-top:5px;font-size:23px}.metric-card small{margin-top:4px;font-size:9px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.panel{padding:21px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.panel-heading h2{margin:0;font-size:17px}.text-link{border:0;background:transparent;color:var(--red);font-size:11px;font-weight:800}.progress-row{display:grid;grid-template-columns:170px 1fr 54px;align-items:center;gap:12px;padding:10px 0}.progress-row strong{font-size:12px}.progress-track{height:8px;overflow:hidden;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red-dark),var(--red-2));transition:width .4s}.progress-row small{text-align:right;color:var(--muted);font-size:10px}.quick-actions{display:grid;gap:9px}.quick-actions button{width:100%;min-height:67px;padding:10px 11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;display:grid;grid-template-columns:40px 1fr 18px;align-items:center;gap:10px;text-align:left;transition:.2s}.quick-actions button:hover{transform:translateX(4px);border-color:rgba(197,31,37,.35);background:var(--surface-2)}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{font-size:12px}.quick-actions small{margin-top:4px;color:var(--muted);font-size:9px}.quick-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;font-weight:900}.quick-icon.red{background:#ffecef;color:var(--red)}.quick-icon.dark{background:#33353a;color:#fff}.quick-icon.grey{background:var(--surface-2);color:var(--muted)}
.assessment-card{overflow:hidden}.assessment-meta{min-height:145px;padding:27px 31px;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden;background:radial-gradient(circle at 92% 20%,rgba(197,31,37,.09),transparent 220px),var(--surface)}.assessment-meta::after{content:"";position:absolute;right:-66px;top:-122px;width:260px;height:260px;border-radius:50%;border:38px solid rgba(197,31,37,.035)}.assessment-meta h1{margin:0;font-size:24px;letter-spacing:-.03em}.assessment-meta h1 em,.assessment-meta p strong{font-style:normal;color:var(--red)}.assessment-meta p{margin:8px 0 0;color:var(--muted);font-size:12px}.assessment-overview{position:relative;z-index:2;width:min(370px,43%);padding:17px 18px;border:1px solid rgba(197,31,37,.15);border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 8px 22px rgba(45,47,52,.07)}.completion-copy,.overview-footer{display:flex;align-items:center;justify-content:space-between}.completion-copy span{font-size:10px;color:var(--muted)}.completion-copy strong{font-size:23px;color:var(--red)}.overall-progress-track{height:9px;margin:10px 0;overflow:hidden;border-radius:50px;background:var(--surface-2);border:1px solid var(--line)}.overall-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red-dark),var(--red-2));box-shadow:0 0 12px rgba(197,31,37,.28);transition:width .4s}.overview-footer{font-size:9px;color:var(--muted)}.live-status{display:flex;align-items:center;gap:6px}.live-status i{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(57,169,104,.12)}.live-status b{font-weight:600}.assessment-toolbar{min-height:62px;padding:9px 17px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2)}.search-box{min-width:260px;max-width:430px;flex:1;height:41px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);border-radius:8px;color:var(--muted)}.search-box:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(197,31,37,.1)}.search-box svg{width:18px;height:18px}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}.filter-select{height:41px;padding:0 31px 0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:11px}.toolbar-button{height:41px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 12px}.toolbar-button svg{width:17px;height:17px}.toolbar-button:hover{border-color:var(--red);color:var(--red)}.toolbar-button.danger:hover{border-color:#dc3940;color:#dc3940}.accordion-item{position:relative;border-bottom:1px solid var(--line);background:var(--surface)}.accordion-item:last-child{border-bottom:0}.accordion-item::before{content:"";position:absolute;z-index:2;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transition:.2s}.accordion-item:hover::before,.accordion-item.open::before{transform:scaleY(1)}.accordion-item.filtered-out{display:none}.accordion-trigger{width:100%;min-height:68px;padding:0 23px;border:0;background:var(--surface);color:var(--ink);display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;text-align:left;transition:.2s}.accordion-trigger:hover{padding-left:28px;background:linear-gradient(90deg,rgba(197,31,37,.055),var(--surface) 30%)}.accordion-item.open .accordion-trigger{background:linear-gradient(90deg,rgba(197,31,37,.075),var(--surface) 32%)}.section-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#ffecef;color:var(--red);font-weight:900;font-size:13px}.section-main strong,.section-main small{display:block}.section-main strong{font-size:13px}.section-main small{margin-top:4px;color:var(--muted);font-size:9px}.section-progress-mini{margin-top:7px;width:160px;height:5px;border-radius:20px;background:var(--surface-2);overflow:hidden}.section-progress-mini span{display:block;height:100%;background:var(--red);border-radius:inherit}.accordion-summary{display:flex;align-items:center;gap:12px}.count{padding:6px 10px;border-radius:50px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:700}.risk-chip{padding:5px 7px;border-radius:5px;background:#fff2da;color:#94610b;font-size:8px;font-weight:900}.accordion-summary>svg{width:18px;height:18px;transition:transform .22s}.accordion-item.open .accordion-summary>svg{transform:rotate(180deg)}.accordion-panel{display:none;padding:25px 15px 29px;background:var(--surface)}.accordion-item.open .accordion-panel{display:block;animation:accordionOpen .25s ease}.section-label-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.section-label-row h2{margin:0;font-size:13px}.section-label-row span{font-size:9px;color:var(--muted)}@keyframes accordionOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.table-scroll{overflow-x:auto;border-radius:5px;box-shadow:0 6px 22px rgba(35,38,43,.055)}.control-table{width:100%;min-width:1370px;border-collapse:collapse;table-layout:fixed;border:1px solid #2a2a2a;background:var(--surface)}.control-table th,.control-table td{border-right:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;padding:8px;vertical-align:middle}.control-table th:last-child,.control-table td:last-child{border-right:0}.control-table tbody tr:last-child td{border-bottom:0}.control-table th{height:53px;background:var(--surface-2);color:var(--muted);text-align:left;font-size:11px;font-weight:600;line-height:1.4}.control-table td{color:var(--muted);font-size:11px;line-height:1.45;transition:background .15s}.control-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-2) 52%,transparent)}.control-table tbody tr:hover td{background:color-mix(in srgb,#fff1f2 70%,var(--surface))}.control-table th:nth-child(1){width:185px}.control-table th:nth-child(2){width:82px}.control-table th:nth-child(3){width:585px}.control-table th:nth-child(4){width:75px}.control-table th:nth-child(5){width:105px}.control-table th:nth-child(6){width:145px}.control-table th:nth-child(7){width:90px}.control-table th:nth-child(8){width:170px}.control-table select{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}.control-table input{width:100%;padding:5px 0;border:0;border-bottom:1px solid #a9acb1;background:transparent;color:var(--ink);outline:0}.control-table input:focus{border-color:var(--red)}.control-table [contenteditable=true]:focus{outline:2px solid rgba(197,31,37,.25);outline-offset:-3px;background:#fff5f6!important}.add-row{margin-top:17px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:11px}.add-row:hover{background:#fff2f3;color:var(--red)}.empty-search{padding:55px;text-align:center}.empty-search img{width:62px;height:62px}.empty-search h3{margin:12px 0 5px}.empty-search p{margin:0;color:var(--muted);font-size:11px}body.compact .control-table th{height:42px}body.compact .control-table th,body.compact .control-table td{padding:5px 7px;font-size:10px}body.compact .accordion-panel{padding-top:18px}
.page-heading{min-height:125px;padding:26px 29px;margin-bottom:14px;display:flex;align-items:end;justify-content:space-between;gap:20px}.page-heading h1{margin:0;font-size:29px;letter-spacing:-.04em}.page-heading p{margin:8px 0 0;color:var(--muted)}.page-actions{display:flex;gap:9px}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:14px}.report-metrics article{padding:18px}.report-metrics span,.report-metrics strong,.report-metrics small{display:block}.report-metrics span{font-size:9px;color:var(--muted)}.report-metrics strong{margin-top:5px;font-size:24px}.report-metrics small{margin-top:4px;color:var(--muted);font-size:9px}.reports-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.report-row{display:grid;grid-template-columns:180px 1fr 55px;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.report-row:last-child{border-bottom:0}.report-row strong{font-size:11px}.report-bar{height:9px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.report-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red-dark),var(--red-2));transition:width .4s}.report-row>span{text-align:right;color:var(--muted);font-size:10px}.risk-chart-wrap{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:22px;min-height:260px}.risk-donut{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--red) 0 33%,#dc9b2d 33% 66%,#7b8088 66% 100%);position:relative}.risk-donut::after{content:"";position:absolute;width:105px;height:105px;border-radius:50%;background:var(--surface)}.risk-donut>div{position:relative;z-index:2;text-align:center}.risk-donut strong,.risk-donut span{display:block}.risk-donut strong{font-size:25px}.risk-donut span{color:var(--muted);font-size:9px}.risk-legend{display:grid;gap:12px}.legend-item{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px}.legend-item i{width:9px;height:9px;border-radius:3px}.legend-item strong{font-size:10px}.legend-item span{color:var(--muted);font-size:10px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setting-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;min-height:118px}.setting-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:12px;background:var(--surface-2);color:var(--red);font-size:22px;font-weight:900}.setting-icon img{width:42px;height:42px}.setting-card h2{margin:0;font-size:14px}.setting-card p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.status-chip{padding:6px 9px;border-radius:50px;background:#e7f7ed;color:#2f8a54;font-size:9px;font-weight:900}.switch{position:relative;width:46px;height:25px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:50px;background:#c8cbd0;transition:.2s}.switch span::before{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.22);transition:.2s}.switch input:checked+span{background:var(--red)}.switch input:checked+span::before{transform:translateX(21px)}.data-panel{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:20px}.data-panel h2{margin:0}.data-panel p{margin:7px 0 0;color:var(--muted);font-size:11px}.data-panel>div:last-child{display:flex;gap:9px}
.floating-save{position:fixed;z-index:1100;right:20px;bottom:19px;width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#44474c,#232528);box-shadow:0 10px 25px rgba(0,0,0,.3);transition:.2s}.floating-save:hover{transform:translateY(-4px) rotate(-3deg);background:linear-gradient(145deg,var(--red-2),var(--red-dark))}.floating-save svg{position:relative;z-index:2;width:25px;height:25px}.floating-save>span{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(197,31,37,.42);animation:savePulse 2.5s infinite}@keyframes savePulse{0%,55%{opacity:.65;transform:scale(.92)}100%{opacity:0;transform:scale(1.48)}}.toast{position:fixed;z-index:1500;right:19px;bottom:88px;min-width:310px;padding:14px 16px;display:flex;align-items:center;gap:11px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--red);border-radius:9px;box-shadow:0 16px 40px rgba(0,0,0,.19);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.toast-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#ffecef;color:var(--red);font-weight:900}.toast strong,.toast small{display:block}.toast strong{font-size:11px}.toast small{margin-top:3px;color:var(--muted);font-size:9px}.modal-backdrop{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(11,12,14,.58);backdrop-filter:blur(4px)}.modal{width:min(430px,100%);padding:29px;text-align:center;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 25px 65px rgba(0,0,0,.3);animation:modalIn .22s ease}.modal-icon{width:54px;height:54px;margin:0 auto 13px;display:grid;place-items:center;border-radius:50%;background:#ffecef;color:var(--red);font-size:25px;font-weight:900}.modal h2{margin:0}.modal p{margin:10px 0 22px;color:var(--muted);font-size:11px;line-height:1.6}.modal-actions{display:flex;justify-content:center;gap:9px}@keyframes modalIn{from{opacity:0;transform:scale(.96) translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.header-scene{right:245px}.period-pill{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.reports-grid{grid-template-columns:1fr}.assessment-overview{width:44%}.risk-chart-wrap{grid-template-columns:180px 1fr}}
@media(max-width:860px){:root{--topbar:108px}.brand-logo-wrap{height:88px}.header-copy{display:none}.header-truck{width:214px}.assessment-meta{align-items:stretch}.assessment-overview{width:47%}.settings-grid{grid-template-columns:1fr}}
@media(max-width:720px){:root{--topbar:94px}.mobile-menu{display:block;position:relative;z-index:9;width:42px;height:42px;margin-left:5px;border:0;background:transparent}.mobile-menu span{display:block;width:22px;height:2px;margin:5px auto;background:#fff}.brand{width:145px;flex-basis:145px;padding-left:0}.brand-logo-wrap{width:143px;height:76px;padding:4px 6px}.header-scene{left:190px;right:105px}.header-city,.speed-line{display:none}.header-truck{width:150px;animation-duration:10.2s}.top-actions{padding-right:5px}.top-actions .top-icon:first-of-type,.language-button strong{display:none}.language-button{min-width:50px}.sidebar{transform:translateX(-105%);transition:transform .22s}.sidebar.open{transform:none}.sidebar-overlay{display:block;position:fixed;z-index:850;inset:var(--topbar) 0 0;background:rgba(0,0,0,.43);opacity:0;pointer-events:none;transition:.2s}.sidebar-overlay.show{opacity:1;pointer-events:auto}.main-content{margin-left:0;padding-left:8px;padding-right:8px}.hero-dashboard{grid-template-columns:1fr}.hero-copy{padding:31px 25px}.hero-visual{padding-top:0}.metric-grid{grid-template-columns:1fr}.assessment-meta{flex-direction:column;padding:22px 20px}.assessment-overview{width:100%}.assessment-toolbar{flex-wrap:wrap}.search-box{min-width:100%;max-width:none}.filter-select{flex:1}.toolbar-button span{display:none}.page-heading{align-items:flex-start;flex-direction:column}.report-metrics{grid-template-columns:repeat(2,1fr)}.risk-chart-wrap{grid-template-columns:1fr;justify-items:center}.data-panel{align-items:flex-start;flex-direction:column}.notification-panel{right:8px;top:82px;width:min(320px,calc(100vw - 16px))}.language-menu{right:8px;top:82px}}
@media(max-width:470px){:root{--topbar:86px}.brand{width:124px;flex-basis:124px}.brand-logo-wrap{width:122px;height:68px}.header-scene{left:165px;right:55px}.header-truck{width:122px}.top-actions{display:none}.hero-copy h1{font-size:34px}.metric-grid{grid-template-columns:1fr}.accordion-trigger{grid-template-columns:42px 1fr auto;padding:0 13px}.accordion-trigger:hover{padding-left:16px}.section-progress-mini{width:100px}.risk-chip{display:none}.count{max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-actions{width:100%}.page-actions button{flex:1}.report-metrics{grid-template-columns:1fr}.report-row{grid-template-columns:120px 1fr 42px}.data-panel>div:last-child{width:100%;flex-direction:column}.floating-save{width:53px;height:53px;right:12px;bottom:12px}.toast{left:12px;right:12px;min-width:0}}
@media print{.topbar,.sidebar,.floating-save,.assessment-toolbar,.page-actions{display:none!important}.main-content{margin:0;padding:0}.page.hidden{display:none!important}.page{display:block}.panel,.page-heading,.report-metrics article{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Robust visibility rule: prevents overlays and popovers from appearing on page load. */
[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
.modal-backdrop { display: none; opacity: 0; visibility: hidden; pointer-events: none; }
.modal-backdrop.is-open { display: grid; opacity: 1; visibility: visible; pointer-events: auto; }
.modal-close { position: absolute; top: 11px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; display: grid; place-items: center; color: var(--muted); background: transparent; font-size: 25px; line-height: 1; transition: .18s ease; }
.modal-close:hover { color: var(--red); background: #fff0f1; transform: rotate(5deg); }
.modal { position: relative; }


/* Version 8: section-based manager workspaces */
.role-nav-badge{min-width:48px;text-align:center;font-size:8px;letter-spacing:.05em}
.manager-home-hero{min-height:330px;display:grid;grid-template-columns:1.12fr .88fr;overflow:hidden;position:relative;background:radial-gradient(circle at 86% 20%,rgba(197,31,37,.14),transparent 280px),linear-gradient(135deg,var(--surface),var(--surface) 68%,rgba(197,31,37,.045))}
.manager-home-copy{padding:46px 47px;display:flex;flex-direction:column;justify-content:center}
.manager-home-copy h1{max-width:720px;margin:0;font-size:clamp(34px,4vw,55px);line-height:1.04;letter-spacing:-.052em}
.manager-home-copy>p{max-width:680px;margin:17px 0 0;color:var(--muted);font-size:14px;line-height:1.72}
.manager-home-status{width:fit-content;max-width:100%;margin-top:25px;padding:12px 15px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 8px 22px rgba(0,0,0,.06)}
.manager-home-status.active{border-color:rgba(197,31,37,.3);background:linear-gradient(135deg,#fff7f8,var(--surface))}
.manager-home-status strong,.manager-home-status small{display:block}.manager-home-status strong{font-size:11px}.manager-home-status small{margin-top:3px;color:var(--muted);font-size:9px}
.status-orb{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#9da1a7;box-shadow:0 0 0 5px rgba(157,161,167,.12)}
.manager-home-status.active .status-orb{background:#3cb16c;box-shadow:0 0 0 5px rgba(60,177,108,.12)}
.manager-home-visual{position:relative;min-height:330px;display:grid;place-items:center;overflow:hidden}
.manager-home-visual::before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;border:1px solid rgba(197,31,37,.13);box-shadow:inset 0 0 45px rgba(197,31,37,.05)}
.manager-home-visual img{position:relative;z-index:4;width:126px;height:126px;filter:drop-shadow(0 16px 22px rgba(0,0,0,.17));animation:managerMarkFloat 4.5s ease-in-out infinite}
.access-ring{position:absolute;border-radius:50%;border:2px dashed rgba(197,31,37,.22);animation:accessSpin 20s linear infinite}.ring-one{width:245px;height:245px}.ring-two{width:365px;height:365px;animation-direction:reverse;animation-duration:29s;opacity:.55}
.access-route{position:absolute;width:70%;height:46%;border:3px dashed rgba(197,31,37,.3);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-18deg)}
.access-node{position:absolute;width:18px;height:18px;border:4px solid var(--surface);border-radius:50%;background:var(--red);box-shadow:0 5px 14px rgba(0,0,0,.18)}.node-one{left:17%;bottom:22%}.node-two{left:39%;top:14%}.node-three{right:26%;top:23%}.node-four{right:12%;bottom:25%}
@keyframes accessSpin{to{transform:rotate(360deg)}}@keyframes managerMarkFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
.selection-heading{margin:24px 3px 14px;display:flex;align-items:end;justify-content:space-between;gap:20px}.selection-heading h2{margin:0;font-size:25px;letter-spacing:-.03em}.selection-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.selection-count{padding:8px 11px;border:1px solid var(--line);border-radius:50px;background:var(--surface);color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em}
.manager-selection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.manager-card{position:relative;min-height:285px;padding:22px;overflow:hidden;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.manager-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--section-accent,var(--red)),transparent 78%);opacity:.85}
.manager-card::after{content:"";position:absolute;width:145px;height:145px;right:-58px;top:-64px;border:24px solid color-mix(in srgb,var(--section-accent,var(--red)) 12%,transparent);border-radius:50%}
.manager-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--section-accent,var(--red)) 42%,var(--line));box-shadow:0 20px 42px rgba(28,31,36,.14)}
.manager-card.selected{border-color:var(--section-accent,var(--red));box-shadow:0 0 0 3px color-mix(in srgb,var(--section-accent,var(--red)) 13%,transparent),0 18px 40px rgba(28,31,36,.13)}
.manager-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:2}
.manager-card-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--section-accent,var(--red)) 11%,var(--surface));color:var(--section-accent,var(--red));font-size:11px;font-weight:900;letter-spacing:.06em}
.manager-card-status{padding:6px 8px;border-radius:50px;background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:900}.manager-card.selected .manager-card-status{background:#e6f6ec;color:#318857}
.manager-card h3{position:relative;z-index:2;margin:20px 0 0;font-size:18px;letter-spacing:-.025em}.manager-card .manager-role{position:relative;z-index:2;margin-top:5px;color:var(--section-accent,var(--red));font-size:10px;font-weight:800}
.manager-card .manager-description{position:relative;z-index:2;min-height:51px;margin:13px 0 0;color:var(--muted);font-size:10px;line-height:1.55}
.manager-card-progress{position:relative;z-index:2;margin-top:18px}.manager-card-progress-copy{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px}.manager-card-progress-copy strong{color:var(--ink);font-size:10px}.manager-card-track{height:7px;margin-top:7px;overflow:hidden;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}.manager-card-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--section-accent,var(--red)),color-mix(in srgb,var(--section-accent,var(--red)) 68%,#fff));transition:width .35s}
.manager-card-action{position:relative;z-index:2;margin-top:19px;display:flex;align-items:center;justify-content:space-between;color:var(--section-accent,var(--red));font-size:10px;font-weight:900}.manager-card-action b{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--section-accent,var(--red)) 11%,var(--surface));font-size:15px;transition:transform .2s}.manager-card:hover .manager-card-action b{transform:translateX(4px)}
.access-information{margin-top:14px;padding:17px 20px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px}.access-info-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#fff0f1;color:var(--red)}.access-info-icon svg{width:22px;height:22px}.access-information strong{font-size:11px}.access-information p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.role-assessment-meta{background:radial-gradient(circle at 92% 17%,rgba(197,31,37,.1),transparent 225px),linear-gradient(115deg,var(--surface),var(--surface) 70%,rgba(197,31,37,.045))}
.active-role-copy h1{margin:0;font-size:28px;letter-spacing:-.035em}.active-role-copy p{margin:8px 0 0;color:var(--muted);font-size:11px}.active-role-copy p strong{color:var(--red)}
.role-toolbar{justify-content:space-between;gap:18px;padding-block:10px}.role-access-summary{display:flex;align-items:center;gap:11px}.role-lock{width:35px;height:35px;display:grid;place-items:center;flex:0 0 35px;border-radius:9px;background:#fff0f1;color:var(--red)}.role-lock svg{width:18px;height:18px}.role-access-summary strong,.role-access-summary small{display:block}.role-access-summary strong{font-size:10px}.role-access-summary small{margin-top:3px;color:var(--muted);font-size:8px}.role-toolbar-actions{display:flex;gap:8px}
.manager-locked-banner{padding:28px;text-align:center}.manager-locked-banner img{width:72px;height:72px}.manager-locked-banner h3{margin:14px 0 0}.manager-locked-banner p{margin:7px auto 16px;max-width:450px;color:var(--muted);font-size:11px}
.manager-card[data-section="rou"]{--section-accent:#c51f25}.manager-card[data-section="cash"]{--section-accent:#2d6f8d}.manager-card[data-section="depreciation"]{--section-accent:#7a5a9b}.manager-card[data-section="payroll"]{--section-accent:#b27716}
body.reduce-motion .manager-home-visual img,body.reduce-motion .access-ring{animation-play-state:paused}
@media(max-width:1180px){.manager-selection-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.manager-home-hero{grid-template-columns:1fr}.manager-home-copy{padding:34px 27px}.manager-home-visual{min-height:245px}.selection-heading{align-items:flex-start;flex-direction:column}.role-toolbar{align-items:flex-start;flex-direction:column}.role-toolbar-actions{width:100%}.role-toolbar-actions button{flex:1}}
@media(max-width:520px){.manager-selection-grid{grid-template-columns:1fr}.manager-card{min-height:250px}.access-information{grid-template-columns:42px 1fr}.access-information button{grid-column:1/-1}.manager-home-copy h1{font-size:35px}.manager-home-visual{min-height:205px}.ring-two{width:300px;height:300px}.role-toolbar-actions{flex-direction:column}}


/* Version 9: back, submit and submitted-report workflow */
.access-information-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.back-home-button{color:var(--ink)}
.submit-toolbar-button{color:#fff!important;background:linear-gradient(135deg,var(--red),var(--red-dark))!important;border-color:transparent!important;box-shadow:0 7px 16px rgba(197,31,37,.19)}
.submit-toolbar-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(197,31,37,.27)}
.submit-toolbar-button.ready{background:linear-gradient(135deg,#2d9b5d,#217746)!important;box-shadow:0 8px 18px rgba(45,155,93,.2)}
.submit-toolbar-button svg{width:17px;height:17px}
.incomplete-control td{background:#fff2f3!important;box-shadow:inset 0 1px rgba(197,31,37,.13),inset 0 -1px rgba(197,31,37,.13)}
.incomplete-control td:first-child{box-shadow:inset 4px 0 var(--red),inset 0 1px rgba(197,31,37,.13),inset 0 -1px rgba(197,31,37,.13)}
.submit-modal-icon{background:#e6f7ed!important;color:#278b51!important}
.submission-confirmation-summary{margin:-8px 0 21px;padding:13px 15px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.submission-confirmation-summary div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0;font-size:10px}
.submission-confirmation-summary span{color:var(--muted)}.submission-confirmation-summary strong{font-size:10px}
.submitted-page-heading{background:radial-gradient(circle at 91% 15%,rgba(197,31,37,.12),transparent 235px),var(--surface)}
.submission-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px}
.submission-metrics article{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.submission-metrics span,.submission-metrics strong,.submission-metrics small{display:block}
.submission-metrics span{color:var(--muted);font-size:9px}.submission-metrics strong{margin-top:6px;font-size:24px;letter-spacing:-.03em}.submission-metrics small{margin-top:4px;color:var(--muted);font-size:9px}
.submission-section-heading{margin:22px 3px 13px;display:flex;align-items:end;justify-content:space-between;gap:18px}
.submission-section-heading h2{margin:0;font-size:23px;letter-spacing:-.03em}.submission-section-heading p{margin:6px 0 0;color:var(--muted);font-size:10px}
.submission-all-filter.active{color:#fff;background:var(--red);border-color:var(--red)}
.submission-section-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}
.submission-section-card{position:relative;min-height:148px;padding:17px;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden;transition:.2s}
.submission-section-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--section-colour,var(--red))}
.submission-section-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--section-colour,var(--red)) 42%,var(--line))}
.submission-section-card.active{border-color:var(--section-colour,var(--red));box-shadow:0 0 0 3px color-mix(in srgb,var(--section-colour,var(--red)) 12%,transparent),var(--shadow)}
.submission-section-card[data-filter="rou"]{--section-colour:#c51f25}.submission-section-card[data-filter="cash"]{--section-colour:#2d6f8d}.submission-section-card[data-filter="depreciation"]{--section-colour:#7a5a9b}.submission-section-card[data-filter="payroll"]{--section-colour:#b27716}
.submission-section-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.submission-section-card-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--section-colour,var(--red)) 11%,var(--surface));color:var(--section-colour,var(--red));font-size:9px;font-weight:900}
.submission-section-card-count{padding:5px 7px;border-radius:50px;background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:900}
.submission-section-card h3{margin:14px 0 0;font-size:13px}.submission-section-card p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.45}
.submission-section-card-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px}.submission-section-card-footer strong{color:var(--section-colour,var(--red));font-size:9px}
.submitted-workspace{display:grid;grid-template-columns:minmax(350px,.75fr) minmax(0,1.25fr);gap:14px;align-items:start}
.submitted-list-panel,.submission-detail-panel{min-height:380px}.submitted-list-heading p{margin:5px 0 0;color:var(--muted);font-size:9px}
.submissions-list{display:grid;gap:10px}
.submission-record{padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);transition:.2s}
.submission-record:hover{border-color:rgba(197,31,37,.28);transform:translateY(-1px)}
.submission-record.active{border-color:var(--red);box-shadow:0 0 0 2px rgba(197,31,37,.08)}
.submission-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.submission-record h3{margin:0;font-size:12px}.submission-record p{margin:5px 0 0;color:var(--muted);font-size:9px}
.submitted-chip{padding:5px 7px;border-radius:50px;background:#e5f7ec;color:#2c8a52;font-size:8px;font-weight:900;white-space:nowrap}
.submission-record-meta{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.submission-record-meta div{padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.submission-record-meta span,.submission-record-meta strong{display:block}.submission-record-meta span{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.07em}.submission-record-meta strong{margin-top:3px;font-size:9px}
.submission-record-actions{margin-top:12px;display:flex;gap:7px}.submission-record-actions button{flex:1;min-height:33px}
.submission-empty{padding:45px 20px;text-align:center}.submission-empty img{width:68px;height:68px}.submission-empty h3{margin:14px 0 0}.submission-empty p{margin:7px auto 0;max-width:380px;color:var(--muted);font-size:10px;line-height:1.55}
.submission-detail-panel{position:sticky;top:calc(var(--topbar) + 16px)}
.submission-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.submission-detail-heading h2{margin:0;font-size:18px}.submission-detail-heading p{margin:5px 0 0;color:var(--muted);font-size:9px}
.detail-close-button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--muted);background:var(--surface-2);font-size:24px}.detail-close-button:hover{color:var(--red);background:#fff0f1}
.submission-detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.submission-detail-meta div{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.submission-detail-meta span,.submission-detail-meta strong{display:block}.submission-detail-meta span{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.07em}.submission-detail-meta strong{margin-top:4px;font-size:9px}
.submission-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}
.submitted-table-scroll{max-height:500px}.submitted-control-table{min-width:1120px}.submitted-control-table td{color:var(--ink)}.submitted-control-table tbody tr:hover td{background:var(--surface-2)}
.manager-card-submission{position:relative;z-index:2;margin-top:8px;color:#318857;font-size:8px;font-weight:800}
@media(max-width:1180px){.submission-section-grid{grid-template-columns:repeat(2,1fr)}.submitted-workspace{grid-template-columns:1fr}.submission-detail-panel{position:static}.submission-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.access-information-actions{grid-column:1/-1;width:100%}.access-information-actions button{flex:1}.submission-section-heading{align-items:flex-start;flex-direction:column}.submission-section-grid{grid-template-columns:1fr}.submission-detail-meta{grid-template-columns:repeat(2,1fr)}.submission-record-meta{grid-template-columns:1fr}.role-toolbar-actions{flex-direction:column}.submission-metrics{grid-template-columns:1fr}}
@media(max-width:470px){.submission-detail-actions,.submission-record-actions{flex-direction:column}.submission-detail-meta{grid-template-columns:1fr}}
@media print{body.printing-submission .topbar,body.printing-submission .sidebar,body.printing-submission .submitted-list-panel,body.printing-submission .page-heading,body.printing-submission .submission-metrics,body.printing-submission .submission-section-heading,body.printing-submission .submission-section-grid,body.printing-submission .floating-save,body.printing-submission .submission-detail-actions{display:none!important}body.printing-submission .main-content{margin:0;padding:0}body.printing-submission #submissionDetailPanel{display:block!important;position:static;box-shadow:none;border:0}}

/* Tristan's private Falling Peanuts theme. */
.account-wallpaper{
  position:fixed;
  z-index:1;
  inset:var(--topbar) 0 0 var(--sidebar);
  overflow:hidden;
  pointer-events:none;
}
.peanut-wallpaper{
  background:
    radial-gradient(circle at 12% 18%,rgba(255,226,153,.38),transparent 22rem),
    radial-gradient(circle at 88% 72%,rgba(160,94,35,.14),transparent 25rem),
    linear-gradient(135deg,rgba(255,248,224,.78),rgba(237,214,169,.48));
}
.peanut-wallpaper span{
  position:absolute;
  top:-70px;
  left:var(--peanut-x);
  font-size:var(--peanut-size,28px);
  opacity:.42;
  filter:drop-shadow(0 5px 5px rgba(90,48,15,.18));
  animation:peanutFall var(--peanut-speed,11s) linear infinite;
  animation-delay:var(--peanut-delay,0s);
  will-change:transform;
}
.peanut-wallpaper span::before{content:"🥜"}
.peanut-wallpaper span:nth-child(1){--peanut-x:2%;--peanut-size:24px;--peanut-speed:10s;--peanut-delay:-1s}
.peanut-wallpaper span:nth-child(2){--peanut-x:8%;--peanut-size:34px;--peanut-speed:13s;--peanut-delay:-8s}
.peanut-wallpaper span:nth-child(3){--peanut-x:14%;--peanut-size:22px;--peanut-speed:9s;--peanut-delay:-4s}
.peanut-wallpaper span:nth-child(4){--peanut-x:20%;--peanut-size:30px;--peanut-speed:12s;--peanut-delay:-10s}
.peanut-wallpaper span:nth-child(5){--peanut-x:27%;--peanut-size:26px;--peanut-speed:10.5s;--peanut-delay:-6s}
.peanut-wallpaper span:nth-child(6){--peanut-x:34%;--peanut-size:36px;--peanut-speed:14s;--peanut-delay:-2s}
.peanut-wallpaper span:nth-child(7){--peanut-x:41%;--peanut-size:23px;--peanut-speed:9.5s;--peanut-delay:-7s}
.peanut-wallpaper span:nth-child(8){--peanut-x:48%;--peanut-size:31px;--peanut-speed:12.5s;--peanut-delay:-3s}
.peanut-wallpaper span:nth-child(9){--peanut-x:55%;--peanut-size:25px;--peanut-speed:11s;--peanut-delay:-9s}
.peanut-wallpaper span:nth-child(10){--peanut-x:62%;--peanut-size:38px;--peanut-speed:15s;--peanut-delay:-5s}
.peanut-wallpaper span:nth-child(11){--peanut-x:69%;--peanut-size:22px;--peanut-speed:9s;--peanut-delay:-11s}
.peanut-wallpaper span:nth-child(12){--peanut-x:76%;--peanut-size:29px;--peanut-speed:12s;--peanut-delay:-1.5s}
.peanut-wallpaper span:nth-child(13){--peanut-x:83%;--peanut-size:33px;--peanut-speed:13.5s;--peanut-delay:-7.5s}
.peanut-wallpaper span:nth-child(14){--peanut-x:90%;--peanut-size:24px;--peanut-speed:10s;--peanut-delay:-4.5s}
.peanut-wallpaper span:nth-child(15){--peanut-x:96%;--peanut-size:35px;--peanut-speed:14s;--peanut-delay:-12s}
.peanut-wallpaper span:nth-child(16){--peanut-x:11%;--peanut-size:27px;--peanut-speed:11.5s;--peanut-delay:-13s}
.peanut-wallpaper span:nth-child(17){--peanut-x:24%;--peanut-size:21px;--peanut-speed:8.5s;--peanut-delay:-2.5s}
.peanut-wallpaper span:nth-child(18){--peanut-x:38%;--peanut-size:32px;--peanut-speed:13s;--peanut-delay:-9.5s}
.peanut-wallpaper span:nth-child(19){--peanut-x:51%;--peanut-size:28px;--peanut-speed:10.5s;--peanut-delay:-5.5s}
.peanut-wallpaper span:nth-child(20){--peanut-x:65%;--peanut-size:23px;--peanut-speed:9.5s;--peanut-delay:-12.5s}
.peanut-wallpaper span:nth-child(21){--peanut-x:73%;--peanut-size:36px;--peanut-speed:14.5s;--peanut-delay:-3.5s}
.peanut-wallpaper span:nth-child(22){--peanut-x:80%;--peanut-size:25px;--peanut-speed:11s;--peanut-delay:-8.5s}
.peanut-wallpaper span:nth-child(23){--peanut-x:88%;--peanut-size:30px;--peanut-speed:12.5s;--peanut-delay:-6.5s}
.peanut-wallpaper span:nth-child(24){--peanut-x:94%;--peanut-size:20px;--peanut-speed:8s;--peanut-delay:-10.5s}
body[data-portal-theme="peanuts"]{
  --red:#9b5c22;--red-2:#c98535;--red-dark:#663713;
}
body[data-portal-theme="peanuts"] .topbar{
  background:linear-gradient(110deg,#603411,#9b5c22 50%,#d79b4e 100%);
}
body[data-portal-theme="peanuts"] .sidebar{
  background:linear-gradient(180deg,#754618,#503016 52%,#292b2f);
}
body[data-portal-theme="peanuts"] .seasonal-decor{display:none!important}
body[data-portal-theme="peanuts"] .panel,
body[data-portal-theme="peanuts"] .assessment-card,
body[data-portal-theme="peanuts"] .hero-dashboard,
body[data-portal-theme="peanuts"] .page-heading,
body[data-portal-theme="peanuts"] .metric-card,
body[data-portal-theme="peanuts"] .report-metrics article{
  backdrop-filter:blur(5px);
  background-color:color-mix(in srgb,var(--surface) 94%,transparent);
}
@keyframes peanutFall{
  0%{transform:translate3d(0,-12vh,0) rotate(0deg)}
  50%{transform:translate3d(34px,52vh,0) rotate(330deg)}
  100%{transform:translate3d(-24px,112vh,0) rotate(720deg)}
}
@media(max-width:900px){.account-wallpaper{left:0}}
@media print{.account-wallpaper{display:none!important}}


/* Version 11: branch -> manager section hierarchy */
.branch-home-hero{min-height:365px}
.hierarchy-path{width:fit-content;max-width:100%;margin-top:24px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 8px 22px rgba(0,0,0,.055)}
.hierarchy-path>i{color:var(--muted);font-style:normal;font-size:16px}
.hierarchy-step{min-width:190px;display:flex;align-items:center;gap:10px;opacity:.55;transition:.2s}
.hierarchy-step>span{width:31px;height:31px;display:grid;place-items:center;flex:0 0 31px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);font-size:10px;font-weight:900}
.hierarchy-step small,.hierarchy-step strong{display:block}.hierarchy-step small{color:var(--muted);font-size:7px;letter-spacing:.1em}.hierarchy-step strong{margin-top:3px;font-size:10px}
.hierarchy-step.active{opacity:1}.hierarchy-step.active>span{color:#fff;background:var(--red);border-color:var(--red);box-shadow:0 0 0 5px rgba(197,31,37,.1)}
.branch-network-visual{overflow:hidden}.branch-network-line{position:absolute;z-index:2;width:125px;height:2px;transform-origin:left center;background:linear-gradient(90deg,rgba(197,31,37,.65),rgba(197,31,37,.1));animation:branchLinePulse 2.4s ease-in-out infinite alternate}.line-a{left:50%;top:50%;transform:rotate(-145deg)}.line-b{left:50%;top:50%;transform:rotate(-35deg)}.line-c{left:50%;top:50%;transform:rotate(145deg)}.line-d{left:50%;top:50%;transform:rotate(35deg)}
.branch-network-node{position:absolute;z-index:5;width:45px;height:45px;display:grid;place-items:center;border:4px solid var(--surface);border-radius:50%;color:#fff;background:var(--red);box-shadow:0 8px 18px rgba(0,0,0,.2);font-size:8px;font-weight:900}.n1{left:14%;top:19%}.n2{right:14%;top:20%}.n3{left:18%;bottom:15%}.n4{right:17%;bottom:16%}
@keyframes branchLinePulse{from{opacity:.35;filter:blur(.2px)}to{opacity:.85;filter:blur(0)}}
.branch-selection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.branch-card{--branch-accent:var(--red);position:relative;min-height:215px;padding:20px;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;transition:.23s}
.branch-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--branch-accent),transparent 82%)}
.branch-card::after{content:"";position:absolute;right:-52px;top:-58px;width:145px;height:145px;border:25px solid color-mix(in srgb,var(--branch-accent) 11%,transparent);border-radius:50%}
.branch-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--branch-accent) 43%,var(--line));box-shadow:0 20px 42px rgba(28,31,36,.14)}
.branch-card.selected{border-color:var(--branch-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--branch-accent) 12%,transparent),0 20px 42px rgba(28,31,36,.13)}
.branch-card[data-branch="johannesburg"]{--branch-accent:#c51f25}.branch-card[data-branch="durban"]{--branch-accent:#2d758f}.branch-card[data-branch="cape-town"]{--branch-accent:#6b5ba8}.branch-card[data-branch="george"]{--branch-accent:#358a68}.branch-card[data-branch="polokwane"]{--branch-accent:#b47b18}.branch-card[data-branch="nelspruit"]{--branch-accent:#a44d77}.branch-card[data-branch="middelburg"]{--branch-accent:#596a80}.branch-card[data-branch="port-elizabeth"]{--branch-accent:#b14838}
.branch-card-top{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.branch-code{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:var(--branch-accent);background:color-mix(in srgb,var(--branch-accent) 11%,var(--surface));font-size:10px;font-weight:900;letter-spacing:.06em}
.branch-selected-chip{padding:6px 8px;border-radius:50px;color:var(--muted);background:var(--surface-2);font-size:7px;font-weight:900}.branch-card.selected .branch-selected-chip{color:#2c8650;background:#e6f7ed}
.branch-card h3{position:relative;z-index:2;margin:17px 0 0;font-size:16px;letter-spacing:-.025em}.branch-card p{position:relative;z-index:2;margin:6px 0 0;color:var(--muted);font-size:9px}
.branch-card-stats{position:relative;z-index:2;margin-top:17px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.branch-card-stats div{padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.branch-card-stats span,.branch-card-stats strong{display:block}.branch-card-stats span{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.07em}.branch-card-stats strong{margin-top:3px;font-size:10px}
.branch-card-action{position:relative;z-index:2;margin-top:16px;display:flex;align-items:center;justify-content:space-between;color:var(--branch-accent);font-size:9px;font-weight:900}.branch-card-action b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--branch-accent) 11%,var(--surface));font-size:15px;transition:.2s}.branch-card:hover .branch-card-action b{transform:translateX(4px)}
.manager-workspace-area{scroll-margin-top:calc(var(--topbar) + 20px);animation:managerAreaIn .3s ease both}@keyframes managerAreaIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.submitted-branch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:15px}
.submitted-branch-card{--branch-accent:var(--red);min-height:122px;padding:15px;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);transition:.2s}
.submitted-branch-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--branch-accent) 42%,var(--line))}.submitted-branch-card.active{border-color:var(--branch-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--branch-accent) 12%,transparent),var(--shadow)}
.submitted-branch-card[data-branch-filter="johannesburg"]{--branch-accent:#c51f25}.submitted-branch-card[data-branch-filter="durban"]{--branch-accent:#2d758f}.submitted-branch-card[data-branch-filter="cape-town"]{--branch-accent:#6b5ba8}.submitted-branch-card[data-branch-filter="george"]{--branch-accent:#358a68}.submitted-branch-card[data-branch-filter="polokwane"]{--branch-accent:#b47b18}.submitted-branch-card[data-branch-filter="nelspruit"]{--branch-accent:#a44d77}.submitted-branch-card[data-branch-filter="middelburg"]{--branch-accent:#596a80}.submitted-branch-card[data-branch-filter="port-elizabeth"]{--branch-accent:#b14838}
.submitted-branch-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.submitted-branch-card-code{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;color:var(--branch-accent);background:color-mix(in srgb,var(--branch-accent) 11%,var(--surface));font-size:8px;font-weight:900}.submitted-branch-card-count{padding:5px 7px;border-radius:50px;color:var(--muted);background:var(--surface-2);font-size:7px;font-weight:900}
.submitted-branch-card h3{margin:12px 0 0;font-size:11px}.submitted-branch-card p{margin:5px 0 0;color:var(--muted);font-size:8px}
.branch-context-chip{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:5px 8px;border-radius:50px;background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:800}
.submission-record-branch{margin-top:5px;color:var(--red);font-size:8px;font-weight:800}
@media(max-width:1180px){.branch-selection-grid,.submitted-branch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.hierarchy-path{width:100%;align-items:stretch;flex-direction:column}.hierarchy-path>i{transform:rotate(90deg);align-self:center}.hierarchy-step{min-width:0;width:100%}.branch-selection-grid,.submitted-branch-grid{grid-template-columns:1fr}.branch-network-visual{min-height:235px}}


/* Version 12: working native branch dropdown */
.branch-dropdown-panel{
  min-height:128px;
  padding:20px 22px;
  display:grid;
  grid-template-columns:52px minmax(260px,1fr) minmax(240px,.72fr);
  align-items:center;
  gap:18px;
}
.branch-dropdown-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:var(--red);
  background:#fff0f1;
}
.branch-dropdown-icon svg{width:25px;height:25px}
.branch-select-field{display:block;min-width:0}
.branch-select-field>span{
  display:block;
  margin-bottom:7px;
  color:var(--ink);
  font-size:11px;
  font-weight:800;
}
.branch-select-field select{
  width:100%;
  min-height:48px;
  padding:0 44px 0 14px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--ink);
  background-color:var(--surface);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.branch-select-field select:hover{border-color:rgba(197,31,37,.45)}
.branch-select-field select:focus{border-color:var(--red);outline:3px solid rgba(197,31,37,.13)}
.branch-select-field small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:9px;
}
.branch-selection-result{
  min-height:72px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.branch-selection-result.selected{
  border-color:rgba(197,31,37,.28);
  background:linear-gradient(135deg,#fff7f8,var(--surface));
}
.branch-result-code{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 46px;
  border-radius:12px;
  color:var(--muted);
  background:var(--surface);
  border:1px solid var(--line);
  font-size:10px;
  font-weight:900;
}
.branch-selection-result.selected .branch-result-code{
  color:#fff;
  background:var(--red);
  border-color:var(--red);
}
.branch-selection-result small,
.branch-selection-result strong,
.branch-selection-result p{display:block}
.branch-selection-result small{
  color:var(--muted);
  font-size:7px;
  letter-spacing:.09em;
}
.branch-selection-result strong{
  margin-top:3px;
  font-size:11px;
}
.branch-selection-result p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
}
.manager-workspace-area[hidden]{display:none!important}
@media(max-width:850px){
  .branch-dropdown-panel{grid-template-columns:50px 1fr}
  .branch-selection-result{grid-column:1/-1}
}
@media(max-width:560px){
  .branch-dropdown-panel{grid-template-columns:1fr;padding:17px}
  .branch-dropdown-icon{display:none}
}


/* Version 13: categorised branch checks from the uploaded workbook */
.control-table th:nth-child(1){width:205px}
.control-table th:nth-child(2){width:175px}
.control-table th:nth-child(3){width:430px}
.manager-selection-grid{grid-template-columns:repeat(4,1fr)}
.manager-card[data-section="building-facility"]{--section-accent:#c51f25}
.manager-card[data-section="security-safety"]{--section-accent:#9c2f32}
.manager-card[data-section="pallet-jacks"]{--section-accent:#6a607f}
.manager-card[data-section="electronic-equipment"]{--section-accent:#2d6f8d}
.manager-card[data-section="other-equipment"]{--section-accent:#596a80}
.manager-card[data-section="vehicle-checks"]{--section-accent:#aa5d21}
.manager-card[data-section="other-cost-checks"]{--section-accent:#8f6c19}
.manager-card[data-section="service-levels"]{--section-accent:#338563}
.submitted-branch-card[data-branch-filter="bloemfontein"]{--branch-accent:#4d7a57}
@media(max-width:1280px){.manager-selection-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.manager-selection-grid{grid-template-columns:1fr}}


/* Version 14: clearer questions and requested response controls */
.control-table{
  min-width:1490px;
}
.control-table th{
  padding:11px 10px;
  color:var(--ink);
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.control-table td{
  padding:11px 10px;
  font-size:12px;
  line-height:1.5;
}
.control-table td:nth-child(2){
  color:var(--ink);
  font-size:13px;
  font-weight:650;
}
.control-table .question-cell,
.control-table td:nth-child(3){
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  line-height:1.6;
  letter-spacing:.002em;
  background:color-mix(in srgb,var(--surface) 92%,#fff5f6)!important;
}
.control-table tbody tr:hover .question-cell,
.control-table tbody tr:hover td:nth-child(3){
  background:#fff0f2!important;
}
.control-table th:nth-child(1){width:195px}
.control-table th:nth-child(2){width:185px}
.control-table th:nth-child(3){width:485px}
.control-table th:nth-child(4){width:105px}
.control-table th:nth-child(5){width:175px}
.control-table th:nth-child(6){width:190px}
.control-table th:nth-child(7){width:120px}
.control-table th:nth-child(8){width:210px}

.control-table select{
  width:100%;
  min-height:39px;
  padding:6px 30px 6px 9px;
  border:1px solid var(--line);
  border-radius:7px;
  outline:0;
  color:var(--ink);
  background:var(--surface);
  font-size:11px;
  font-weight:650;
  cursor:pointer;
}
.control-table select:hover{
  border-color:rgba(197,31,37,.45);
}
.control-table select:focus{
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(197,31,37,.11);
}

.control-table textarea{
  width:100%;
  min-height:72px;
  padding:9px 10px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:7px;
  outline:0;
  color:var(--ink);
  background:var(--surface);
  font-size:12px;
  line-height:1.45;
}
.control-table textarea::placeholder{
  color:var(--muted);
}
.control-table textarea:focus{
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(197,31,37,.11);
}
.comment-cell{
  vertical-align:top!important;
}

.submitted-control-table td:nth-child(2){
  font-size:12px;
  font-weight:650;
}
.submitted-control-table td:nth-child(3){
  color:var(--ink);
  font-size:14px;
  font-weight:700;
  line-height:1.55;
}
body.compact .control-table .question-cell,
body.compact .control-table td:nth-child(3){
  font-size:13px;
}


/* Version 15: polished, clearer interface with locked questions */
:root{--shadow-soft:0 8px 24px rgba(27,31,36,.07);--shadow-lift:0 18px 42px rgba(27,31,36,.13);--locked-bg:#f4f5f7;--question-bg:#fff8f8}
body{line-height:1.5;background:radial-gradient(circle at 87% 8%,rgba(197,31,37,.07),transparent 29rem),linear-gradient(135deg,rgba(255,255,255,.72) 0 1px,transparent 1px 52px),var(--page);background-size:auto,52px 52px,auto}
body.dark{--locked-bg:#292c31;--question-bg:#30272a}
.main-content{max-width:1720px;margin-right:auto}.page{padding-bottom:22px}
.panel,.assessment-card,.page-heading,.manager-card,.branch-dropdown-panel{border-color:color-mix(in srgb,var(--line) 86%,#bfc3c9)}
.page-heading{padding:31px 34px;border-radius:16px}.page-heading h1{font-size:32px}.page-heading p{max-width:760px;font-size:13px;line-height:1.65}
.header-city{opacity:.07}.speed-line{opacity:.14}.header-copy strong{font-size:15px}.header-copy span{font-size:11px;opacity:.82}.header-road{height:19px;background:rgba(72,0,5,.18)}.header-truck{filter:drop-shadow(0 10px 9px rgba(54,0,4,.23))}
.sidebar-mark{padding:12px;margin-bottom:12px}.sidebar-mark strong{font-size:13px}.sidebar-mark small{font-size:10px}.nav-link{min-height:58px;font-size:13px}
.branch-dropdown-panel{border-radius:16px;box-shadow:var(--shadow-soft)}.branch-select-field>span{font-size:13px}.branch-select-field select{min-height:54px;padding-left:16px;font-size:14px;border-width:1.5px}.branch-select-field small{font-size:10px}.branch-selection-result{min-height:82px;padding:15px}.branch-selection-result strong{font-size:13px}.branch-selection-result p{font-size:10px}

.branch-overview-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 5px}
.branch-overview-strip article{min-height:92px;padding:16px;display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft)}
.overview-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;color:var(--red);background:#fff0f1;font-size:16px;font-weight:900}
body.dark .overview-icon{background:#3a272b}.branch-overview-strip small,.branch-overview-strip strong{display:block}.branch-overview-strip small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em}.branch-overview-strip strong{margin-top:5px;font-size:18px;letter-spacing:-.02em}

.selection-heading{margin-top:28px}.selection-heading h2{font-size:27px}.selection-heading p{font-size:12px}.manager-selection-grid{gap:16px}
.manager-card{min-height:338px;padding:23px;border-radius:16px;box-shadow:var(--shadow-soft)}.manager-card:hover{box-shadow:var(--shadow-lift)}
.manager-card-top{align-items:center}.manager-card-icon{width:58px;height:58px;border-radius:15px;font-size:12px}
.manager-progress-ring{--progress:0deg;position:relative;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--section-accent,var(--red)) var(--progress),var(--surface-2) 0)}
.manager-progress-ring::before{content:"";position:absolute;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--line)}
.manager-progress-ring strong{position:relative;z-index:1;font-size:9px}.manager-card-status{display:inline-flex;width:fit-content;margin-top:14px}.manager-card h3{margin-top:16px;font-size:20px}.manager-role{font-size:11px}.manager-question-count{position:relative;z-index:2;margin-top:7px;color:var(--muted);font-size:9px;font-weight:700}.manager-description{min-height:48px;font-size:11px;line-height:1.6}.manager-card-action{font-size:11px}

.assessment-card{border-radius:16px}.assessment-meta{min-height:165px;padding:32px 36px}.assessment-meta h1{font-size:28px}.assessment-meta p{font-size:13px}.assessment-overview{width:min(410px,44%);padding:20px;border-radius:14px}.completion-copy span{font-size:11px}.completion-copy strong{font-size:27px}.overall-progress-track{height:11px}.assessment-toolbar{min-height:70px;padding:12px 19px}

.assessment-guide{margin:15px 15px 0;padding:14px 16px;display:grid;grid-template-columns:minmax(235px,.8fr) minmax(360px,1.4fr) auto;align-items:center;gap:18px;color:var(--ink);background:linear-gradient(135deg,#fff7f8,var(--surface));border:1px solid rgba(197,31,37,.16);border-radius:12px}
body.dark .assessment-guide{background:linear-gradient(135deg,#322529,var(--surface))}.guide-intro{display:flex;align-items:center;gap:11px}.guide-icon{width:35px;height:35px;display:grid;place-items:center;flex:0 0 35px;border-radius:50%;color:#fff;background:var(--red);font-size:13px;font-weight:900}.guide-intro strong,.guide-intro small{display:block}.guide-intro strong{font-size:11px}.guide-intro small{margin-top:3px;color:var(--muted);font-size:8px}
.guide-steps{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.guide-steps span{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:50px;background:var(--surface);color:var(--muted);font-size:8px;font-weight:700}.guide-steps b{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;color:var(--red);background:#fff0f1}.row-status-legend{display:flex;gap:11px;white-space:nowrap}.row-status-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px;font-weight:700}.legend-dot{width:9px;height:9px;border-radius:50%}.legend-dot.complete{background:#39a968}.legend-dot.pending{background:#d8941f}

.accordion-trigger{min-height:82px;grid-template-columns:54px 1fr auto;padding:0 27px}.section-icon{width:48px;height:48px;border-radius:13px}.section-main strong{font-size:16px}.section-main small{font-size:10px}.section-progress-mini{width:210px;height:7px}.count{padding:7px 11px;font-size:10px}.accordion-panel{padding:26px 18px 32px}.section-label-row{gap:18px}.section-label-row h2{font-size:18px}.section-label-row .eyebrow{margin-bottom:5px;font-size:8px}.completion-requirement{max-width:440px;padding:8px 10px;border-radius:8px;background:var(--surface-2);text-align:right;line-height:1.45}.table-reading-hint{margin-bottom:13px;padding:10px 12px;color:var(--muted);background:var(--surface-2);border-left:4px solid var(--red);border-radius:7px;font-size:10px;line-height:1.55}

.table-scroll{max-height:68vh;overflow:auto;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-soft)}
.control-table{border:0;min-width:1510px}.control-table thead th{position:sticky;top:0;z-index:5;height:66px;padding:12px 11px;color:var(--ink);background:var(--surface-2);border-color:var(--line);font-size:12px;font-weight:850;box-shadow:inset 0 -2px rgba(197,31,37,.11)}
.control-table td{padding:13px 11px;border-color:var(--line);color:var(--ink);font-size:12px;vertical-align:top}.control-table tbody tr:nth-child(even) td{background:transparent}.control-table tbody tr:hover td{background:color-mix(in srgb,#fff3f4 70%,var(--surface))}body.dark .control-table tbody tr:hover td{background:#35292d}

.locked-cell{position:relative;cursor:default;user-select:text;background:var(--locked-bg)!important}.financial-risk-cell{padding-top:27px!important;font-size:12px!important;font-weight:700}.locked-label{position:absolute;top:8px;left:10px;padding:2px 5px;border-radius:4px;color:var(--muted);background:var(--surface);border:1px solid var(--line);font-size:6px;font-weight:900;letter-spacing:.08em}.concern-cell{font-size:13px!important;font-weight:700!important;line-height:1.55!important}
.control-table .question-cell{position:relative;padding:43px 18px 17px!important;color:var(--ink);background:var(--question-bg)!important;border-left:4px solid rgba(197,31,37,.38);font-size:16px;font-weight:750;line-height:1.62}.question-cell::before{content:attr(data-question-number);position:absolute;top:10px;left:14px;min-width:34px;padding:4px 7px;border-radius:50px;color:#fff;background:var(--red);text-align:center;font-size:8px;font-weight:900;letter-spacing:.06em}.question-cell::after{content:"READ ONLY";position:absolute;top:12px;right:13px;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.08em}.control-table tbody tr:hover .question-cell{background:#fff0f2!important}body.dark .control-table tbody tr:hover .question-cell{background:#3b282d!important}

.control-table select{min-height:44px;padding:7px 30px 7px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);font-size:11px;font-weight:700}.control-table select:hover{border-color:rgba(197,31,37,.5)}.control-table select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(197,31,37,.11)}
.control-table textarea{min-height:94px;padding:11px;border:1.5px solid var(--line);border-radius:8px;font-size:12px;line-height:1.5}.control-table textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(197,31,37,.11)}

.control-table tbody tr.is-pending td:first-child{box-shadow:inset 5px 0 #d8941f}.control-table tbody tr.is-complete td:first-child{box-shadow:inset 5px 0 #39a968}.control-table tbody tr.is-complete td:nth-child(n+4){background:color-mix(in srgb,#eaf8ef 38%,var(--surface))}body.dark .control-table tbody tr.is-complete td:nth-child(n+4){background:#24342b}.incomplete-control td{animation:rowAttention .6s ease 2}@keyframes rowAttention{50%{background:#ffe7e9!important}}

.locked-questions-note{margin-top:16px;padding:13px 15px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.locked-questions-note>span{font-size:20px}.locked-questions-note strong,.locked-questions-note small{display:block}.locked-questions-note strong{font-size:10px}.locked-questions-note small{margin-top:3px;color:var(--muted);font-size:8px}

.report-metrics article,.submission-metrics article{border-radius:14px;box-shadow:var(--shadow-soft)}.submission-section-card,.submitted-branch-card,.submission-record{border-radius:13px}.submission-record h3{font-size:13px}
@media(max-width:1240px){.branch-overview-strip{grid-template-columns:repeat(2,1fr)}.assessment-guide{grid-template-columns:1fr}.row-status-legend{justify-content:flex-start}}
@media(max-width:760px){.branch-overview-strip{grid-template-columns:1fr}.assessment-meta{padding:25px 21px}.assessment-meta h1{font-size:23px}.assessment-guide{margin:10px 8px 0;padding:13px}.guide-steps{align-items:stretch;flex-direction:column}.guide-steps span{border-radius:8px}.accordion-trigger{grid-template-columns:48px 1fr auto;padding:0 14px}.section-main strong{font-size:14px}.section-progress-mini{width:120px}.section-label-row{align-items:flex-start;flex-direction:column}.completion-requirement{text-align:left}}
@media(max-width:480px){.manager-card{min-height:310px}.manager-progress-ring{width:52px;height:52px}.manager-progress-ring::before{width:39px;height:39px}}


/* Version 16: full-width question cards — no internal horizontal or vertical scrolling */
.question-list{
  display:grid;
  gap:16px;
  width:100%;
  overflow:visible;
}

.question-card{
  position:relative;
  width:100%;
  overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow-soft);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.question-card:hover{
  border-color:rgba(197,31,37,.28);
  box-shadow:0 13px 31px rgba(27,31,36,.1);
}
.question-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#d8941f;
}
.question-card.is-complete::before{background:#39a968}

.question-card-header{
  min-height:112px;
  padding:20px 22px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:start;
  gap:16px;
  background:linear-gradient(135deg,var(--question-bg),var(--surface));
  border-bottom:1px solid var(--line);
}
.question-number{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(135deg,var(--red-2),var(--red-dark));
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(197,31,37,.2);
}
.question-heading-copy{min-width:0}
.question-heading-copy>span{
  display:block;
  margin-bottom:7px;
  color:var(--red);
  font-size:10px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.question-heading-copy>strong{
  display:block;
  color:var(--ink);
  font-size:18px;
  font-weight:750;
  line-height:1.55;
}
.question-status{
  min-width:116px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:50px;
  font-size:9px;
  font-weight:850;
  white-space:nowrap;
}
.question-status i{
  width:8px;
  height:8px;
  border-radius:50%;
}
.question-status.pending{
  color:#986617;
  background:#fff4dd;
}
.question-status.pending i{background:#d8941f}
.question-status.complete{
  color:#277b4a;
  background:#e8f7ee;
}
.question-status.complete i{background:#39a968}
body.dark .question-status.pending{background:#42351f;color:#f1bd65}
body.dark .question-status.complete{background:#20392a;color:#72d99a}

.question-context{
  padding:14px 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:stretch;
  background:var(--locked-bg);
  border-bottom:1px solid var(--line);
}
.question-context>div{
  min-width:0;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
}
.question-context span,
.question-context strong{
  display:block;
}
.question-context>div>span{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.question-context>div>strong{
  margin-top:5px;
  color:var(--ink);
  font-size:11px;
  line-height:1.5;
}
.question-context .locked-question-notice{
  min-width:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--muted);
  background:transparent;
  border-style:dashed;
}
.locked-question-notice>span{font-size:17px}
.locked-question-notice p{
  margin:0;
  font-size:9px;
  font-weight:750;
}

.question-answer-grid{
  padding:20px 22px 22px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.question-answer-grid label{
  min-width:0;
  display:block;
}
.question-answer-grid label>span{
  display:block;
  min-height:34px;
  margin-bottom:7px;
  color:var(--ink);
  font-size:10px;
  font-weight:800;
  line-height:1.35;
}
.question-answer-grid select{
  width:100%;
  min-height:48px;
  padding:8px 34px 8px 11px;
  border:1.5px solid var(--line);
  border-radius:9px;
  color:var(--ink);
  background:var(--surface);
  font-size:12px;
  font-weight:700;
}
.question-answer-grid select:hover{border-color:rgba(197,31,37,.48)}
.question-answer-grid select:focus{
  border-color:var(--red);
  outline:3px solid rgba(197,31,37,.11);
}
.question-comment-field{
  grid-column:1/-1;
}
.question-comment-field>span{min-height:0!important}
.question-answer-grid textarea{
  width:100%;
  min-height:100px;
  padding:12px 13px;
  resize:vertical;
  border:1.5px solid var(--line);
  border-radius:9px;
  color:var(--ink);
  background:var(--surface);
  font-size:13px;
  line-height:1.5;
}
.question-answer-grid textarea:focus{
  border-color:var(--red);
  outline:3px solid rgba(197,31,37,.11);
}

.question-card.is-complete .question-answer-grid{
  background:color-mix(in srgb,#eaf8ef 30%,var(--surface));
}
body.dark .question-card.is-complete .question-answer-grid{
  background:#223128;
}
.question-card.incomplete-control{
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(197,31,37,.11),var(--shadow-soft);
  animation:questionCardAttention .55s ease 2;
}
@keyframes questionCardAttention{
  50%{transform:translateY(-3px)}
}

/* The form now uses normal website scrolling only. */
.accordion-panel{
  overflow:visible;
}
#accordionList,
.question-list,
.question-card{
  max-height:none;
}
.question-list{
  overflow-x:hidden;
  overflow-y:visible;
}

@media(max-width:1050px){
  .question-answer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .question-card-header{
    grid-template-columns:45px minmax(0,1fr);
    padding:17px;
  }
  .question-number{
    width:43px;
    height:43px;
  }
  .question-status{
    grid-column:1/-1;
    width:fit-content;
    margin-left:61px;
  }
  .question-heading-copy>strong{
    font-size:16px;
  }
  .question-context{
    grid-template-columns:1fr;
    padding:13px 17px;
  }
  .question-context .locked-question-notice{
    min-width:0;
    justify-content:flex-start;
  }
  .question-answer-grid{
    grid-template-columns:1fr;
    padding:17px;
  }
  .question-comment-field{
    grid-column:auto;
  }
  .question-answer-grid label>span{
    min-height:0;
  }
}


/* Version 17: high-contrast, fully readable dark mode */
body.dark{
  --ink:#ffffff;
  --muted:#c7cbd2;
  --line:#59606b;
  --surface:#252930;
  --surface-2:#30353d;
  --page:#15181d;
  --charcoal:#252930;
  --charcoal-2:#191c21;
  --locked-bg:#2f343c;
  --question-bg:#39282d;
  --shadow:0 16px 40px rgba(0,0,0,.42);
  --shadow-soft:0 9px 25px rgba(0,0,0,.32);
  --shadow-lift:0 20px 45px rgba(0,0,0,.45);
  background:
    radial-gradient(circle at 87% 8%,rgba(227,49,56,.16),transparent 31rem),
    linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 52px),
    var(--page);
  color:#ffffff;
}

/* General dark-mode text contrast */
body.dark h1,
body.dark h2,
body.dark h3,
body.dark strong,
body.dark label,
body.dark .page-heading h1,
body.dark .selection-heading h2,
body.dark .manager-card h3,
body.dark .section-main strong,
body.dark .assessment-meta h1,
body.dark .question-heading-copy>strong,
body.dark .question-context>div>strong,
body.dark .branch-selection-result strong,
body.dark .branch-overview-strip strong{
  color:#ffffff;
}

body.dark p,
body.dark small,
body.dark .manager-description,
body.dark .manager-question-count,
body.dark .section-main small,
body.dark .completion-requirement,
body.dark .table-reading-hint,
body.dark .guide-intro small,
body.dark .guide-steps span,
body.dark .row-status-legend span,
body.dark .question-context>div>span,
body.dark .locked-question-notice p,
body.dark .branch-select-field small,
body.dark .branch-selection-result p{
  color:#d1d5dc;
}

/* Main surfaces */
body.dark .panel,
body.dark .assessment-card,
body.dark .page-heading,
body.dark .manager-card,
body.dark .branch-dropdown-panel,
body.dark .branch-overview-strip article,
body.dark .submission-record,
body.dark .submission-section-card,
body.dark .submitted-branch-card,
body.dark .report-metrics article,
body.dark .submission-metrics article{
  background:#252930;
  border-color:#59606b;
}

body.dark .manager-card:hover,
body.dark .question-card:hover{
  border-color:#e65a60;
}

/* Branch selection */
body.dark .branch-select-field select,
body.dark .question-answer-grid select,
body.dark .question-answer-grid textarea,
body.dark .control-table select,
body.dark .control-table textarea{
  color:#ffffff;
  background:#1e2228;
  border-color:#68717e;
}

body.dark select option{
  color:#ffffff;
  background:#1e2228;
}

body.dark .branch-select-field select:hover,
body.dark .question-answer-grid select:hover,
body.dark .question-answer-grid textarea:hover{
  border-color:#e65a60;
}

body.dark .branch-selection-result,
body.dark .question-context>div,
body.dark .guide-steps span,
body.dark .completion-requirement,
body.dark .table-reading-hint,
body.dark .locked-questions-note{
  background:#30353d;
  border-color:#59606b;
}

body.dark .branch-selection-result.selected{
  background:linear-gradient(135deg,#3c282d,#2a2e35);
  border-color:#d65359;
}

body.dark .branch-result-code{
  color:#ffffff;
  background:#1e2228;
  border-color:#68717e;
}

/* Manager cards */
body.dark .manager-card-icon,
body.dark .manager-card-action b,
body.dark .manager-progress-ring::before{
  background:#1f2329;
  border-color:#59606b;
}

body.dark .manager-card-status{
  color:#f0f2f5;
  background:#343a43;
}

body.dark .manager-role{
  color:#ff7c82;
}

body.dark .manager-card-track,
body.dark .section-progress-mini,
body.dark .overall-progress-track{
  background:#1c2026;
  border-color:#515965;
}

/* Assessment guide and toolbar */
body.dark .assessment-guide{
  color:#ffffff;
  background:linear-gradient(135deg,#3a292e,#252930);
  border-color:#7b4549;
}

body.dark .guide-icon{
  color:#ffffff;
}

body.dark .guide-steps b{
  color:#ffffff;
  background:#8f252b;
}

body.dark .role-lock,
body.dark .access-info-icon{
  color:#ff7076;
  background:#3d292e;
}

/* Question cards */
body.dark .question-card{
  color:#ffffff;
  background:#252930;
  border-color:#59606b;
  box-shadow:0 10px 27px rgba(0,0,0,.36);
}

body.dark .question-card-header{
  background:linear-gradient(135deg,#432b31,#292d34);
  border-bottom-color:#59606b;
}

body.dark .question-heading-copy>span{
  color:#ff8d92;
}

body.dark .question-heading-copy>strong{
  color:#ffffff;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
}

body.dark .question-context{
  background:#2f343c;
  border-bottom-color:#59606b;
}

body.dark .question-context>div{
  color:#ffffff;
  background:#20242a;
  border-color:#5f6875;
}

body.dark .question-context>div>span{
  color:#bfc5ce;
}

body.dark .question-context>div>strong{
  color:#ffffff;
}

body.dark .question-context .locked-question-notice{
  color:#d5d9df;
  background:#292e35;
  border-color:#68717e;
}

body.dark .question-answer-grid{
  background:#252930;
}

body.dark .question-answer-grid label>span{
  color:#f7f8fa;
  font-size:11px;
}

body.dark .question-answer-grid select,
body.dark .question-answer-grid textarea{
  color:#ffffff;
  background:#1d2127;
  border-color:#68717e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

body.dark .question-answer-grid select:focus,
body.dark .question-answer-grid textarea:focus{
  color:#ffffff;
  background:#171b20;
  border-color:#ff777d;
  outline:3px solid rgba(255,119,125,.18);
}

body.dark .question-answer-grid textarea::placeholder{
  color:#aeb4bd;
}

body.dark .question-card.is-complete .question-answer-grid{
  background:#213329;
}

body.dark .question-card.is-complete .question-context{
  background:#29382f;
}

body.dark .question-status.pending{
  color:#ffd27f;
  background:#49391f;
  border:1px solid #7a5e2a;
}

body.dark .question-status.complete{
  color:#99efbb;
  background:#203d2b;
  border:1px solid #39734d;
}

/* Headings and form hints */
body.dark .eyebrow{
  color:#ff777d;
}

body.dark .table-reading-hint{
  color:#d9dde3;
  border-left-color:#ff666d;
}

body.dark .completion-requirement{
  color:#f0f2f5;
}

body.dark .locked-questions-note strong{
  color:#ffffff;
}

body.dark .locked-questions-note small{
  color:#c7cbd2;
}

/* Buttons */
body.dark .ghost-button,
body.dark .toolbar-button{
  color:#ffffff;
  background:#30353d;
  border-color:#69717d;
}

body.dark .ghost-button:hover,
body.dark .toolbar-button:hover{
  color:#ffffff;
  background:#3a4049;
  border-color:#ff777d;
}

body.dark .toolbar-button.danger{
  color:#ffb0b4;
}

body.dark .submit-toolbar-button{
  color:#ffffff!important;
}

/* Reports, submitted forms and modals */
body.dark .report-row,
body.dark .submission-record,
body.dark .submission-detail-meta div,
body.dark .submission-record-meta div{
  color:#ffffff;
  background:#292e35;
  border-color:#59606b;
}

body.dark .modal{
  color:#ffffff;
  background:#252930;
  border-color:#68717e;
}

body.dark .modal p{
  color:#cbd0d7;
}

body.dark .submission-confirmation-summary{
  color:#ffffff;
  background:#30353d;
  border-color:#59606b;
}

/* Accessibility: stronger keyboard focus in dark mode */
body.dark button:focus-visible,
body.dark a:focus-visible,
body.dark input:focus-visible,
body.dark select:focus-visible,
body.dark textarea:focus-visible{
  outline:3px solid rgba(255,119,125,.55);
  outline-offset:2px;
}


/* Version 18: classic SGRAM-style questions table */
.standard-questions-heading{
  margin:18px 0 10px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}
.standard-questions-heading strong,
.standard-questions-heading small{
  display:block;
}
.standard-questions-heading strong{
  color:var(--ink);
  font-size:15px;
  font-weight:850;
}
.standard-questions-heading small{
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
}
.standard-questions-heading>span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

/* Uses normal website scrolling only — no internal up/down scrollbar. */
.assessment-table-shell{
  width:100%;
  max-height:none;
  overflow:visible;
  border:1px solid #72777e;
  background:var(--surface);
}

.assessment-grid-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  color:var(--ink);
  background:var(--surface);
}

.assessment-grid-table .col-risk{width:11%}
.assessment-grid-table .col-concern{width:9%}
.assessment-grid-table .col-question{width:24%}
.assessment-grid-table .col-response{width:7%}
.assessment-grid-table .col-frequency{width:9%}
.assessment-grid-table .col-assessment{width:11%}
.assessment-grid-table .col-residual{width:7%}
.assessment-grid-table .col-comment{width:22%}

.assessment-grid-table th,
.assessment-grid-table td{
  overflow-wrap:anywhere;
  word-break:normal;
  border:1px solid #74787e;
  vertical-align:middle;
}

.assessment-grid-table th{
  min-height:58px;
  padding:11px 9px;
  color:var(--ink);
  background:var(--surface);
  text-align:left;
  font-size:10px;
  font-weight:750;
  line-height:1.45;
}

.assessment-grid-table td{
  padding:8px 8px;
  color:var(--ink);
  background:var(--surface);
  font-size:10px;
  line-height:1.45;
}

.assessment-grid-table .readonly-cell{
  cursor:default;
  user-select:text;
}

.assessment-grid-table .financial-risk-cell,
.assessment-grid-table .concern-cell{
  color:var(--muted);
  font-size:10px;
}

.assessment-grid-table .question-cell{
  position:relative;
  padding-left:36px;
  color:var(--ink);
  font-size:11px;
  font-weight:650;
  line-height:1.5;
}

.question-index{
  position:absolute;
  left:8px;
  top:9px;
  min-width:22px;
  padding:2px 4px;
  border-radius:4px;
  color:#fff;
  background:var(--red);
  text-align:center;
  font-size:7px;
  font-weight:900;
}

.assessment-grid-table select{
  width:100%;
  min-width:0;
  min-height:35px;
  padding:4px 22px 4px 5px;
  border:0;
  border-bottom:1px solid #a7abb1;
  border-radius:0;
  color:var(--ink);
  background:transparent;
  font-size:10px;
  font-weight:650;
  cursor:pointer;
}

.assessment-grid-table select:focus{
  border-bottom-color:var(--red);
  outline:2px solid rgba(197,31,37,.18);
  outline-offset:1px;
}

.assessment-grid-table textarea{
  width:100%;
  min-height:40px;
  padding:6px 5px;
  resize:vertical;
  border:0;
  border-bottom:1px solid #a7abb1;
  border-radius:0;
  color:var(--ink);
  background:transparent;
  font-size:10px;
  line-height:1.4;
}

.assessment-grid-table textarea:focus{
  border-bottom-color:var(--red);
  outline:2px solid rgba(197,31,37,.18);
  outline-offset:1px;
}

.assessment-grid-table textarea::placeholder{
  color:var(--muted);
}

.assessment-row.is-pending td:first-child{
  box-shadow:inset 4px 0 #d8941f;
}

.assessment-row.is-complete td:first-child{
  box-shadow:inset 4px 0 #39a968;
}

.assessment-row.is-complete td{
  background:color-mix(in srgb,#eaf8ef 22%,var(--surface));
}

.assessment-row:hover td{
  background:color-mix(in srgb,#fff2f3 45%,var(--surface));
}

.assessment-row.incomplete-control td{
  animation:tableRowAttention .55s ease 2;
}

@keyframes tableRowAttention{
  50%{background:#ffe7e9}
}

/* Hide the card-layout styling because the markup is now a table. */
.question-list,
.question-card,
.question-card-header,
.question-context,
.question-answer-grid{
  all:unset;
}

/* High contrast dark-mode table */
body.dark .assessment-table-shell{
  border-color:#8a929d;
  background:#252930;
}

body.dark .assessment-grid-table{
  color:#fff;
  background:#252930;
}

body.dark .assessment-grid-table th{
  color:#fff;
  background:#30353d;
  border-color:#747d89;
}

body.dark .assessment-grid-table td{
  color:#f7f8fa;
  background:#252930;
  border-color:#68717e;
}

body.dark .assessment-grid-table .financial-risk-cell,
body.dark .assessment-grid-table .concern-cell{
  color:#e0e3e8;
}

body.dark .assessment-grid-table .question-cell{
  color:#fff;
  background:#2c3037;
}

body.dark .assessment-grid-table select,
body.dark .assessment-grid-table textarea{
  color:#fff;
  background:#1e2228;
  border-bottom-color:#89919c;
}

body.dark .assessment-grid-table select option{
  color:#fff;
  background:#1e2228;
}

body.dark .assessment-row.is-complete td{
  background:#24342b;
}

body.dark .assessment-row.is-complete .question-cell{
  background:#273a2e;
}

body.dark .assessment-row:hover td{
  background:#353039;
}

body.dark .assessment-grid-table textarea::placeholder{
  color:#b8bec7;
}

/* Keep the table fitted to the page on normal desktop widths. */
@media(max-width:1350px){
  .assessment-grid-table th{font-size:9px;padding:9px 6px}
  .assessment-grid-table td{font-size:9px;padding:7px 6px}
  .assessment-grid-table .question-cell{font-size:10px;padding-left:32px}
  .assessment-grid-table select,
  .assessment-grid-table textarea{font-size:9px}
}

/* On narrow devices the table remains usable without changing desktop layout. */
@media(max-width:900px){
  .assessment-table-shell{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .assessment-grid-table{
    min-width:1120px;
  }
  .standard-questions-heading{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Version 19: slightly larger text while keeping the classic table layout */
body{
  font-size:15px;
}

.page-heading h1{
  font-size:34px;
}
.page-heading p{
  font-size:14px;
}

.nav-link{
  font-size:14px;
}
.sidebar-mark strong{
  font-size:14px;
}
.sidebar-mark small{
  font-size:11px;
}

.branch-select-field>span{
  font-size:14px;
}
.branch-select-field select{
  font-size:15px;
}
.branch-select-field small{
  font-size:11px;
}

.selection-heading h2{
  font-size:29px;
}
.selection-heading p{
  font-size:13px;
}

.manager-card h3{
  font-size:21px;
}
.manager-role{
  font-size:12px;
}
.manager-question-count,
.manager-description{
  font-size:10.5px;
}
.manager-card-action{
  font-size:12px;
}

.assessment-meta h1{
  font-size:30px;
}
.assessment-meta p{
  font-size:14px;
}
.completion-copy span{
  font-size:12px;
}
.completion-copy strong{
  font-size:29px;
}
.role-access-summary strong{
  font-size:12px;
}
.role-access-summary small{
  font-size:10px;
}

.standard-questions-heading strong{
  font-size:17px;
}
.standard-questions-heading small,
.standard-questions-heading>span{
  font-size:11px;
}

/* Table text enlarged carefully without changing the column layout */
.assessment-grid-table th{
  font-size:11px;
  line-height:1.5;
}
.assessment-grid-table td{
  font-size:11px;
  line-height:1.5;
}
.assessment-grid-table .financial-risk-cell,
.assessment-grid-table .concern-cell{
  font-size:11px;
}
.assessment-grid-table .question-cell{
  font-size:12px;
  line-height:1.55;
}
.assessment-grid-table select{
  font-size:11px;
}
.assessment-grid-table textarea{
  font-size:11px;
}

.question-index{
  font-size:8px;
}

.completion-requirement,
.table-reading-hint{
  font-size:11px;
}
.section-main strong{
  font-size:17px;
}
.section-main small{
  font-size:11px;
}
.count{
  font-size:11px;
}

/* Keep compact fitting on medium screens */
@media(max-width:1350px){
  .assessment-grid-table th{
    font-size:10px;
  }
  .assessment-grid-table td{
    font-size:10px;
  }
  .assessment-grid-table .question-cell{
    font-size:11px;
  }
  .assessment-grid-table select,
  .assessment-grid-table textarea{
    font-size:10px;
  }
}


/* Version 20: custom event and seasonal theme modes */
.theme-mode-panel{
  margin-top:15px;
  padding:25px;
  border-radius:15px;
}
.theme-mode-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-bottom:20px;
}
.theme-mode-heading h2{
  margin:0;
  font-size:23px;
}
.theme-mode-heading p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:11px;
}
.current-theme-display{
  min-width:205px;
  padding:12px 15px;
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.current-theme-display>span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  border-radius:11px;
  color:#fff;
  background:linear-gradient(135deg,var(--red-2),var(--red-dark));
  font-size:19px;
}
.current-theme-display small,
.current-theme-display strong{display:block}
.current-theme-display small{
  color:var(--muted);
  font-size:7px;
  font-weight:800;
  letter-spacing:.09em;
}
.current-theme-display strong{
  margin-top:4px;
  font-size:11px;
}

.theme-mode-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.theme-option{
  min-height:148px;
  padding:14px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  transition:.2s;
}
.theme-option[hidden]{display:none!important}
.theme-option:hover{
  transform:translateY(-3px);
  border-color:rgba(197,31,37,.4);
  box-shadow:var(--shadow-soft);
}
.theme-option.selected{
  border-color:var(--red);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 13%,transparent),var(--shadow-soft);
}
.theme-option strong{
  margin-top:11px;
  font-size:12px;
}
.theme-option small{
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
}
.theme-preview{
  width:100%;
  height:58px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:9px;
  font-size:26px;
  background:var(--surface-2);
}
.default-preview{
  grid-template-columns:repeat(3,1fr);
}
.default-preview i{width:100%;height:100%}
.default-preview i:nth-child(1){background:#c51f25}
.default-preview i:nth-child(2){background:#f4f4f4}
.default-preview i:nth-child(3){background:#34363a}
.peanuts-preview{background:linear-gradient(135deg,#5f3312,#b8752e,#f0c982)}
.christmas-preview{background:linear-gradient(135deg,#ba1d28,#1d7b43)}
.easter-preview{background:linear-gradient(135deg,#e9c9f7,#fff2a9,#b7e5f7)}
.new-year-preview{background:linear-gradient(135deg,#101b3c,#d9b44a)}
.birthday-preview{background:linear-gradient(135deg,#c51f25,#e8b43d,#2d2f33)}
.winter-preview{background:linear-gradient(135deg,#dff4ff,#75add1)}
.summer-preview{background:linear-gradient(135deg,#ffd34d,#ff8b37,#56b8e8)}
.autumn-preview{background:linear-gradient(135deg,#8f351d,#db7b2a,#e9b85b)}
.spring-preview{background:linear-gradient(135deg,#8ad58e,#ffd0dc,#f5ed8e)}

/* Decorative theme layer */
.seasonal-decor{
  display:none;
  position:fixed;
  z-index:1;
  inset:var(--topbar) 0 0 var(--sidebar);
  overflow:hidden;
  pointer-events:none;
}
.seasonal-decor.active{display:block}
.seasonal-decor span{
  position:absolute;
  opacity:.09;
  font-size:30px;
  animation:seasonalFloat 13s linear infinite;
}
.seasonal-decor span:nth-child(1){left:5%;top:5%;animation-delay:-1s}
.seasonal-decor span:nth-child(2){left:18%;top:22%;animation-delay:-7s;font-size:22px}
.seasonal-decor span:nth-child(3){left:31%;top:9%;animation-delay:-4s;font-size:38px}
.seasonal-decor span:nth-child(4){left:43%;top:34%;animation-delay:-9s}
.seasonal-decor span:nth-child(5){left:57%;top:13%;animation-delay:-3s;font-size:24px}
.seasonal-decor span:nth-child(6){left:70%;top:28%;animation-delay:-11s;font-size:36px}
.seasonal-decor span:nth-child(7){left:83%;top:8%;animation-delay:-5s}
.seasonal-decor span:nth-child(8){left:11%;top:59%;animation-delay:-10s;font-size:35px}
.seasonal-decor span:nth-child(9){left:27%;top:73%;animation-delay:-2s}
.seasonal-decor span:nth-child(10){left:52%;top:62%;animation-delay:-8s;font-size:40px}
.seasonal-decor span:nth-child(11){left:72%;top:78%;animation-delay:-4s}
.seasonal-decor span:nth-child(12){left:91%;top:55%;animation-delay:-12s;font-size:25px}
@keyframes seasonalFloat{
  0%{transform:translateY(35px) rotate(0)}
  50%{transform:translateY(-35px) rotate(13deg)}
  100%{transform:translateY(35px) rotate(0)}
}
.main-content{position:relative;z-index:2}

/* Christmas */
body[data-portal-theme="christmas"]{
  --red:#b5202a;--red-2:#d52b34;--red-dark:#86151c;
}
body[data-portal-theme="christmas"] .topbar{
  background:linear-gradient(110deg,#8b121a,#c5202b 52%,#17633a 100%);
}
body[data-portal-theme="christmas"] .sidebar{
  background:linear-gradient(180deg,#1d6b3d,#174a31 48%,#292b2f);
}
body[data-portal-theme="christmas"] .topbar::after{
  height:5px;
  opacity:.8;
  background:repeating-linear-gradient(90deg,#fff 0 12px,#d82932 12px 24px,#fff 24px 36px,#29864d 36px 48px);
}

/* Easter */
body[data-portal-theme="easter"]{
  --red:#8d58b6;--red-2:#aa72cf;--red-dark:#664083;
}
body[data-portal-theme="easter"] .topbar{
  background:linear-gradient(110deg,#79509a,#b77ad1 50%,#6eb5cf 100%);
}
body[data-portal-theme="easter"] .sidebar{
  background:linear-gradient(180deg,#5f6f9e,#775b8e,#41434b);
}

/* New Year */
body[data-portal-theme="new-year"]{
  --red:#b58a27;--red-2:#d3aa49;--red-dark:#715517;
}
body[data-portal-theme="new-year"] .topbar{
  background:linear-gradient(110deg,#10182f,#17274c 60%,#b18a2f);
}
body[data-portal-theme="new-year"] .sidebar{
  background:linear-gradient(180deg,#182746,#111a30,#292b2f);
}
body[data-portal-theme="new-year"] .brand-logo-wrap{
  border-color:#e8c76d;
}

/* Company Birthday */
body[data-portal-theme="company-birthday"]{
  --red:#c51f25;--red-2:#e33138;--red-dark:#941117;
}
body[data-portal-theme="company-birthday"] .topbar{
  background:linear-gradient(105deg,#941117,#c51f25 47%,#d7a62e 75%,#303237);
}
body[data-portal-theme="company-birthday"] .sidebar{
  background:linear-gradient(180deg,#34363a,#25272b);
}
body[data-portal-theme="company-birthday"] .manager-card,
body[data-portal-theme="company-birthday"] .branch-dropdown-panel{
  border-top:3px solid #d7a62e;
}

/* Winter */
body[data-portal-theme="winter"]{
  --red:#397fa8;--red-2:#5aa1c9;--red-dark:#24546f;
}
body[data-portal-theme="winter"] .topbar{
  background:linear-gradient(110deg,#24546f,#3f8db8 55%,#9ad7ec);
}
body[data-portal-theme="winter"] .sidebar{
  background:linear-gradient(180deg,#315f79,#29485a,#2b2d32);
}

/* Summer */
body[data-portal-theme="summer"]{
  --red:#e57622;--red-2:#f39534;--red-dark:#a74d13;
}
body[data-portal-theme="summer"] .topbar{
  background:linear-gradient(110deg,#d35c1d,#ef8d29 48%,#2c93bd 100%);
}
body[data-portal-theme="summer"] .sidebar{
  background:linear-gradient(180deg,#257ea2,#226a87,#34363a);
}

/* Autumn */
body[data-portal-theme="autumn"]{
  --red:#a64b24;--red-2:#c86b2b;--red-dark:#713016;
}
body[data-portal-theme="autumn"] .topbar{
  background:linear-gradient(110deg,#743018,#ad4c21 48%,#d49537);
}
body[data-portal-theme="autumn"] .sidebar{
  background:linear-gradient(180deg,#694224,#493322,#303135);
}

/* Spring */
body[data-portal-theme="spring"]{
  --red:#4f9c63;--red-2:#6cb77c;--red-dark:#347044;
}
body[data-portal-theme="spring"] .topbar{
  background:linear-gradient(110deg,#36794a,#5ba76e 52%,#d487a8);
}
body[data-portal-theme="spring"] .sidebar{
  background:linear-gradient(180deg,#3e8554,#376d4a,#34363a);
}

/* Keep dark mode readable with every custom theme */
body.dark .theme-option{
  color:#fff;
  background:#292e35;
  border-color:#59606b;
}
body.dark .theme-option small{color:#c7cbd2}
body.dark .current-theme-display{
  background:#30353d;
  border-color:#59606b;
}
body.dark .theme-mode-panel{
  background:#252930;
  border-color:#59606b;
}

body.reduce-motion .seasonal-decor span{animation-play-state:paused}

@media(max-width:980px){
  .theme-mode-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .theme-mode-heading{align-items:flex-start;flex-direction:column}
  .current-theme-display{width:100%}
}
@media(max-width:500px){
  .theme-mode-grid{grid-template-columns:1fr}
  .seasonal-decor{left:0}
}


/* Version 22: branch-only hierarchy indicator */
.hierarchy-path.single-step{
  min-width:255px;
  padding:12px 15px;
}
.hierarchy-path.single-step .hierarchy-step{
  min-width:220px;
}
@media(max-width:720px){
  .hierarchy-path.single-step{
    width:100%;
  }
}


/* Version 23: remove step-2 heading field and add animated theme scene details */
.manager-workspace-area .manager-selection-grid{
  margin-top:14px;
}

/* Header scene decorative theme layer */
.header-scene{
  isolation:isolate;
}
.theme-scene{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.header-truck{
  z-index:2;
  overflow:visible;
}
.header-road{
  overflow:visible;
}
.truck-theme-accessories{
  position:absolute;
  inset:0;
  pointer-events:none;
}

/* -------- Christmas: Santa hat on truck -------- */
.santa-hat{
  display:none;
  position:absolute;
  left:286px;
  top:8px;
  width:56px;
  height:42px;
  transform-origin:28px 36px;
  animation:santaHatBounce 2.8s ease-in-out infinite;
  z-index:3;
}
.santa-hat .hat-brim{
  position:absolute;
  left:6px;
  bottom:4px;
  width:30px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff,#eef3f8);
  box-shadow:0 1px 0 rgba(0,0,0,.08), inset 0 -1px 0 rgba(0,0,0,.05);
}
.santa-hat .hat-cap{
  position:absolute;
  left:14px;
  bottom:12px;
  width:24px;
  height:24px;
  background:linear-gradient(160deg,#ef4048 0%, #cf212b 55%, #a91019 100%);
  clip-path:polygon(14% 100%, 40% 12%, 100% 6%, 74% 100%);
  border-top-left-radius:12px;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.12));
  transform:rotate(-8deg);
}
.santa-hat .hat-pom{
  position:absolute;
  right:3px;
  top:4px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #ffffff 0 32%, #eef3f8 55%, #d8dde2 100%);
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}
body[data-portal-theme="christmas"] .santa-hat{display:block}

/* -------- Easter: bunny on truck + eggs around -------- */
.truck-bunny{
  display:none;
  position:absolute;
  left:180px;
  top:28px;
  width:46px;
  height:48px;
  animation:bunnyBounce 2.4s ease-in-out infinite;
}
.bunny-ear{
  position:absolute;
  top:0;
  width:12px;
  height:24px;
  border-radius:12px;
  background:#fff7fb;
  border:2px solid #d6bcc8;
}
.bunny-ear::after{
  content:"";
  position:absolute;
  inset:3px 3px 5px;
  border-radius:10px;
  background:#f6c6d8;
}
.bunny-ear-left{left:8px;transform:rotate(-10deg)}
.bunny-ear-right{left:24px;transform:rotate(10deg)}
.bunny-head{
  position:absolute;
  left:10px;
  top:16px;
  width:26px;
  height:24px;
  border-radius:50%;
  background:#fff7fb;
  border:2px solid #d6bcc8;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.bunny-body{
  position:absolute;
  left:6px;
  top:30px;
  width:34px;
  height:18px;
  border-radius:16px 16px 14px 14px;
  background:#fff7fb;
  border:2px solid #d6bcc8;
}
body[data-portal-theme="easter"] .truck-bunny{display:block}

.theme-eggs{
  display:none;
  position:absolute;
  inset:0;
  pointer-events:none;
}
.egg{
  position:absolute;
  width:18px;
  height:24px;
  border-radius:50% 50% 47% 47% / 58% 58% 42% 42%;
  box-shadow:0 3px 8px rgba(0,0,0,.08);
  animation:eggWobble 3s ease-in-out infinite;
}
.egg::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:inherit;
  background:
    radial-gradient(circle at 50% 28%, rgba(255,255,255,.68) 0 13%, transparent 14%),
    linear-gradient(135deg, rgba(255,255,255,.36), transparent 45%);
}
.egg-one{left:3%; top:14%; background:linear-gradient(160deg,#ffd3dd,#f194b2); animation-delay:-.2s}
.egg-two{left:16%; top:55%; background:linear-gradient(160deg,#fff0a9,#f8c24a); animation-delay:-1.1s}
.egg-three{left:34%; top:18%; background:linear-gradient(160deg,#cfe8ff,#7eb4ea); animation-delay:-.8s}
.egg-four{right:23%; top:19%; background:linear-gradient(160deg,#e2d1ff,#ad8be8); animation-delay:-2s}
.egg-five{right:10%; top:57%; background:linear-gradient(160deg,#d7f7b7,#7ccf63); animation-delay:-1.7s}
.egg-six{right:3%; top:33%; background:linear-gradient(160deg,#ffe2af,#f4a45a); animation-delay:-.5s}
body[data-portal-theme="easter"] .theme-eggs{display:block}

/* -------- Company birthday: cake + party hats -------- */
.truck-cake{
  display:none;
  position:absolute;
  left:176px;
  top:26px;
  width:36px;
  height:30px;
  animation:themeBob 2.8s ease-in-out infinite;
}
.truck-cake::before{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:36px;
  height:18px;
  border-radius:6px 6px 8px 8px;
  background:linear-gradient(180deg,#fff4d8,#f5d5a6 55%,#d59060 56%,#c06f4f 100%);
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.truck-cake::after{
  content:"";
  position:absolute;
  left:3px;
  bottom:14px;
  width:30px;
  height:7px;
  border-radius:8px;
  background:#ffe7f1;
}
.cake-candle{
  position:absolute;
  bottom:18px;
  width:4px;
  height:11px;
  border-radius:3px;
  background:#7cc1ff;
}
.cake-candle::after{
  content:"";
  position:absolute;
  left:-1px;
  top:-7px;
  width:6px;
  height:8px;
  border-radius:50% 50% 50% 50% / 64% 64% 36% 36%;
  background:linear-gradient(180deg,#fff6a9,#ff9432);
  animation:flicker 1s ease-in-out infinite;
}
.candle-one{left:7px}
.candle-two{left:16px; background:#ff8da2; animation-delay:-.4s}
.candle-three{left:25px; background:#95df8c; animation-delay:-.8s}
body[data-portal-theme="company-birthday"] .truck-cake{display:block}

.theme-party{
  display:none;
  position:absolute;
  inset:0;
  pointer-events:none;
}
.party-hat{
  position:absolute;
  width:0;
  height:0;
  border-left:14px solid transparent;
  border-right:14px solid transparent;
  border-bottom:28px solid #ffd562;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.08));
  animation:hatWiggle 2.6s ease-in-out infinite;
}
.party-hat::before{
  content:"";
  position:absolute;
  left:-13px;
  top:26px;
  width:26px;
  height:5px;
  border-radius:5px;
  background:#fff;
}
.party-hat::after{
  content:"";
  position:absolute;
  left:-2px;
  top:-6px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#ff4b56;
}
.party-hat-one{left:11%; top:8%; border-bottom-color:#f3c54d}
.party-hat-two{right:12%; top:16%; border-bottom-color:#ff7d91; animation-delay:-1.2s}
.party-star{
  position:absolute;
  color:#fff0a2;
  font-size:17px;
  opacity:.8;
  animation:twinkle 1.9s ease-in-out infinite;
}
.party-star::before{content:"✦"}
.party-star-one{left:20%; top:15%}
.party-star-two{right:22%; top:26%; animation-delay:-.7s}
body[data-portal-theme="company-birthday"] .theme-party{display:block}

/* -------- New Year: fireworks -------- */
.theme-fireworks{
  display:none;
  position:absolute;
  inset:0;
  pointer-events:none;
}
.firework{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  opacity:0;
  animation:fireworksBurst 2.4s ease-out infinite;
}
.firework::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  height:2px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  box-shadow:
    0 -22px 0 1px currentColor,
    0 22px 0 1px currentColor,
    22px 0 0 1px currentColor,
    -22px 0 0 1px currentColor,
    15px 15px 0 1px currentColor,
    -15px 15px 0 1px currentColor,
    15px -15px 0 1px currentColor,
    -15px -15px 0 1px currentColor;
}
.firework-one{left:18%; top:13%; color:#ffd86f}
.firework-two{left:44%; top:5%; color:#b1e7ff; animation-delay:-.8s}
.firework-three{right:12%; top:17%; color:#ff9ab0; animation-delay:-1.6s}
body[data-portal-theme="new-year"] .theme-fireworks{display:block}

/* -------- Winter: snowflakes + snow on road -------- */
.theme-snowflakes{
  display:none;
  position:absolute;
  inset:0;
  pointer-events:none;
}
.theme-snowflakes span{
  position:absolute;
  color:#f9fdff;
  opacity:.85;
  text-shadow:0 0 8px rgba(255,255,255,.3);
  animation:snowFall 6.5s linear infinite;
}
.theme-snowflakes span:nth-child(1){left:6%; top:-6%; font-size:17px; animation-delay:-1s}
.theme-snowflakes span:nth-child(2){left:17%; top:-12%; font-size:12px; animation-delay:-3s}
.theme-snowflakes span:nth-child(3){left:36%; top:-9%; font-size:15px; animation-delay:-4s}
.theme-snowflakes span:nth-child(4){left:58%; top:-7%; font-size:12px; animation-delay:-2s}
.theme-snowflakes span:nth-child(5){left:76%; top:-10%; font-size:16px; animation-delay:-5s}
.theme-snowflakes span:nth-child(6){left:90%; top:-8%; font-size:13px; animation-delay:-.5s}
body[data-portal-theme="winter"] .theme-snowflakes{display:block}

.road-snow{
  display:none;
  position:absolute;
  left:8%;
  right:8%;
  bottom:-3px;
  height:10px;
  border-radius:999px;
  background:
    radial-gradient(circle at 8% 50%, rgba(255,255,255,.96) 0 14px, transparent 15px),
    radial-gradient(circle at 24% 50%, rgba(255,255,255,.96) 0 16px, transparent 17px),
    radial-gradient(circle at 46% 50%, rgba(255,255,255,.96) 0 17px, transparent 18px),
    radial-gradient(circle at 67% 50%, rgba(255,255,255,.96) 0 14px, transparent 15px),
    radial-gradient(circle at 87% 50%, rgba(255,255,255,.96) 0 16px, transparent 17px);
  opacity:.95;
  filter:drop-shadow(0 3px 6px rgba(255,255,255,.2));
  animation:snowDrift 4.5s ease-in-out infinite;
}
body[data-portal-theme="winter"] .road-snow{display:block}

/* -------- Summer: sun -------- */
.theme-sun{
  display:none;
  position:absolute;
  right:28px;
  top:10px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #fff3b8 0 12%, #ffd861 18%, #f0a62d 62%, #de7d16 100%);
  box-shadow:0 0 0 10px rgba(255,208,78,.16), 0 0 26px rgba(255,185,72,.35);
  animation:sunPulse 3.3s ease-in-out infinite;
}
.theme-sun::before{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:50%;
  background:
    conic-gradient(from 0deg, rgba(255,210,94,.85) 0 8deg, transparent 8deg 22deg, rgba(255,210,94,.85) 22deg 30deg, transparent 30deg 45deg, rgba(255,210,94,.85) 45deg 53deg, transparent 53deg 68deg, rgba(255,210,94,.85) 68deg 76deg, transparent 76deg 90deg, rgba(255,210,94,.85) 90deg 98deg, transparent 98deg 113deg, rgba(255,210,94,.85) 113deg 121deg, transparent 121deg 136deg, rgba(255,210,94,.85) 136deg 144deg, transparent 144deg 158deg, rgba(255,210,94,.85) 158deg 166deg, transparent 166deg 181deg, rgba(255,210,94,.85) 181deg 189deg, transparent 189deg 204deg, rgba(255,210,94,.85) 204deg 212deg, transparent 212deg 226deg, rgba(255,210,94,.85) 226deg 234deg, transparent 234deg 249deg, rgba(255,210,94,.85) 249deg 257deg, transparent 257deg 271deg, rgba(255,210,94,.85) 271deg 279deg, transparent 279deg 294deg, rgba(255,210,94,.85) 294deg 302deg, transparent 302deg 316deg, rgba(255,210,94,.85) 316deg 324deg, transparent 324deg 339deg, rgba(255,210,94,.85) 339deg 347deg, transparent 347deg 360deg);
  animation:sunSpin 12s linear infinite;
}
body[data-portal-theme="summer"] .theme-sun{display:block}

/* -------- Autumn: red, yellow and brown leaves -------- */
.theme-leaves{
  display:none;
  position:absolute;
  inset:0;
  pointer-events:none;
}
.leaf{
  position:absolute;
  font-size:24px;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.08));
  animation:leafDrift 7s linear infinite;
}
.leaf-one{left:8%; top:-10%; animation-delay:-1.3s}
.leaf-two{left:22%; top:-18%; animation-delay:-4.5s}
.leaf-three{left:46%; top:-8%; animation-delay:-2.2s}
.leaf-four{right:26%; top:-14%; animation-delay:-5.3s}
.leaf-five{right:13%; top:-12%; animation-delay:-3.1s}
.leaf-six{right:4%; top:-16%; animation-delay:-6.1s}
body[data-portal-theme="autumn"] .theme-leaves{display:block}

/* -------- Spring: flowers -------- */
.theme-flowers{
  display:none;
  position:absolute;
  inset:0;
  pointer-events:none;
}
.flower{
  position:absolute;
  font-size:20px;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));
  animation:flowerSway 3.8s ease-in-out infinite;
}
.flower-one{left:4%; bottom:6%}
.flower-two{left:18%; bottom:2%; animation-delay:-1.3s}
.flower-three{left:38%; bottom:5%; animation-delay:-.8s}
.flower-four{right:27%; bottom:3%; animation-delay:-2s}
.flower-five{right:13%; bottom:6%; animation-delay:-1.1s}
.flower-six{right:3%; bottom:2%; animation-delay:-2.6s}
body[data-portal-theme="spring"] .theme-flowers{display:block}

/* Generic animation controls */
body.reduce-motion .theme-scene *,
body.reduce-motion .truck-theme-accessories *{
  animation-play-state:paused !important;
}

@keyframes themeBob{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-2px) rotate(-4deg)}
}
@keyframes bunnyBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes eggWobble{
  0%,100%{transform:rotate(0deg) translateY(0)}
  25%{transform:rotate(6deg) translateY(-1px)}
  50%{transform:rotate(0deg) translateY(-3px)}
  75%{transform:rotate(-6deg) translateY(-1px)}
}
@keyframes hatWiggle{
  0%,100%{transform:rotate(0deg)}
  50%{transform:rotate(6deg)}
}
@keyframes twinkle{
  0%,100%{opacity:.4; transform:scale(.85)}
  50%{opacity:1; transform:scale(1.15)}
}
@keyframes flicker{
  0%,100%{transform:scale(1) translateY(0); opacity:1}
  50%{transform:scale(.85) translateY(-1px); opacity:.75}
}
@keyframes fireworksBurst{
  0%{opacity:0; transform:scale(.2)}
  22%{opacity:1; transform:scale(1)}
  70%{opacity:.5; transform:scale(1.25)}
  100%{opacity:0; transform:scale(1.4)}
}
@keyframes snowFall{
  0%{transform:translateY(0) translateX(0) rotate(0); opacity:0}
  8%{opacity:.95}
  100%{transform:translateY(112px) translateX(18px) rotate(240deg); opacity:0}
}
@keyframes snowDrift{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(6px)}
}
@keyframes sunPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.06)}
}
@keyframes sunSpin{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
@keyframes leafDrift{
  0%{transform:translateY(0) translateX(0) rotate(0deg); opacity:0}
  10%{opacity:1}
  100%{transform:translateY(120px) translateX(18px) rotate(240deg); opacity:0}
}
@keyframes flowerSway{
  0%,100%{transform:rotate(0deg) translateY(0)}
  50%{transform:rotate(5deg) translateY(-2px)}
}

/* Theme-specific visibility fixes in dark mode */
body.dark .theme-sun{
  box-shadow:0 0 0 10px rgba(255,208,78,.1), 0 0 28px rgba(255,185,72,.22);
}
body.dark .road-snow{
  filter:drop-shadow(0 2px 6px rgba(255,255,255,.12));
}
body.dark .theme-snowflakes span{
  text-shadow:0 0 10px rgba(255,255,255,.22);
}

@media(max-width:900px){
  .theme-sun{right:8px; top:6px; width:46px; height:46px}
  .theme-preview{font-size:22px}
  .party-hat-one{left:6%}
  .party-hat-two{right:7%}
}


/* Version 24: improved Christmas hat positioning and shape */
@keyframes santaHatBounce{
  0%,100%{transform:rotate(-3deg) translateY(0)}
  50%{transform:rotate(2deg) translateY(-2px)}
}


/* Version 25: live current date in the top bar */
.period-pill{
  min-width:142px;
  justify-content:center;
  white-space:nowrap;
}
#currentDateText{
  display:block;
}


/* Version 26: refreshed RSU Portal mark styling */
.sidebar-mark{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.10));
}
.sidebar-mark img{
  width:42px;
  height:42px;
  padding:3px;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 6px 14px rgba(0,0,0,.16);
}
.setting-icon img{
  width:44px;
  height:44px;
  padding:2px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.empty-search img{
  width:56px;
  height:56px;
  padding:4px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
body.dark .sidebar-mark img,
body.dark .setting-icon img,
body.dark .empty-search img{
  background:#ffffff;
}


/* Version 27: Christmas hat anchored to the truck and animated RSU lights */

/* Disable the older floating HTML hat so there is only one correctly placed hat. */
body[data-portal-theme="christmas"] .santa-hat{
  display:none!important;
}

/* SVG Christmas accessories are hidden outside Christmas mode. */
.christmas-svg-hat,
.christmas-rsu-lights{
  display:none;
}

body[data-portal-theme="christmas"] .christmas-svg-hat,
body[data-portal-theme="christmas"] .christmas-rsu-lights{
  display:block;
}

/* Hide the ordinary trailer logo only for Christmas so the RSU light lettering is clear. */
body[data-portal-theme="christmas"] .trailer-logo{
  opacity:0;
}

/* Santa hat sits directly on the red cab roof. */
.christmas-svg-hat{
  transform-origin:278px 48px;
  animation:svgSantaHatRide 1.25s ease-in-out infinite alternate;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.18));
}
.svg-hat-brim{
  fill:url(#svgHatWhite);
}
.svg-hat-cap{
  fill:#d5222c;
  stroke:#9d1018;
  stroke-width:1.4;
}
.svg-hat-pom{
  fill:#fffdf8;
  stroke:#d7dce1;
  stroke-width:1;
}
.svg-hat-pom-highlight{
  fill:#ffffff;
  opacity:.88;
}

/* Provide a reliable white gradient even though this group is added later in the SVG. */
.svg-hat-brim{
  fill:#fffdf8;
  stroke:#d7dce1;
  stroke-width:1;
}

/* RSU formed from a string of blinking Christmas lights on the trailer. */
.christmas-rsu-lights text{
  font-family:Arial,Helvetica,sans-serif;
  font-size:42px;
  font-weight:900;
  letter-spacing:2px;
  paint-order:stroke;
}

.rsu-light-wire{
  fill:none;
  stroke:#233a2a;
  stroke-width:5;
  stroke-linejoin:round;
  opacity:.85;
}

.rsu-light-bulbs{
  fill:none;
  stroke-width:5.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1 8;
  filter:drop-shadow(0 0 3px currentColor);
}

.rsu-light-bulbs-one{
  stroke:#ffd75f;
  stroke-dashoffset:0;
  animation:rsuLightsBlinkOne 1.15s steps(2,end) infinite;
}

.rsu-light-bulbs-two{
  stroke:#ff3f49;
  stroke-dashoffset:4.5;
  animation:rsuLightsBlinkTwo 1.15s steps(2,end) infinite;
}

body[data-portal-theme="christmas"] .christmas-rsu-lights{
  animation:rsuLightGlow 2.4s ease-in-out infinite;
}

/* Small green glow behind the light lettering, without covering the trailer. */
body[data-portal-theme="christmas"] .trailer-unit > rect:nth-child(2){
  fill:#f8fff8;
  stroke:#c5dcc9;
  stroke-width:1;
}

@keyframes svgSantaHatRide{
  0%{transform:translateY(0) rotate(-1deg)}
  100%{transform:translateY(-1.6px) rotate(1deg)}
}

@keyframes rsuLightsBlinkOne{
  0%,49%{opacity:1;stroke:#ffd75f}
  50%,100%{opacity:.35;stroke:#71d887}
}

@keyframes rsuLightsBlinkTwo{
  0%,49%{opacity:.35;stroke:#5cd57a}
  50%,100%{opacity:1;stroke:#ff4a54}
}

@keyframes rsuLightGlow{
  0%,100%{filter:drop-shadow(0 0 1px rgba(255,230,100,.45))}
  50%{filter:drop-shadow(0 0 5px rgba(255,230,100,.8))}
}

body.reduce-motion .christmas-svg-hat,
body.reduce-motion .christmas-rsu-lights,
body.reduce-motion .rsu-light-bulbs{
  animation-play-state:paused!important;
}


/* Version 28: report history, recurring submissions and monthly comparison */
.report-history-comparison{
  margin:16px 0 24px;
  padding:24px;
  border-radius:16px;
  overflow:hidden;
}
.report-history-heading,
.comparison-period-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
}
.report-history-heading h2,
.comparison-period-heading h3{margin:3px 0 0}
.report-history-heading p,
.comparison-period-heading p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.history-archive-badge{
  min-width:145px;
  padding:12px 15px;
  text-align:center;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--red-2),var(--red-dark));
  box-shadow:0 8px 18px color-mix(in srgb,var(--red) 20%,transparent);
}
.history-archive-badge span,.history-archive-badge strong{display:block}
.history-archive-badge span{font-size:7px;font-weight:900;letter-spacing:.12em;opacity:.78}
.history-archive-badge strong{margin-top:5px;font-size:25px}
.history-filter-grid{
  margin-top:20px;
  display:grid;
  grid-template-columns:1.05fr 1.15fr .9fr .9fr auto;
  align-items:end;
  gap:10px;
}
.history-filter-grid label>span,
.submission-month-field>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.history-filter-grid select,
.submission-month-field input{
  width:100%;
  min-height:42px;
  padding:0 11px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:9px;
  font:inherit;
  font-size:11px;
}
.history-filter-actions{display:flex;gap:8px}
.history-filter-actions button{min-height:42px;white-space:nowrap}
.report-history-month-strip{
  margin-top:16px;
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:4px;
}
.history-month-card{
  min-width:170px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.history-month-card.latest{border-color:var(--red);box-shadow:inset 0 3px 0 var(--red)}
.history-month-card span,.history-month-card strong,.history-month-card small{display:block}
.history-month-card span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}
.history-month-card strong{margin-top:5px;font-size:13px}
.history-month-card small{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}
.report-comparison-empty{
  margin-top:18px;
  min-height:110px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  text-align:left;
  border:1px dashed var(--line);
  border-radius:13px;
  background:var(--surface-2);
}
.report-comparison-empty[hidden]{display:none}
.report-comparison-empty img{width:52px;height:52px}
.report-comparison-empty h3{margin:0;font-size:14px}
.report-comparison-empty p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.report-comparison-results{margin-top:20px}
.report-comparison-results[hidden]{display:none}
.comparison-mode-chip{
  padding:7px 10px;
  border-radius:999px;
  color:var(--red);
  background:color-mix(in srgb,var(--red) 10%,var(--surface));
  border:1px solid color-mix(in srgb,var(--red) 25%,var(--line));
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.comparison-metrics{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:9px;
}
.comparison-metrics article,
.comparison-risk-grid article{
  padding:13px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.comparison-metrics span,.comparison-metrics strong,.comparison-metrics small{display:block}
.comparison-metrics span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}
.comparison-metrics strong{margin-top:6px;font-size:20px}
.comparison-metrics small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.35}
.comparison-risk-grid{margin-top:9px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.comparison-risk-grid article{display:flex;align-items:center;justify-content:space-between;gap:10px}
.comparison-risk-grid span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}
.comparison-risk-grid strong{display:flex;align-items:center;gap:8px;font-size:16px}
.comparison-risk-grid i{font-style:normal;color:var(--muted)}
.comparison-table-shell{margin-top:14px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.comparison-table{width:100%;min-width:800px;border-collapse:collapse;font-size:10px}
.comparison-table th{padding:11px;text-align:left;color:#fff;background:linear-gradient(180deg,#3b3e43,#292b2f);font-size:9px;text-transform:uppercase;letter-spacing:.03em}
.comparison-table td{padding:11px;border-top:1px solid var(--line);vertical-align:top;line-height:1.45}
.comparison-table td:first-child{width:38%}
.comparison-table td strong,.comparison-table td small{display:block}
.comparison-table td small{margin-top:4px;color:var(--muted)}
.comparison-question-number{display:inline-grid;place-items:center;min-width:28px;height:21px;margin-right:7px;border-radius:6px;color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);font-size:8px;font-weight:900}
.comparison-result{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase}
.comparison-result.improved{color:#247747;background:#e2f5e9}
.comparison-result.worsened{color:#a51e25;background:#fde5e7}
.comparison-result.changed{color:#8a6116;background:#fff1cf}
.comparison-result.same{color:#5e646d;background:#eceef1}
.comparison-no-data{text-align:center;color:var(--muted);padding:28px!important}
.report-archive-heading{margin-top:8px}
.archived-chip{background:#e8eef7!important;color:#37567e!important}
.next-report-button{margin-left:auto}
.submission-record-meta{grid-template-columns:repeat(4,1fr)}
.submission-month-field{
  display:block;
  margin-top:14px;
  padding:12px;
  text-align:left;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.submission-month-field small{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.45}
body.dark .comparison-result.improved{color:#9be0b4;background:#234d34}
body.dark .comparison-result.worsened{color:#ffacb0;background:#5b272c}
body.dark .comparison-result.changed{color:#f2d184;background:#564723}
body.dark .comparison-result.same{color:#d0d3d8;background:#444950}
body.dark .archived-chip{color:#b9d2f1!important;background:#304158!important}
@media(max-width:1200px){
  .history-filter-grid{grid-template-columns:repeat(2,1fr)}
  .history-filter-actions{grid-column:1/-1}
  .comparison-metrics{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .report-history-heading,.comparison-period-heading{flex-direction:column}
  .history-archive-badge{width:100%}
  .history-filter-grid{grid-template-columns:1fr}
  .history-filter-actions{grid-column:auto;flex-direction:column}
  .comparison-metrics,.comparison-risk-grid{grid-template-columns:1fr 1fr}
  .submission-record-meta{grid-template-columns:1fr 1fr}
  .next-report-button{margin-left:0;width:100%}
}
@media(max-width:480px){
  .comparison-metrics,.comparison-risk-grid{grid-template-columns:1fr}
}


/* Version 29: central SQL database status and server-generated monthly insights */
.database-setting-icon{
  font-size:13px;
  letter-spacing:.04em;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
}
.database-status-chip.connecting{
  background:#fff4d8;
  color:#9a6714;
}
.database-status-chip.connected{
  background:#e4f7eb;
  color:#267c48;
}
.database-status-chip.offline{
  background:#fde7e8;
  color:#a6272d;
}
.database-setting-card[data-database-state="connected"]{
  border-color:rgba(57,169,104,.32);
}
.database-setting-card[data-database-state="offline"]{
  border-color:rgba(197,31,37,.35);
}

.sql-insights-panel{
  margin:18px 0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(145deg,var(--surface),var(--surface-2));
}
.sql-insights-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:15px;
}
.sql-insights-heading h3{
  margin:2px 0 0;
  font-size:18px;
}
.sql-insights-heading p{
  margin:7px 0 0;
  max-width:760px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.6;
}
.sql-live-badge{
  flex:0 0 auto;
  padding:8px 11px;
  display:flex;
  align-items:center;
  gap:7px;
  border-radius:999px;
  background:#e6f7ec;
  color:#297e4a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
}
.sql-live-badge i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#43b96d;
  box-shadow:0 0 0 4px rgba(67,185,109,.13);
}
.sql-insight-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:12px;
}
.sql-insight-metrics article{
  padding:13px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
}
.sql-insight-metrics span,
.sql-insight-metrics strong,
.sql-insight-metrics small{
  display:block;
}
.sql-insight-metrics span{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.sql-insight-metrics strong{
  margin-top:7px;
  font-size:22px;
}
.sql-insight-metrics small{
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.sql-insight-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.sql-insight-list-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.sql-insight-list-card.attention{
  border-top:3px solid #d24449;
}
.sql-insight-list-card.positive{
  border-top:3px solid #43a96a;
}
.sql-insight-list-heading{
  padding:13px 14px;
  display:flex;
  align-items:center;
  gap:10px;
  border-bottom:1px solid var(--line);
}
.sql-insight-list-heading>span{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#fde9ea;
  color:#b0262d;
  font-weight:900;
}
.sql-insight-list-card.positive .sql-insight-list-heading>span{
  background:#e6f6ec;
  color:#2e8a52;
}
.sql-insight-list-heading strong,
.sql-insight-list-heading small{
  display:block;
}
.sql-insight-list-heading strong{
  font-size:11px;
}
.sql-insight-list-heading small{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
}
.sql-insight-list{
  max-height:330px;
  overflow:auto;
}
.sql-insight-row{
  padding:12px 14px;
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  border-bottom:1px solid var(--line);
}
.sql-insight-row:last-child{
  border-bottom:0;
}
.sql-insight-rank{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#fde9ea;
  color:#b0262d;
  font-size:9px;
  font-weight:900;
}
.sql-insight-rank.positive{
  background:#e6f6ec;
  color:#2e8a52;
}
.sql-insight-row strong{
  display:block;
  font-size:10px;
}
.sql-insight-row small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:8.5px;
  line-height:1.45;
}
.sql-insight-row p{
  margin:5px 0 0;
  color:var(--ink);
  font-size:8.5px;
  line-height:1.45;
}
.sql-insight-placeholder{
  margin:0;
  padding:18px;
  color:var(--muted);
  font-size:9px;
}
.positive-copy{
  color:#2e8a52;
}

body.dark .sql-insights-panel{
  background:linear-gradient(145deg,#252930,#2c3139);
  border-color:#59606b;
}
body.dark .sql-insight-list-card,
body.dark .sql-insight-metrics article{
  background:#292e35;
  border-color:#505762;
}
body.dark .sql-insight-row p{
  color:#fff;
}

@media(max-width:1050px){
  .sql-insight-metrics{grid-template-columns:repeat(2,1fr)}
  .sql-insight-columns{grid-template-columns:1fr}
}
@media(max-width:650px){
  .sql-insights-heading{flex-direction:column}
  .sql-insight-metrics{grid-template-columns:1fr}
}


/* Version 30: reduced-motion stability and submitted-report attention chart */

/*
  Important: the old implementation paused every animation. Entrance
  animations were then frozen at opacity:0 or translated positions.
  Reduced-motion mode now removes animations completely and restores
  stable, clickable final states.
*/
body.reduce-motion{
  scroll-behavior:auto!important;
}
body.reduce-motion .page,
body.reduce-motion .manager-workspace-area,
body.reduce-motion .brand-logo-wrap,
body.reduce-motion .header-copy,
body.reduce-motion .modal,
body.reduce-motion .accordion-panel{
  opacity:1!important;
  transform:none!important;
}
body.reduce-motion .header-truck{
  left:50%!important;
  transform:translateX(-50%)!important;
  opacity:1!important;
}
body.reduce-motion .route-truck{
  offset-distance:48%!important;
  opacity:1!important;
}
body.reduce-motion .toast.show{
  opacity:1!important;
  transform:none!important;
}

/* Submitted reports attention chart */
.submitted-attention-panel{
  margin-top:15px;
  padding:24px;
}
.submitted-attention-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.submitted-attention-heading h2{
  margin:0;
  font-size:20px;
}
.submitted-attention-heading p{
  max-width:760px;
  margin:7px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.attention-source-chip{
  padding:7px 10px;
  border-radius:50px;
  background:var(--surface-2);
  border:1px solid var(--line);
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
}
.submitted-attention-layout{
  display:grid;
  grid-template-columns:minmax(230px,.72fr) 1.5fr;
  align-items:center;
  gap:30px;
}
.submitted-attention-chart-column{
  display:grid;
  place-items:center;
  min-height:270px;
}
.submitted-attention-pie{
  position:relative;
  width:230px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(#d9dde3 0 100%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),0 14px 34px rgba(28,31,36,.10);
  transition:background .28s ease;
}
.submitted-attention-pie::before{
  content:"";
  position:absolute;
  width:58%;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.submitted-attention-pie>div{
  position:relative;
  z-index:2;
  text-align:center;
}
.submitted-attention-pie strong,
.submitted-attention-pie span{
  display:block;
}
.submitted-attention-pie strong{
  font-size:34px;
  line-height:1;
  color:var(--ink);
}
.submitted-attention-pie span{
  max-width:90px;
  margin:7px auto 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}
.submitted-attention-legend{
  display:grid;
  gap:11px;
}
.attention-legend-item{
  min-height:86px;
  padding:14px 15px;
  display:grid;
  grid-template-columns:13px 1fr auto;
  align-items:center;
  gap:13px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
}
.attention-legend-item>i{
  width:13px;
  height:44px;
  border-radius:99px;
}
.attention-legend-item.immediate>i{background:#c82333}
.attention-legend-item.attention>i{background:#dda12f}
.attention-legend-item.good>i{background:#3aa76d}
.attention-legend-item span,
.attention-legend-item small{
  display:block;
}
.attention-legend-item span{
  font-size:12px;
  font-weight:800;
  color:var(--ink);
}
.attention-legend-item small{
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
}
.attention-legend-item strong{
  min-width:55px;
  text-align:right;
  font-size:27px;
  color:var(--ink);
}
.submitted-attention-summary{
  margin-top:18px;
  padding:13px 15px;
  border-radius:9px;
  border-left:4px solid var(--red);
  background:var(--surface-2);
  color:var(--ink);
  font-size:11px;
  line-height:1.55;
}
body.dark .submitted-attention-pie{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 14px 34px rgba(0,0,0,.18);
}

@media(max-width:900px){
  .submitted-attention-layout{
    grid-template-columns:1fr;
  }
  .submitted-attention-chart-column{
    min-height:235px;
  }
  .submitted-attention-pie{
    width:205px;
  }
}
@media(max-width:620px){
  .submitted-attention-panel{
    padding:18px 14px;
  }
  .submitted-attention-heading{
    flex-direction:column;
  }
  .attention-legend-item{
    grid-template-columns:11px 1fr auto;
    padding:12px;
  }
  .attention-legend-item strong{
    min-width:40px;
    font-size:22px;
  }
}


/* Version 32: Supabase cloud connection and dedicated Report History page */
.cloud-database-panel{
  margin-top:15px;
  padding:25px;
}
.cloud-database-heading,
.history-browser-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
}
.cloud-database-heading h2,
.history-browser-heading h2{
  margin:0;
  font-size:22px;
}
.cloud-database-heading p,
.history-browser-heading p{
  max-width:780px;
  margin:7px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.cloud-user-card{
  min-width:220px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.cloud-user-card>span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  border-radius:11px;
  background:linear-gradient(135deg,#2f9e72,#1e6e58);
  color:#fff;
  font-size:18px;
}
.cloud-user-card small,
.cloud-user-card strong{display:block}
.cloud-user-card small{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.cloud-user-card strong{
  max-width:175px;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}
.cloud-setup-steps{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px;
}
.cloud-setup-steps article{
  padding:13px;
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.cloud-setup-steps b{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  flex:0 0 31px;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:11px;
}
.cloud-setup-steps strong,
.cloud-setup-steps small{display:block}
.cloud-setup-steps strong{font-size:10px}
.cloud-setup-steps small{
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}
.cloud-settings-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.cloud-field{
  display:block;
}
.cloud-field-wide{
  grid-column:span 2;
}
.cloud-field>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
}
.cloud-field input{
  width:100%;
  min-height:43px;
  padding:10px 12px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:9px;
  font:inherit;
  font-size:11px;
}
.cloud-field input:focus{
  outline:2px solid color-mix(in srgb,var(--red) 25%,transparent);
  border-color:var(--red);
}
.cloud-field small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:8px;
}
.cloud-settings-actions{
  margin-top:15px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.cloud-download-link{
  text-decoration:none;
}
.cloud-connection-message{
  margin-top:14px;
  padding:12px 14px;
  border-radius:9px;
  border-left:4px solid var(--red);
  background:var(--surface-2);
  color:var(--ink);
  font-size:10px;
  line-height:1.55;
}

/* Dedicated report history */
.history-browser-panel{
  padding:25px;
}
.history-cloud-chip{
  padding:8px 11px;
  border-radius:50px;
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  white-space:nowrap;
}
.history-cloud-chip[data-state="connected"]{
  color:#277b50;
  background:#e5f6ec;
  border-color:#bce5cd;
}
body.dark .history-cloud-chip[data-state="connected"]{
  color:#8ce1b2;
  background:rgba(45,145,91,.16);
  border-color:rgba(92,190,135,.3);
}
.history-browser-filters{
  margin-top:18px;
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr auto;
  align-items:end;
  gap:11px;
}
.history-browser-filters label>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
}
.history-browser-filters select{
  width:100%;
  min-height:43px;
  padding:9px 11px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:9px;
  font:inherit;
  font-size:11px;
}
.history-view-button{
  min-height:43px;
}
.history-browser-metrics{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.history-browser-metrics article{
  min-height:94px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.history-browser-metrics span,
.history-browser-metrics strong,
.history-browser-metrics small{display:block}
.history-browser-metrics span{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.history-browser-metrics strong{
  margin-top:7px;
  font-size:25px;
}
.history-browser-metrics small{
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.history-selected-period{
  margin-top:15px;
  padding:11px 13px;
  border-radius:9px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--red) 11%,var(--surface)),var(--surface-2));
  border:1px solid color-mix(in srgb,var(--red) 25%,var(--line));
  color:var(--ink);
  font-size:10px;
  font-weight:800;
}
.history-browser-results{
  margin-top:15px;
  display:grid;
  gap:15px;
}
.history-browser-empty{
  min-height:260px;
  padding:30px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  border:1px dashed var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.history-browser-empty img{
  width:62px;
  height:62px;
}
.history-browser-empty h3{
  margin:13px 0 0;
}
.history-browser-empty p{
  max-width:520px;
  margin:7px 0 0;
  color:var(--muted);
  font-size:10px;
}
.history-branch-group{
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.history-branch-group-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:13px;
}
.history-branch-group-heading h3{
  margin:0;
  font-size:17px;
}
.history-branch-group-heading p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:9px;
}
.history-branch-risk{
  padding:7px 9px;
  border-radius:50px;
  background:#e8f5ed;
  color:#2d8252;
  font-size:8px;
  font-weight:900;
}
.history-branch-risk.has-risk{
  background:#fde6e9;
  color:#b4212e;
}
.history-section-report-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.history-section-report{
  position:relative;
  overflow:hidden;
  padding:14px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
}
.history-section-report::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#3aa76d;
}
.history-section-report.attention::before{background:#dda12f}
.history-section-report.immediate::before{background:#c82333}
.history-section-report-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
}
.history-report-version{
  padding:5px 7px;
  border-radius:50px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:7px;
  font-weight:900;
}
.history-section-report h4{
  margin:12px 0 0;
  font-size:13px;
}
.history-section-report>p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:9px;
}
.history-section-report-metrics{
  margin-top:13px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.history-section-report-metrics span{
  padding:8px;
  border-radius:8px;
  background:var(--surface-2);
}
.history-section-report-metrics small,
.history-section-report-metrics strong{display:block}
.history-section-report-metrics small{
  color:var(--muted);
  font-size:7px;
}
.history-section-report-metrics strong{
  margin-top:4px;
  font-size:14px;
}
.history-section-report-footer{
  margin-top:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.history-section-report-footer>small{
  color:var(--muted);
  font-size:8px;
}
.history-section-report-footer .ghost-button{
  min-height:32px;
  padding:7px 9px;
  font-size:8px;
}
.history-nav-badge{
  min-width:24px;
}

@media(max-width:1100px){
  .history-section-report-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .cloud-database-heading,
  .history-browser-heading{
    flex-direction:column;
  }
  .cloud-user-card{
    width:100%;
  }
  .cloud-setup-steps{
    grid-template-columns:1fr;
  }
  .history-browser-filters{
    grid-template-columns:1fr 1fr;
  }
  .history-view-button{
    width:100%;
  }
  .history-browser-metrics{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:620px){
  .cloud-settings-grid,
  .history-browser-filters,
  .history-browser-metrics,
  .history-section-report-grid{
    grid-template-columns:1fr;
  }
  .cloud-field-wide{
    grid-column:auto;
  }
  .cloud-database-panel,
  .history-browser-panel{
    padding:18px 14px;
  }
  .history-branch-group-heading,
  .history-section-report-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Version 35: shared no-sign-in cloud and reliable offline submissions */
.shared-cloud-card{
  min-width:220px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.shared-cloud-card>span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  border-radius:11px;
  background:linear-gradient(135deg,#2f9e72,#1e6e58);
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.shared-cloud-card small,
.shared-cloud-card strong{display:block}
.shared-cloud-card small{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.shared-cloud-card strong{
  margin-top:4px;
  font-size:10px;
}
.cloud-sync-overview{
  margin-top:15px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.cloud-sync-overview article{
  min-height:78px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.cloud-sync-overview span,
.cloud-sync-overview strong{display:block}
.cloud-sync-overview span{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.cloud-sync-overview strong{
  margin-top:7px;
  font-size:15px;
}
.submission-status-stack{
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:5px;
}
.cloud-synced-chip{
  background:#e5f6ec!important;
  color:#277b50!important;
  border-color:#bce5cd!important;
}
.cloud-pending-chip{
  background:#fff2d5!important;
  color:#96630a!important;
  border-color:#e5c26c!important;
}
body.dark .cloud-synced-chip{
  background:rgba(45,145,91,.16)!important;
  color:#8ce1b2!important;
  border-color:rgba(92,190,135,.3)!important;
}
body.dark .cloud-pending-chip{
  background:rgba(221,161,47,.15)!important;
  color:#f1ca72!important;
  border-color:rgba(221,161,47,.35)!important;
}
@media(max-width:900px){
  .cloud-sync-overview{
    grid-template-columns:1fr;
  }
  .shared-cloud-card{
    width:100%;
  }
}


/* Version 37 - owner-computer central server and PDF report export */
.owner-server-panel{position:relative}.owner-server-card>span{background:linear-gradient(135deg,#c9151e,#7c0d13)}.owner-server-address-panel{margin-top:15px;padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.owner-server-address-panel span,.owner-server-address-panel strong,.owner-server-address-panel small{display:block}.owner-server-address-panel span{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.08em}.owner-server-address-panel strong{margin-top:7px;font-size:17px;overflow-wrap:anywhere}.owner-server-address-panel small{margin-top:6px;color:var(--muted);font-size:8.5px;line-height:1.5}.pdf-help-panel{margin-top:15px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.pdf-help-panel h2{margin:0;font-size:19px}.pdf-help-panel p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.pdf-help-icon{width:62px;height:62px;display:grid;place-items:center;flex:0 0 62px;border-radius:13px;background:linear-gradient(135deg,#c9151e,#7f0d13);color:#fff;font-size:15px;font-weight:900;letter-spacing:.05em;box-shadow:0 10px 24px rgba(201,21,30,.2)}.pdf-action-help{margin:0 0 12px;padding:10px 12px;border:1px solid #efc4c7;border-radius:8px;background:#fff5f5;color:#6e2428;font-size:9px;line-height:1.5}.submission-detail-actions{flex-wrap:wrap}.cloud-synced-chip{background:#e5f6ec!important;color:#277b50!important;border-color:#bce5cd!important}.database-status-chip.offline{background:#fde4e7!important;color:#a31e29!important}.database-status-chip.connected{background:#e5f6ec!important;color:#277b50!important}@media(max-width:760px){.pdf-help-panel{align-items:flex-start}.pdf-help-icon{width:50px;height:50px;flex-basis:50px}.owner-server-address-panel strong{font-size:13px}}


/* Version 39: standalone local report transfer */
.local-transfer-panel{margin-top:16px;padding:24px;}
.local-transfer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.local-transfer-heading h2{margin:0;font-size:20px;}
.local-transfer-heading p{max-width:780px;margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.55;}
.local-storage-badge{padding:8px 12px;border-radius:50px;border:1px solid #b8dfc8;background:#e6f6ed;color:#287a4c;font-size:8px;font-weight:900;letter-spacing:.08em;}
.local-transfer-actions{margin-top:16px;display:flex;gap:9px;flex-wrap:wrap;}
.local-transfer-note{margin:12px 0 0;padding:11px 12px;border-left:3px solid var(--red);background:var(--surface-2);color:var(--muted);font-size:9px;line-height:1.5;}
body.dark .local-storage-badge{border-color:rgba(75,190,125,.3);background:rgba(55,160,100,.13);color:#8fe0b1;}
@media(max-width:700px){.local-transfer-heading{flex-direction:column}.local-transfer-actions>*{width:100%}}


/* Version 41: direct PDF download and printable question sheets */
.submission-detail-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.submission-detail-actions .primary-button,
.submission-detail-actions .ghost-button{
  min-height:38px;
}
.submission-record-actions{
  flex-wrap:wrap;
}
.pdf-action-help{
  line-height:1.55;
}
@media(max-width:620px){
  .submission-detail-actions .primary-button,
  .submission-detail-actions .ghost-button{
    width:100%;
  }
}


/* Version 43: Warren login repair, question manager and report deletion */
.auth-account[role="button"]{
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.auth-account[role="button"]:hover,
.auth-account[role="button"]:focus{
  transform:translateY(-1px);
  border-color:#c51f25;
  box-shadow:0 5px 16px rgba(197,31,37,.12);
  outline:none;
}
.auth-account small em{
  display:block;
  margin-top:4px;
  color:#b51a21;
  font-style:normal;
  font-weight:800;
}
.warren-auth-account{
  border-color:rgba(197,31,37,.35);
  background:#fff8f8;
}
.question-admin-panel{
  margin-top:16px;
  padding:24px;
}
.question-admin-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.question-admin-heading h2{
  margin:0;
  font-size:21px;
}
.question-admin-heading p{
  max-width:760px;
  margin:7px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.question-admin-badge{
  padding:8px 11px;
  border:1px solid rgba(197,31,37,.25);
  border-radius:999px;
  background:rgba(197,31,37,.08);
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
}
.question-admin-controls{
  margin-top:17px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
.question-admin-controls>label{
  min-width:280px;
}
.question-admin-controls label>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.question-admin-controls select{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--ink);
  background:var(--surface);
  font:inherit;
  font-size:10px;
}
.question-admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.question-admin-warning{
  margin-top:13px;
  padding:11px 13px;
  border:1px solid rgba(221,161,47,.38);
  border-radius:9px;
  background:rgba(221,161,47,.09);
  color:var(--ink);
  font-size:8.5px;
  line-height:1.5;
}
.question-editor-list{
  margin-top:15px;
  display:grid;
  gap:10px;
  max-height:720px;
  overflow:auto;
  padding-right:4px;
}
.question-editor-row{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 92px;
  gap:11px;
  align-items:start;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.question-editor-index{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.question-editor-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.question-editor-main-field{
  grid-column:1 / -1;
}
.question-editor-fields label>span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:7.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.question-editor-fields input,
.question-editor-fields textarea{
  box-sizing:border-box;
  width:100%;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  resize:vertical;
  color:var(--ink);
  background:var(--surface);
  font:inherit;
  font-size:9px;
  line-height:1.45;
}
.question-editor-fields input:focus,
.question-editor-fields textarea:focus{
  border-color:var(--red);
  outline:none;
  box-shadow:0 0 0 3px rgba(197,31,37,.1);
}
.question-editor-row-actions{
  display:grid;
  gap:6px;
}
.question-editor-row-actions button{
  min-height:30px;
  padding:6px 7px;
  font-size:7.5px;
}
.question-editor-row-actions button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.question-editor-empty{
  padding:25px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:var(--muted);
  text-align:center;
  font-size:9px;
}
body.dark .warren-auth-account{
  background:rgba(197,31,37,.08);
}
@media(max-width:880px){
  .question-admin-heading,
  .question-admin-controls{
    flex-direction:column;
    align-items:stretch;
  }
  .question-admin-controls>label{
    min-width:0;
  }
  .question-editor-row{
    grid-template-columns:42px 1fr;
  }
  .question-editor-row-actions{
    grid-column:2;
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:580px){
  .question-editor-fields{
    grid-template-columns:1fr;
  }
  .question-editor-main-field{
    grid-column:auto;
  }
  .question-editor-row{
    grid-template-columns:1fr;
  }
  .question-editor-index,
  .question-editor-row-actions{
    grid-column:auto;
  }
  .question-editor-row-actions{
    grid-template-columns:1fr;
  }
}


/* Version 44: Admin field and Admin-only all-branch reporting */
.admin-nav-group{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  margin:4px 0;
  padding:3px 0 5px;
  background:rgba(0,0,0,.08);
}
.admin-nav-parent{
  min-height:52px;
  background:linear-gradient(90deg,rgba(197,31,37,.24),rgba(197,31,37,.03));
}
.admin-nav-badge{
  width:auto;
  min-width:42px;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(197,31,37,.42);
  font-size:7px;
  letter-spacing:.06em;
}
.admin-nav-submenu{
  position:relative;
  padding:1px 0 2px 18px;
}
.admin-nav-submenu::before{
  content:"";
  position:absolute;
  left:30px;
  top:2px;
  bottom:8px;
  width:1px;
  background:rgba(255,255,255,.14);
}
.admin-sub-link{
  min-height:39px;
  padding-left:31px;
  gap:10px;
  font-size:10px;
  opacity:.88;
}
.admin-sub-link:hover{
  padding-left:35px;
}
.admin-sub-link svg{
  width:16px;
  height:16px;
  flex-basis:16px;
}
.admin-sub-link::before{
  width:3px;
}
.admin-page-heading{
  align-items:center;
}
.admin-page-role-chip{
  padding:9px 13px;
  border:1px solid rgba(197,31,37,.24);
  border-radius:999px;
  color:var(--red);
  background:rgba(197,31,37,.08);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.admin-access-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-bottom:16px;
}
.admin-access-card{
  min-height:150px;
  display:grid;
  grid-template-columns:48px 1fr;
  grid-template-rows:1fr auto;
  gap:10px 12px;
  align-items:start;
  padding:18px;
  color:var(--ink);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.admin-access-card:hover{
  transform:translateY(-2px);
  border-color:rgba(197,31,37,.4);
  box-shadow:0 12px 30px rgba(0,0,0,.1);
}
.admin-access-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:17px;
  font-weight:900;
}
.admin-access-card small{
  display:block;
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.admin-access-card h2{
  margin:5px 0 4px;
  font-size:16px;
}
.admin-access-card p{
  margin:0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.admin-access-card>b{
  grid-column:1 / -1;
  justify-self:end;
  color:var(--red);
  font-size:8px;
  letter-spacing:.05em;
}
#adminQuestions,
#adminPage .question-admin-panel{
  scroll-margin-top:calc(var(--topbar) + 18px);
}
#adminPage .local-transfer-panel{
  margin-bottom:16px;
}
@media(max-width:1050px){
  .admin-access-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .admin-nav-submenu{
    padding-left:10px;
  }
  .admin-access-card{
    min-height:130px;
  }
}


/* Version 45: Question Changer directly under Admin in the left menu */
.admin-question-link{
  color:#fff;
  background:rgba(197,31,37,.12);
}
.admin-question-link span{
  font-weight:800;
}
.admin-question-link:hover{
  background:rgba(197,31,37,.22);
}


/* Version 46: clean sign-in, email reset and shared Admin report inbox */
.auth-new-password-panel[hidden]{
  display:none !important;
}
.auth-reset-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:13px;
}
.auth-reset-actions[hidden]{
  display:none !important;
}
.auth-secondary{
  min-height:39px;
  border:1px solid #d6dce2;
  border-radius:10px;
  padding:10px 12px;
  background:#f3f5f7;
  color:#34404d;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.auth-secondary:hover{
  border-color:#c51f25;
  color:#b51a21;
}
.auth-reset-note{
  margin-top:16px;
  padding:12px 13px;
  border:1px solid #d9dee3;
  border-radius:10px;
  background:#f7f8fa;
  color:#667482;
  font-size:11px;
  line-height:1.55;
}
.admin-report-inbox-banner{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  margin-bottom:16px;
  padding:18px 20px;
  border-color:rgba(197,31,37,.24);
  background:
    linear-gradient(100deg,rgba(197,31,37,.08),transparent 58%),
    var(--surface);
}
.admin-report-inbox-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:22px;
  font-weight:900;
}
.admin-report-inbox-banner h2{
  margin:4px 0 5px;
  font-size:16px;
}
.admin-report-inbox-banner p{
  margin:0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.admin-report-inbox-count{
  min-width:118px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
  text-align:center;
}
.admin-report-inbox-count span{
  display:block;
  color:var(--muted);
  font-size:7px;
  font-weight:850;
  letter-spacing:.06em;
}
.admin-report-inbox-count strong{
  display:block;
  margin-top:4px;
  color:var(--red);
  font-size:23px;
}
@media(max-width:700px){
  .auth-reset-actions{
    grid-template-columns:1fr;
  }
  .admin-report-inbox-banner{
    grid-template-columns:48px 1fr;
  }
  .admin-report-inbox-count{
    grid-column:1 / -1;
  }
}


/* Version 51: branch-scoped Manager profiles and Johannesburg user management */
.manager-nav-group{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  margin:4px 0;
  padding:3px 0 5px;
  background:rgba(0,0,0,.08);
}
.manager-nav-parent{
  cursor:default;
  min-height:50px;
  background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.01));
}
.manager-nav-parent:hover{
  padding-left:24px;
}
.manager-nav-badge{
  width:auto;
  min-width:43px;
  padding:0 7px;
  background:rgba(255,255,255,.14);
  font-size:7px;
  letter-spacing:.05em;
}
.manager-nav-submenu{
  position:relative;
  padding:1px 0 2px 18px;
}
.manager-nav-submenu::before{
  content:"";
  position:absolute;
  left:30px;
  top:2px;
  bottom:8px;
  width:1px;
  background:rgba(255,255,255,.14);
}
.manager-sub-link{
  min-height:39px;
  padding-left:31px;
  gap:10px;
  font-size:10px;
  opacity:.9;
}
.manager-sub-link:hover{
  padding-left:35px;
}
.manager-sub-link svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
}
.branch-users-heading{
  align-items:center;
}
.branch-users-role-chip{
  padding:9px 13px;
  border:1px solid rgba(197,31,37,.25);
  border-radius:999px;
  background:rgba(197,31,37,.08);
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.branch-user-layout{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(420px,1.22fr);
  gap:15px;
}
.branch-user-form{
  display:grid;
  gap:13px;
}
.branch-user-form label>span,
.branch-user-assignment>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.branch-user-form input,
.branch-user-form select{
  box-sizing:border-box;
  width:100%;
  min-height:43px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:10px;
}
.branch-user-form input:focus,
.branch-user-form select:focus{
  border-color:var(--red);
  outline:none;
  box-shadow:0 0 0 3px rgba(197,31,37,.1);
}
.branch-user-password-wrap{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.branch-user-password-wrap .ghost-button{
  min-width:72px;
}
.branch-user-assignment{
  padding:12px 13px;
  border:1px solid rgba(197,31,37,.24);
  border-radius:9px;
  background:rgba(197,31,37,.06);
}
.branch-user-assignment strong{
  color:var(--ink);
  font-size:11px;
}
.branch-user-message{
  min-height:21px;
  margin-top:11px;
  color:#b42318;
  font-size:10px;
  font-weight:750;
}
.branch-user-message.success{
  color:#147a42;
}
.branch-user-count{
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:8px;
  font-weight:850;
}
.branch-user-count strong{
  color:var(--red);
}
.branch-user-list{
  display:grid;
  gap:9px;
}
.branch-user-card{
  display:grid;
  grid-template-columns:43px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.branch-user-avatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.branch-user-card h3{
  margin:0;
  font-size:12px;
}
.branch-user-card p{
  margin:4px 0 0;
  color:var(--ink);
  font-size:9px;
}
.branch-user-card small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.branch-user-card .danger-button{
  min-height:33px;
  padding:0 10px;
  font-size:8px;
}
.branch-user-empty{
  padding:35px 20px;
  text-align:center;
  color:var(--muted);
}
.branch-user-empty img{
  width:54px;
  margin:0 auto 10px;
  opacity:.55;
}
.branch-user-empty h3{
  margin:0;
  color:var(--ink);
  font-size:13px;
}
.branch-user-empty p{
  margin:7px 0 0;
  font-size:9px;
}
select:disabled{
  cursor:not-allowed;
  opacity:.78;
}
@media(max-width:980px){
  .branch-user-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .branch-user-card{
    grid-template-columns:40px 1fr;
  }
  .branch-user-card .danger-button{
    grid-column:1 / -1;
  }
}


/* Version 52: Admin user directory for every branch */
.admin-users-heading{
  align-items:center;
}
.admin-user-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin-bottom:15px;
}
.admin-user-metrics article{
  min-height:104px;
  padding:16px;
}
.admin-user-metrics span,
.admin-user-metrics strong,
.admin-user-metrics small{
  display:block;
}
.admin-user-metrics span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-user-metrics strong{
  margin-top:7px;
  color:var(--red);
  font-size:26px;
}
.admin-user-metrics small{
  margin-top:5px;
  color:var(--muted);
  font-size:8px;
  line-height:1.45;
}
.admin-user-filter-panel{
  margin-bottom:15px;
}
.admin-user-filter-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.admin-user-filter-heading h2{
  margin:0;
  font-size:17px;
}
.admin-user-directory-count{
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:8px;
  font-weight:850;
}
.admin-user-directory-count strong{
  color:var(--red);
}
.admin-user-filters{
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) minmax(180px,.8fr) minmax(160px,.7fr) auto;
  gap:10px;
  align-items:end;
}
.admin-user-filters label>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-user-filters input,
.admin-user-filters select{
  box-sizing:border-box;
  width:100%;
  min-height:41px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:10px;
}
.admin-profile-directory{
  margin-bottom:15px;
}
.admin-profile-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.admin-branch-user-directory{
  display:grid;
  gap:14px;
}
.admin-branch-user-card{
  padding:18px;
}
.admin-branch-user-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:13px;
  margin-bottom:12px;
  border-bottom:1px solid var(--line);
}
.admin-branch-user-identity{
  display:flex;
  align-items:center;
  gap:11px;
}
.admin-branch-user-identity>span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.admin-branch-user-identity small{
  display:block;
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
}
.admin-branch-user-identity h2{
  margin:4px 0 0;
  font-size:16px;
}
.admin-branch-user-counts{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.admin-branch-user-counts span{
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:8px;
}
.admin-branch-user-counts strong{
  color:var(--ink);
}
.admin-branch-user-profiles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.admin-user-profile-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:82px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.admin-user-profile-avatar{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--charcoal),var(--charcoal-2));
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.admin-user-profile-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
}
.admin-user-profile-title h3{
  margin:0;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.admin-user-profile-copy p{
  margin:4px 0 0;
  overflow-wrap:anywhere;
  color:var(--ink);
  font-size:8.5px;
}
.admin-user-profile-copy small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:7.5px;
  line-height:1.4;
}
.admin-user-role-badge{
  flex:0 0 auto;
  padding:4px 6px;
  border-radius:999px;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.admin-user-role-badge.role-admin{
  background:rgba(197,31,37,.12);
  color:var(--red);
}
.admin-user-role-badge.role-manager{
  background:rgba(221,161,47,.15);
  color:#a36a00;
}
.admin-user-role-badge.role-user{
  background:rgba(58,167,109,.14);
  color:#237447;
}
.admin-user-empty-state{
  grid-column:1 / -1;
  padding:20px;
  border:1px dashed var(--line);
  border-radius:9px;
  color:var(--muted);
  text-align:center;
  font-size:9px;
}
@media(max-width:1100px){
  .admin-user-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-profile-list,
  .admin-branch-user-profiles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-user-filters{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:680px){
  .admin-user-metrics,
  .admin-profile-list,
  .admin-branch-user-profiles,
  .admin-user-filters{
    grid-template-columns:1fr;
  }
  .admin-branch-user-heading{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Version 53: Admins can create and remove branch User accounts */
.admin-user-create-panel{
  margin-bottom:15px;
}
.admin-user-create-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:15px;
}
.admin-user-create-heading h2{
  margin:0;
  font-size:18px;
}
.admin-user-create-heading p{
  max-width:760px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.admin-user-create-chip{
  padding:8px 11px;
  border:1px solid rgba(197,31,37,.24);
  border-radius:999px;
  background:rgba(197,31,37,.08);
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
  white-space:nowrap;
}
.admin-user-create-form{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr 1.2fr auto;
  gap:10px;
  align-items:end;
}
.admin-user-create-form label>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-user-create-form input,
.admin-user-create-form select{
  box-sizing:border-box;
  width:100%;
  min-height:41px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:10px;
}
.admin-create-password-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
}
.admin-create-password-wrap .ghost-button{
  min-width:68px;
  padding:0 10px;
}
.admin-user-create-message{
  min-height:20px;
  margin-top:11px;
  color:#b42318;
  font-size:9px;
  font-weight:750;
}
.admin-user-create-message.success{
  color:#147a42;
}
.admin-user-profile-card:has(.admin-user-remove-button){
  grid-template-columns:42px minmax(0,1fr) auto;
}
.admin-user-remove-button{
  min-height:31px;
  padding:0 9px;
  font-size:7.5px;
}
@media(max-width:1200px){
  .admin-user-create-form{
    grid-template-columns:1fr 1fr;
  }
  .admin-user-create-form>.primary-button{
    grid-column:1 / -1;
  }
}
@media(max-width:700px){
  .admin-user-create-heading{
    flex-direction:column;
  }
  .admin-user-create-form{
    grid-template-columns:1fr;
  }
  .admin-user-create-form>.primary-button{
    grid-column:auto;
  }
  .admin-user-profile-card:has(.admin-user-remove-button){
    grid-template-columns:40px 1fr;
  }
  .admin-user-remove-button{
    grid-column:1 / -1;
  }
}


/* Version 54: Admin Manager edit/remove controls */
.admin-manager-editor-panel{
  margin-bottom:15px;
  scroll-margin-top:calc(var(--topbar) + 18px);
  border-color:rgba(221,161,47,.35);
  background:
    linear-gradient(100deg,rgba(221,161,47,.07),transparent 55%),
    var(--surface);
}
.admin-manager-editor-panel[hidden]{
  display:none !important;
}
.admin-manager-editor-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:15px;
}
.admin-manager-editor-heading h2{
  margin:0;
  font-size:18px;
}
.admin-manager-editor-heading p{
  max-width:760px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.admin-manager-edit-form{
  display:grid;
  grid-template-columns:1fr 1.25fr 1.1fr 1.2fr auto;
  gap:10px;
  align-items:end;
}
.admin-manager-edit-form label>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-manager-edit-form input,
.admin-manager-edit-form select{
  box-sizing:border-box;
  width:100%;
  min-height:41px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:10px;
}
.admin-profile-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.admin-manager-edit-button,
.admin-manager-remove-button{
  min-width:58px;
  min-height:29px;
  padding:0 8px;
  font-size:7px;
}
.admin-user-profile-card:has(.admin-profile-actions){
  grid-template-columns:42px minmax(0,1fr) auto;
}
@media(max-width:1200px){
  .admin-manager-edit-form{
    grid-template-columns:1fr 1fr;
  }
  .admin-manager-edit-form>.primary-button{
    grid-column:1 / -1;
  }
}
@media(max-width:700px){
  .admin-manager-editor-heading{
    flex-direction:column;
  }
  .admin-manager-edit-form{
    grid-template-columns:1fr;
  }
  .admin-manager-edit-form>.primary-button{
    grid-column:auto;
  }
  .admin-user-profile-card:has(.admin-profile-actions){
    grid-template-columns:40px 1fr;
  }
  .admin-profile-actions{
    grid-column:1 / -1;
    flex-direction:row;
  }
}


/* Version 55: connected Manager/User reporting and account-grouped archives */
.branch-attention-summary-panel{
  margin-bottom:15px;
}
.branch-attention-summary-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:15px;
}
.branch-attention-summary-heading h2{
  margin:0;
  font-size:18px;
}
.branch-attention-summary-heading p{
  max-width:780px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.branch-attention-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.branch-attention-card{
  padding:13px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.branch-attention-card-heading{
  display:flex;
  align-items:center;
  gap:10px;
}
.branch-attention-card-heading>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:11px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.branch-attention-card-heading h3{
  margin:0;
  font-size:12px;
}
.branch-attention-card-heading p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:7.5px;
  line-height:1.4;
}
.branch-attention-card-body{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:12px;
  align-items:center;
  margin-top:12px;
}
.branch-attention-mini-pie{
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}
.branch-attention-mini-pie>div{
  width:53px;
  height:53px;
  display:grid;
  place-items:center;
  align-content:center;
  border-radius:50%;
  background:var(--surface);
}
.branch-attention-mini-pie strong,
.branch-attention-mini-pie small{
  display:block;
  text-align:center;
}
.branch-attention-mini-pie strong{
  font-size:16px;
}
.branch-attention-mini-pie small{
  color:var(--muted);
  font-size:6px;
  font-weight:850;
}
.branch-attention-mini-legend{
  display:grid;
  gap:6px;
}
.branch-attention-mini-legend span{
  display:grid;
  grid-template-columns:8px 20px 1fr;
  align-items:center;
  gap:5px;
  color:var(--muted);
  font-size:7.5px;
}
.branch-attention-mini-legend i{
  width:8px;
  height:8px;
  border-radius:50%;
}
.branch-attention-mini-legend .immediate i{background:#c82333}
.branch-attention-mini-legend .attention i{background:#dda12f}
.branch-attention-mini-legend .good i{background:#3aa76d}
.branch-attention-mini-legend b{
  color:var(--ink);
  font-size:9px;
}
.submitted-branch-account-group{
  padding:15px;
  margin-bottom:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.submitted-branch-account-heading{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:12px;
}
.submitted-branch-account-heading>span{
  width:47px;
  height:47px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.submitted-branch-account-heading small{
  display:block;
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
}
.submitted-branch-account-heading h3{
  margin:3px 0 0;
  font-size:15px;
}
.submitted-branch-account-heading p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
}
.submitted-account-groups{
  display:grid;
  gap:11px;
}
.submitted-account-group{
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
}
.submitted-account-heading{
  display:grid;
  grid-template-columns:39px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid var(--line);
}
.submitted-account-avatar{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--charcoal),var(--charcoal-2));
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.submitted-account-heading h4{
  margin:0;
  font-size:11px;
}
.submitted-account-heading p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:7.5px;
  overflow-wrap:anywhere;
}
.submitted-account-heading>strong{
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--red);
  font-size:7px;
}
.submitted-account-report-list{
  display:grid;
  gap:10px;
}
.submission-record-meta{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.history-account-groups{
  display:grid;
  gap:11px;
}
.history-account-group{
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.history-account-group-heading{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  margin-bottom:11px;
}
.history-account-group-heading>span{
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--charcoal),var(--charcoal-2));
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.history-account-group-heading h4{
  margin:0;
  font-size:11px;
}
.history-account-group-heading p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:7.5px;
  overflow-wrap:anywhere;
}
.history-account-group-heading>strong{
  color:var(--red);
  font-size:7px;
}
@media(max-width:1100px){
  .branch-attention-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .submission-record-meta{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .branch-attention-summary-heading{
    flex-direction:column;
  }
  .branch-attention-summary-grid{
    grid-template-columns:1fr;
  }
  .submission-record-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .submitted-account-heading,
  .history-account-group-heading{
    grid-template-columns:38px 1fr;
  }
  .submitted-account-heading>strong,
  .history-account-group-heading>strong{
    grid-column:1 / -1;
  }
}


/* Version 56: submitted reports become permanent history versions */
.submitted-chip.archived-chip{
  letter-spacing:.055em;
}


/* Version 57: Admin PDF downloads from Submitted Reports and Report History */
.history-report-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.history-pdf-button{
  min-height:31px;
  padding:0 10px;
  font-size:7.5px;
  white-space:nowrap;
}
@media(max-width:680px){
  .history-section-report-footer{
    align-items:flex-start;
    flex-direction:column;
  }
  .history-report-actions{
    width:100%;
    justify-content:flex-start;
  }
}


/* Version 58: individual User question-selection permissions */
.user-access-page-heading{
  align-items:center;
}
.user-access-scope-chip{
  padding:9px 13px;
  border:1px solid rgba(197,31,37,.24);
  border-radius:999px;
  background:rgba(197,31,37,.08);
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  white-space:nowrap;
}
.user-access-layout{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(560px,1.42fr);
  gap:15px;
  align-items:start;
}
.user-access-user-panel,
.user-access-editor-panel{
  min-height:560px;
}
.user-access-user-panel{
  position:sticky;
  top:calc(var(--topbar) + 14px);
}
.user-access-panel-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}
.user-access-panel-heading h2{
  margin:0;
  font-size:16px;
}
.user-access-count{
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:7.5px;
  font-weight:850;
}
.user-access-count strong{
  color:var(--red);
}
.user-access-filters{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:8px;
  margin-bottom:12px;
}
.user-access-filters label>span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:7.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.user-access-filters input,
.user-access-filters select{
  box-sizing:border-box;
  width:100%;
  min-height:39px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:9px;
}
.user-access-user-list{
  display:grid;
  gap:8px;
  max-height:660px;
  overflow:auto;
  padding-right:3px;
}
.user-access-user-card{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.user-access-user-card:hover{
  transform:translateY(-1px);
  border-color:rgba(197,31,37,.35);
}
.user-access-user-card.selected{
  border-color:var(--red);
  background:linear-gradient(100deg,rgba(197,31,37,.09),var(--surface-2));
  box-shadow:0 0 0 2px rgba(197,31,37,.07);
}
.user-access-list-avatar{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--charcoal),var(--charcoal-2));
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.user-access-user-card.selected .user-access-list-avatar{
  background:linear-gradient(135deg,var(--red),var(--red-dark));
}
.user-access-list-copy{
  min-width:0;
}
.user-access-list-copy strong,
.user-access-list-copy small,
.user-access-list-copy em{
  display:block;
}
.user-access-list-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}
.user-access-list-copy small{
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:7.5px;
}
.user-access-list-copy em{
  margin-top:4px;
  color:var(--red);
  font-size:7px;
  font-style:normal;
  font-weight:800;
}
.user-access-list-arrow{
  color:var(--red);
  font-size:14px;
  font-weight:900;
}
.user-access-empty,
.user-access-no-users{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:420px;
  padding:30px;
  text-align:center;
  color:var(--muted);
}
.user-access-empty img,
.user-access-no-users img{
  width:58px;
  margin-bottom:10px;
  opacity:.5;
}
.user-access-empty h2,
.user-access-no-users h3{
  margin:0;
  color:var(--ink);
}
.user-access-empty p,
.user-access-no-users p{
  max-width:430px;
  margin:7px 0 0;
  font-size:9px;
  line-height:1.55;
}
.user-access-selected-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid var(--line);
}
.user-access-selected-person{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.user-access-selected-person>span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 48px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.user-access-selected-person small{
  display:block;
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
}
.user-access-selected-person h2{
  margin:4px 0 0;
  font-size:17px;
}
.user-access-selected-person p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
  overflow-wrap:anywhere;
}
.user-access-branch-chip{
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--ink);
  font-size:7.5px;
  font-weight:850;
  white-space:nowrap;
}
.user-access-instruction{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  margin-bottom:14px;
  border:1px solid rgba(197,31,37,.18);
  border-radius:10px;
  background:rgba(197,31,37,.055);
}
.user-access-instruction>span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--surface);
}
.user-access-instruction strong{
  font-size:10px;
}
.user-access-instruction p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.user-access-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.user-access-toolbar strong,
.user-access-toolbar small{
  display:block;
}
.user-access-toolbar strong{
  font-size:11px;
}
.user-access-toolbar small{
  margin-top:3px;
  color:var(--muted);
  font-size:7.5px;
}
.user-access-toolbar>div:last-child{
  display:flex;
  gap:7px;
}
.user-access-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.user-access-section-card{
  position:relative;
  display:grid;
  grid-template-columns:22px 42px minmax(0,1fr);
  gap:9px;
  align-items:start;
  min-height:128px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
  cursor:pointer;
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.user-access-section-card:hover{
  transform:translateY(-1px);
  border-color:rgba(197,31,37,.35);
}
.user-access-section-card.selected{
  border-color:var(--red);
  background:linear-gradient(115deg,rgba(197,31,37,.085),var(--surface-2));
  box-shadow:0 0 0 2px rgba(197,31,37,.06);
}
.user-access-section-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.user-access-section-check{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--surface);
  color:transparent;
  font-size:11px;
  font-weight:900;
}
.user-access-section-card.selected .user-access-section-check{
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}
.user-access-section-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(135deg,var(--charcoal),var(--charcoal-2));
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.user-access-section-card.selected .user-access-section-icon{
  background:linear-gradient(135deg,var(--red),var(--red-dark));
}
.user-access-section-copy strong,
.user-access-section-copy small{
  display:block;
}
.user-access-section-copy strong{
  font-size:10px;
  line-height:1.3;
}
.user-access-section-copy small{
  margin-top:4px;
  color:var(--red);
  font-size:7px;
  font-weight:800;
}
.user-access-section-copy p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:7.5px;
  line-height:1.45;
}
.user-access-save-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:14px;
  margin-top:14px;
  border-top:1px solid var(--line);
}
.user-access-message{
  min-height:18px;
  color:#a36a00;
  font-size:8.5px;
  font-weight:750;
}
.user-access-message.success{
  color:#147a42;
}
.branch-user-card-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.branch-user-card-actions button{
  min-width:92px;
  min-height:31px;
  padding:0 8px;
  font-size:7px;
}
.user-no-question-access{
  grid-column:1 / -1;
  display:grid;
  place-items:center;
  min-height:330px;
  padding:35px;
  border:1px dashed var(--line);
  border-radius:12px;
  background:var(--surface-2);
  text-align:center;
}
.user-no-question-access img{
  width:62px;
  margin-bottom:10px;
  opacity:.5;
}
.user-no-question-access h3{
  margin:5px 0 0;
  font-size:15px;
}
.user-no-question-access p{
  max-width:520px;
  margin:8px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
@media(max-width:1050px){
  .user-access-layout{
    grid-template-columns:1fr;
  }
  .user-access-user-panel{
    position:static;
    min-height:0;
  }
  .user-access-user-list{
    max-height:420px;
  }
}
@media(max-width:720px){
  .user-access-page-heading,
  .user-access-selected-heading,
  .user-access-toolbar,
  .user-access-save-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .user-access-filters,
  .user-access-section-grid{
    grid-template-columns:1fr;
  }
  .user-access-toolbar>div:last-child{
    width:100%;
  }
  .user-access-toolbar button,
  .user-access-save-row button{
    flex:1;
  }
  .branch-user-card-actions{
    grid-column:1 / -1;
    flex-direction:row;
  }
}


/* Version 60: Admin-controlled account field permissions */
.granted-access-nav-group{
  margin:4px 0;
  padding:3px 0 5px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.08);
}
.granted-access-nav-parent{
  cursor:default;
  min-height:49px;
  background:linear-gradient(90deg,rgba(197,31,37,.18),rgba(255,255,255,.01));
}
.granted-access-nav-parent:hover{
  padding-left:24px;
}
.granted-access-badge{
  width:auto;
  padding:0 6px;
  font-size:6.5px;
  letter-spacing:.05em;
}
.granted-access-submenu{
  position:relative;
  padding-left:18px;
}
.granted-access-submenu::before{
  content:"";
  position:absolute;
  left:30px;
  top:3px;
  bottom:7px;
  width:1px;
  background:rgba(255,255,255,.14);
}
.granted-access-link{
  min-height:37px;
  padding-left:31px;
  font-size:9px;
}
.granted-access-link:hover{
  padding-left:35px;
}
.feature-access-page-heading{
  align-items:center;
}
.feature-access-layout{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(570px,1.38fr);
  gap:15px;
  align-items:start;
}
.feature-access-account-panel,
.feature-access-editor-panel{
  min-height:590px;
}
.feature-access-account-panel{
  position:sticky;
  top:calc(var(--topbar) + 14px);
}
.feature-access-panel-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}
.feature-access-panel-heading h2{
  margin:0;
  font-size:16px;
}
.feature-access-count{
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:7.5px;
  font-weight:850;
}
.feature-access-count strong{
  color:var(--red);
}
.feature-access-filters{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:12px;
}
.feature-access-search-label{
  grid-column:1 / -1;
}
.feature-access-filters label>span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:7.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.feature-access-filters input,
.feature-access-filters select{
  box-sizing:border-box;
  width:100%;
  min-height:39px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:9px;
}
.feature-access-account-list{
  display:grid;
  gap:8px;
  max-height:690px;
  overflow:auto;
  padding-right:3px;
}
.feature-access-account-card{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.feature-access-account-card:hover{
  transform:translateY(-1px);
  border-color:rgba(197,31,37,.35);
}
.feature-access-account-card.selected{
  border-color:var(--red);
  background:linear-gradient(100deg,rgba(197,31,37,.09),var(--surface-2));
  box-shadow:0 0 0 2px rgba(197,31,37,.07);
}
.feature-access-account-avatar{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--charcoal),var(--charcoal-2));
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.feature-access-account-card.selected .feature-access-account-avatar{
  background:linear-gradient(135deg,var(--red),var(--red-dark));
}
.feature-access-account-copy{
  min-width:0;
}
.feature-access-account-copy strong,
.feature-access-account-copy small,
.feature-access-account-copy em{
  display:block;
}
.feature-access-account-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}
.feature-access-account-copy small{
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:7.5px;
}
.feature-access-account-copy em{
  margin-top:4px;
  color:var(--red);
  font-size:7px;
  font-style:normal;
  font-weight:800;
}
.feature-access-account-arrow{
  color:var(--red);
  font-size:14px;
  font-weight:900;
}
.feature-access-empty,
.feature-access-no-accounts{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:430px;
  padding:30px;
  text-align:center;
  color:var(--muted);
}
.feature-access-empty img,
.feature-access-no-accounts img{
  width:60px;
  margin-bottom:10px;
  opacity:.5;
}
.feature-access-empty h2,
.feature-access-no-accounts h3{
  margin:0;
  color:var(--ink);
}
.feature-access-empty p,
.feature-access-no-accounts p{
  max-width:440px;
  margin:7px 0 0;
  font-size:9px;
  line-height:1.55;
}
.feature-access-selected-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid var(--line);
}
.feature-access-selected-person{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.feature-access-selected-person>span{
  width:49px;
  height:49px;
  display:grid;
  place-items:center;
  flex:0 0 49px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.feature-access-selected-person small{
  display:block;
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
}
.feature-access-selected-person h2{
  margin:4px 0 0;
  font-size:17px;
}
.feature-access-selected-person p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
  overflow-wrap:anywhere;
}
.feature-access-selected-chips{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.feature-access-selected-chips span{
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--ink);
  font-size:7px;
  font-weight:850;
}
.feature-access-notice{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  margin-bottom:14px;
  border:1px solid rgba(197,31,37,.18);
  border-radius:10px;
  background:rgba(197,31,37,.055);
}
.feature-access-notice>span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--surface);
}
.feature-access-notice strong{
  font-size:10px;
}
.feature-access-notice p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.feature-access-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.feature-access-toolbar strong,
.feature-access-toolbar small{
  display:block;
}
.feature-access-toolbar strong{
  font-size:11px;
}
.feature-access-toolbar small{
  margin-top:3px;
  color:var(--muted);
  font-size:7.5px;
}
.feature-access-toolbar>div:last-child{
  display:flex;
  gap:7px;
}
.feature-access-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.feature-access-field-card{
  position:relative;
  display:grid;
  grid-template-columns:22px 43px minmax(0,1fr);
  gap:9px;
  align-items:start;
  min-height:142px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
  cursor:pointer;
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.feature-access-field-card:hover{
  transform:translateY(-1px);
  border-color:rgba(197,31,37,.35);
}
.feature-access-field-card.selected{
  border-color:var(--red);
  background:linear-gradient(115deg,rgba(197,31,37,.085),var(--surface-2));
  box-shadow:0 0 0 2px rgba(197,31,37,.06);
}
.feature-access-field-card.high-risk{
  border-color:rgba(221,161,47,.42);
}
.feature-access-field-card.high-risk.selected{
  border-color:#c47b00;
  background:linear-gradient(115deg,rgba(221,161,47,.12),var(--surface-2));
}
.feature-access-field-card.role-included{
  border-style:dashed;
}
.feature-access-field-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.feature-access-field-check{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--surface);
  color:transparent;
  font-size:11px;
  font-weight:900;
}
.feature-access-field-card.selected .feature-access-field-check{
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}
.feature-access-field-card.high-risk.selected .feature-access-field-check{
  border-color:#c47b00;
  background:#c47b00;
}
.feature-access-field-icon{
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(135deg,var(--charcoal),var(--charcoal-2));
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.feature-access-field-card.selected .feature-access-field-icon{
  background:linear-gradient(135deg,var(--red),var(--red-dark));
}
.feature-access-field-card.high-risk.selected .feature-access-field-icon{
  background:linear-gradient(135deg,#d79013,#9f6200);
}
.feature-access-field-copy{
  min-width:0;
}
.feature-access-field-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:7px;
}
.feature-access-field-topline strong{
  font-size:10px;
  line-height:1.3;
}
.feature-access-field-topline em{
  flex:0 0 auto;
  padding:4px 5px;
  border-radius:999px;
  background:var(--surface);
  color:var(--red);
  font-size:6px;
  font-style:normal;
  font-weight:900;
}
.feature-access-field-card.high-risk .feature-access-field-topline em{
  color:#9f6200;
}
.feature-access-field-copy p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:7.5px;
  line-height:1.45;
}
.feature-access-field-copy small{
  display:block;
  margin-top:7px;
  color:#a36a00;
  font-size:7px;
  line-height:1.4;
}
.feature-access-save-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:14px;
  margin-top:14px;
  border-top:1px solid var(--line);
}
.feature-access-message{
  min-height:18px;
  color:#a36a00;
  font-size:8.5px;
  font-weight:750;
}
.feature-access-message.success{
  color:#147a42;
}
.admin-feature-access-button{
  min-width:88px;
}
@media(max-width:1080px){
  .feature-access-layout{
    grid-template-columns:1fr;
  }
  .feature-access-account-panel{
    position:static;
    min-height:0;
  }
  .feature-access-account-list{
    max-height:420px;
  }
}
@media(max-width:720px){
  .feature-access-page-heading,
  .feature-access-selected-heading,
  .feature-access-toolbar,
  .feature-access-save-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .feature-access-filters,
  .feature-access-grid{
    grid-template-columns:1fr;
  }
  .feature-access-search-label{
    grid-column:auto;
  }
  .feature-access-toolbar>div:last-child{
    width:100%;
  }
  .feature-access-toolbar button,
  .feature-access-save-row button{
    flex:1;
  }
}


/* Version 61: clearer, easier-to-read portal typography */
body{
  font-size:15px;
  line-height:1.5;
}
.nav-link{
  min-height:46px;
  font-size:12px;
  line-height:1.35;
}
.nav-badge{
  min-width:24px;
  min-height:20px;
  font-size:8px;
}
.sidebar-mark strong{font-size:12px}
.sidebar-mark small{font-size:9px;line-height:1.4}
.header-copy strong{font-size:16px}
.header-copy span{font-size:12px}
.period-pill{font-size:11px}
.auth-user-copy strong{font-size:11px}
.auth-user-copy small{font-size:9px}
.auth-logout{font-size:10px}
.page-heading h1{
  font-size:30px;
  line-height:1.2;
}
.page-heading p{
  max-width:900px;
  font-size:13px;
  line-height:1.6;
}
.eyebrow{
  font-size:10px;
  line-height:1.4;
}
.panel-heading h2,
.panel h2{
  line-height:1.25;
}
.panel-heading p,
.panel>p,
.panel div>p{
  line-height:1.55;
}
button,
input,
select,
textarea{
  font-size:12px;
}
.primary-button,
.ghost-button,
.danger-button{
  min-height:38px;
  font-size:10px;
  line-height:1.3;
}
label>span,
.branch-user-form label>span,
.admin-user-create-form label>span,
.admin-manager-edit-form label>span,
.admin-user-filters label>span,
.feature-access-filters label>span,
.user-access-filters label>span{
  font-size:9px;
  line-height:1.4;
}
input,
select,
textarea{
  line-height:1.45;
}
.branch-card p,
.submitted-branch-card p,
.submission-record p,
.admin-user-profile-copy p,
.user-access-section-copy p,
.feature-access-field-copy p,
.history-section-report p,
.notification-item p{
  font-size:10px;
  line-height:1.55;
}
.branch-card h3{font-size:17px}
.submitted-branch-card h3{font-size:13px}
.submission-record h3{font-size:14px}
.admin-user-profile-title h3,
.user-access-list-copy strong,
.feature-access-account-copy strong{
  font-size:11px;
}
.admin-user-profile-copy small,
.user-access-list-copy small,
.user-access-list-copy em,
.feature-access-account-copy small,
.feature-access-account-copy em{
  font-size:8.5px;
  line-height:1.45;
}
table,
.report-table,
.submission-table{
  font-size:11px;
  line-height:1.5;
}
table th{
  font-size:10px;
  line-height:1.4;
}
table td{
  line-height:1.5;
}
small{
  line-height:1.5;
}
.pending-registration-panel{
  margin-bottom:15px;
  border-color:rgba(221,161,47,.35);
  background:
    linear-gradient(105deg,rgba(221,161,47,.07),transparent 58%),
    var(--surface);
}
.pending-registration-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:14px;
}
.pending-registration-heading h2{
  margin:0;
  font-size:19px;
}
.pending-registration-heading p{
  max-width:760px;
  margin:7px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.pending-registration-count{
  padding:8px 11px;
  border:1px solid rgba(221,161,47,.35);
  border-radius:999px;
  background:rgba(221,161,47,.10);
  color:#9b6200;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.pending-registration-list{
  display:grid;
  gap:10px;
}
.pending-registration-card{
  display:grid;
  grid-template-columns:46px minmax(190px,1fr) minmax(210px,.75fr) auto;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.pending-registration-avatar{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.pending-registration-copy h3{
  margin:0;
  font-size:13px;
}
.pending-registration-copy p{
  margin:4px 0 0;
  color:var(--ink);
  font-size:11px;
  overflow-wrap:anywhere;
}
.pending-registration-copy small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
}
.pending-registration-branch>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.pending-registration-branch select{
  width:100%;
  min-height:41px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
}
.pending-registration-actions{
  display:flex;
  gap:7px;
}
.pending-registration-empty{
  padding:28px;
  text-align:center;
  color:var(--muted);
}
.pending-registration-empty img{
  width:55px;
  margin:0 auto 9px;
  opacity:.5;
}
.pending-registration-empty h3{
  margin:0;
  color:var(--ink);
  font-size:14px;
}
.pending-registration-empty p{
  margin:7px 0 0;
  font-size:11px;
}
@media(max-width:1050px){
  .pending-registration-card{
    grid-template-columns:46px 1fr;
  }
  .pending-registration-branch,
  .pending-registration-actions{
    grid-column:1 / -1;
  }
}
@media(max-width:620px){
  .pending-registration-heading{
    flex-direction:column;
  }
  .pending-registration-actions{
    flex-direction:column;
  }
}


/* Version 61.1: simplified Branch Selection page */
#homePage .branch-selection-heading-first{
  margin-top:0;
  padding-top:0;
}
#homePage .branch-selection-heading-first h2{
  font-size:30px;
}
#homePage .branch-dropdown-panel{
  margin-top:0;
}
.branch-selection-state-hooks{
  display:none !important;
}


/* Version 61.2: Admin controls live on the Admin Control Centre page */
.admin-nav-submenu,
.admin-nav-submenu[hidden]{
  display:none !important;
}
.admin-nav-group{
  padding:3px 0;
}
.admin-dashboard-only-link{
  min-height:54px;
  border-radius:0;
}
.admin-dashboard-only-link span{
  font-weight:850;
}
.admin-access-grid{
  align-items:stretch;
}
.admin-access-card{
  height:100%;
}


/* Version 61.3: visible Logout field in the grey sidebar */
.sidebar-logout-link{
  width:100%;
  margin-top:8px;
  border:0;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.08);
  border-radius:0;
  background:linear-gradient(90deg,rgba(197,31,37,.22),rgba(197,31,37,.06));
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.sidebar-logout-link:hover{
  padding-left:24px;
  background:linear-gradient(90deg,rgba(197,31,37,.38),rgba(197,31,37,.10));
  color:#fff;
}
.sidebar-logout-link svg{
  color:#ffb4b7;
}


/* Version 61.4: top Save Question Access action for Admins and Managers */
.user-access-heading-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.user-access-top-save{
  min-height:42px;
  padding:0 16px;
  white-space:nowrap;
}
.user-access-top-save:disabled,
#saveUserAccessButton:disabled{
  opacity:.48;
  cursor:not-allowed;
  filter:grayscale(.25);
}
@media(max-width:720px){
  .user-access-heading-actions{
    width:100%;
    align-items:stretch;
    justify-content:flex-start;
    flex-direction:column;
  }
  .user-access-top-save{
    width:100%;
  }
}


/* Version 61.5: contextual Save button for new or edited questions */
.question-editor-row-changed{
  border-color:rgba(197,31,37,.42);
  box-shadow:0 0 0 2px rgba(197,31,37,.06);
  background:
    linear-gradient(110deg,rgba(197,31,37,.045),transparent 42%),
    var(--surface-2);
}
.question-editor-save-button{
  width:100%;
  min-height:34px !important;
  margin-top:2px;
  font-size:8px !important;
  white-space:nowrap;
}
@media(max-width:880px){
  .question-editor-save-button{
    grid-column:1 / -1;
  }
}


/* Version 61.6: exclusive User section ownership */
.user-access-section-card.assigned-to-other-user{
  opacity:.58;
  cursor:not-allowed;
  border-style:dashed;
  border-color:rgba(93,101,111,.38);
  background:
    linear-gradient(120deg,rgba(93,101,111,.08),transparent),
    var(--surface-2);
  filter:grayscale(.35);
}
.user-access-section-card.assigned-to-other-user:hover{
  transform:none;
  border-color:rgba(93,101,111,.38);
}
.user-access-section-card.assigned-to-other-user
.user-access-section-check{
  color:#6b737d;
  background:#e6e9ec;
  border-color:#c7ccd1;
  font-size:10px;
}
.user-access-owner,
.user-access-available{
  display:block;
  margin-top:7px;
  padding-top:6px;
  border-top:1px solid var(--line);
  font-size:7.5px;
  font-style:normal;
  font-weight:850;
  line-height:1.4;
}
.user-access-owner{color:#5f6872}
.user-access-available{color:#147a42}

/* Version 61.6: required No comments and equipment service calendars */
.no-comment-requirement{
  margin-top:6px;
  padding:6px 8px;
  border-radius:7px;
  background:rgba(197,31,37,.09);
  color:#a8171c;
  font-size:8px;
  font-weight:850;
  line-height:1.4;
}
.no-comment-requirement[hidden]{
  display:none;
}
.assessment-row.no-comment-required textarea[data-field="7"]:invalid,
.assessment-row.service-date-incomplete input[type="date"]:invalid{
  border-color:rgba(197,31,37,.58);
  box-shadow:0 0 0 2px rgba(197,31,37,.08);
}
.service-date-calendar-group{
  display:grid;
  grid-template-columns:repeat(2,minmax(120px,1fr));
  gap:7px;
  margin-top:9px;
  padding:9px;
  border:1px solid rgba(197,31,37,.18);
  border-radius:9px;
  background:rgba(197,31,37,.045);
}
.service-date-calendar-group>strong,
.service-date-requirement{
  grid-column:1 / -1;
}
.service-date-calendar-group>strong{
  color:var(--ink);
  font-size:8.5px;
}
.service-date-calendar-group label>span{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:7.5px;
  font-weight:850;
}
.service-date-calendar-group input[type="date"]{
  box-sizing:border-box;
  width:100%;
  min-height:36px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:9px;
}
.service-date-requirement{
  color:var(--muted);
  font-size:7.5px;
  line-height:1.45;
}
.assessment-row.service-date-incomplete
.service-date-calendar-group{
  border-color:rgba(197,31,37,.45);
  background:rgba(197,31,37,.07);
}
.submitted-comment-cell .report-comment-copy,
.submitted-comment-cell .report-service-dates{
  display:block;
}
.submitted-comment-cell .report-service-dates{
  margin-top:5px;
  padding-top:5px;
  border-top:1px solid var(--line);
}
.submitted-comment-cell .report-service-dates small{
  display:block;
  font-size:8px;
}
@media(max-width:720px){
  .service-date-calendar-group{
    grid-template-columns:1fr;
  }
  .service-date-calendar-group>strong,
  .service-date-requirement{
    grid-column:auto;
  }
}


/* Version 61.7: readable comments and fully visible service calendars */
.assessment-grid-table .comment-cell{
  min-width:0;
  padding:10px;
  vertical-align:top;
}
.assessment-grid-table .comment-cell textarea[data-field="7"]{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:96px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font-size:12px;
  line-height:1.55;
  resize:vertical;
}
.assessment-grid-table .comment-cell textarea[data-field="7"]::placeholder{
  color:#6f7780;
  opacity:1;
}
.assessment-row.no-comment-required .comment-cell{
  background:
    linear-gradient(180deg,rgba(197,31,37,.055),transparent 160px),
    var(--surface);
}
.assessment-row.no-comment-required
.comment-cell textarea[data-field="7"]{
  min-height:125px;
  border-width:2px;
  border-color:rgba(197,31,37,.52);
  background:#fff8f8;
  color:#1c2025;
  font-size:12.5px;
  font-weight:600;
}
body.dark .assessment-row.no-comment-required
.comment-cell textarea[data-field="7"]{
  background:#33272a;
  color:#f4f5f7;
}
.no-comment-requirement{
  margin-top:8px;
  padding:8px 10px;
  font-size:9px;
  line-height:1.5;
}

.service-date-calendar-group{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:11px;
  padding:11px;
}
.service-date-calendar-group>strong{
  font-size:10px;
  line-height:1.4;
}
.service-date-calendar-group label{
  min-width:0;
}
.service-date-calendar-group label>span{
  min-height:27px;
  margin-bottom:6px;
  font-size:8.5px;
  line-height:1.35;
}
.service-date-calendar-group input[type="date"]{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:42px;
  padding:8px 9px;
  font-size:10px;
}
.service-date-requirement{
  font-size:8.5px;
  line-height:1.5;
}
.assessment-row.service-date-incomplete .comment-cell{
  background:
    linear-gradient(180deg,rgba(197,31,37,.045),transparent 180px),
    var(--surface);
}

/* Keep both date calendars usable on medium screens. */
@media(max-width:1220px){
  .assessment-grid-table{
    min-width:1280px;
  }
  .assessment-table-shell{
    overflow-x:auto;
    overflow-y:visible;
  }
}

/* On small screens, stack the calendars instead of squeezing them. */
@media(max-width:760px){
  .service-date-calendar-group{
    grid-template-columns:1fr;
  }
  .service-date-calendar-group>strong,
  .service-date-requirement{
    grid-column:auto;
  }
}


/* Version 61.8: detailed and printable attention summaries */
.attention-heading-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.admin-summary-print-control,
.branch-attention-print-button{
  white-space:nowrap;
}
.branch-attention-summary-panel{
  margin-top:15px;
  margin-bottom:15px;
}
.branch-attention-summary-grid{
  grid-template-columns:1fr;
  gap:14px;
}
.branch-attention-card{
  padding:17px;
  background:var(--surface);
}
.branch-attention-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.branch-attention-card-heading h3{
  font-size:15px;
}
.branch-attention-card-heading p{
  font-size:9px;
}
.branch-attention-card-body{
  grid-template-columns:170px minmax(0,1fr);
  align-items:start;
  gap:18px;
  margin-top:16px;
}
.branch-attention-chart-wrap{
  display:grid;
  justify-items:center;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
}
.branch-attention-mini-pie{
  width:128px;
  height:128px;
}
.branch-attention-mini-pie>div{
  width:83px;
  height:83px;
}
.branch-attention-mini-pie strong{
  font-size:23px;
}
.branch-attention-mini-pie small{
  font-size:7px;
}
.branch-attention-mini-legend{
  width:100%;
}
.branch-attention-mini-legend span{
  grid-template-columns:9px 25px 1fr;
  font-size:8.5px;
}
.branch-attention-mini-legend b{
  font-size:10px;
}
.branch-attention-category-grid,
.attention-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.branch-attention-category,
.attention-category-panel{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.branch-attention-category-heading,
.attention-category-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  color:#fff;
}
.branch-attention-category.immediate .branch-attention-category-heading,
.attention-category-panel.immediate .attention-category-heading{
  background:#c82333;
}
.branch-attention-category.attention .branch-attention-category-heading,
.attention-category-panel.attention .attention-category-heading{
  background:#b77b00;
}
.branch-attention-category.good .branch-attention-category-heading,
.attention-category-panel.good .attention-category-heading{
  background:#2e8e5a;
}
.branch-attention-category-heading span,
.attention-category-heading span{
  font-size:10px;
  font-weight:850;
}
.branch-attention-category-heading strong,
.attention-category-heading strong{
  min-width:30px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  text-align:center;
  font-size:10px;
}
.attention-control-list{
  display:grid;
  gap:8px;
  padding:9px;
}
.attention-control-item{
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
}
.attention-control-item-topline{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}
.attention-control-item-topline strong{
  font-size:9.5px;
  line-height:1.3;
}
.attention-control-item-topline em{
  padding:3px 6px;
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:7px;
  font-style:normal;
  font-weight:850;
  white-space:nowrap;
}
.attention-control-branch{
  padding:4px 6px;
  border-radius:6px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:7px;
  font-weight:900;
}
.attention-control-item p{
  margin:7px 0 0;
  color:var(--ink);
  font-size:8.5px;
  line-height:1.48;
}
.attention-control-facts{
  display:grid;
  gap:4px;
  margin-top:8px;
}
.attention-control-facts span{
  color:var(--muted);
  font-size:7.5px;
  line-height:1.4;
}
.attention-control-facts b,
.attention-control-comment b{
  color:var(--ink);
}
.attention-control-comment{
  margin-top:8px;
  padding:7px 8px;
  border-left:3px solid var(--red);
  border-radius:5px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:7.5px;
  line-height:1.45;
}
.attention-control-item>small{
  display:block;
  margin-top:8px;
  padding-top:7px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:7px;
  line-height:1.45;
}
.attention-control-empty{
  padding:18px 10px;
  color:var(--muted);
  text-align:center;
  font-size:8px;
  line-height:1.5;
}
.attention-detail-section{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.attention-detail-section[hidden]{
  display:none;
}
.attention-detail-section-heading{
  margin-bottom:12px;
}
.attention-detail-section-heading h3{
  margin:0;
  font-size:16px;
}
.attention-detail-section-heading p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
@media(max-width:1180px){
  .branch-attention-card-body{
    grid-template-columns:1fr;
  }
  .branch-attention-chart-wrap{
    grid-template-columns:150px minmax(0,1fr);
    justify-items:center;
  }
  .branch-attention-mini-legend{
    align-self:center;
  }
}
@media(max-width:940px){
  .branch-attention-category-grid,
  .attention-detail-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .submitted-attention-heading,
  .branch-attention-summary-heading,
  .branch-attention-card-top{
    flex-direction:column;
    align-items:flex-start;
  }
  .attention-heading-actions{
    width:100%;
    align-items:stretch;
    flex-direction:column;
  }
  .admin-summary-print-control,
  .branch-attention-print-button{
    width:100%;
  }
  .branch-attention-chart-wrap{
    grid-template-columns:1fr;
  }
}


/* Version 61.9: Admin Log Book Tracker */
.log-book-page-heading{
  align-items:center;
}
.log-book-heading-actions{
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
}
.log-book-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:15px;
}
.log-book-metrics article{
  padding:14px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.log-book-metrics span,
.log-book-metrics strong,
.log-book-metrics small{
  display:block;
}
.log-book-metrics span{
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.log-book-metrics strong{
  margin-top:5px;
  color:var(--red);
  font-size:24px;
  line-height:1;
}
.log-book-metrics small{
  margin-top:6px;
  color:var(--muted);
  font-size:8.5px;
}
.log-book-filter-panel{
  margin-bottom:15px;
}
.log-book-filter-heading,
.log-book-results-heading{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:flex-start;
  margin-bottom:13px;
}
.log-book-filter-heading h2,
.log-book-results-heading h2{
  margin:0;
  font-size:18px;
}
.log-book-filter-heading p,
.log-book-results-heading p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:10px;
}
.log-book-filters{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:9px;
  align-items:end;
}
.log-book-filters label>span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:8.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.log-book-filters input,
.log-book-filters select{
  box-sizing:border-box;
  width:100%;
  min-height:41px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:10px;
}
.log-book-search-filter{
  grid-column:span 5;
}
.log-book-clear-filter{
  width:100%;
}
.log-book-local-badge{
  padding:8px 11px;
  border:1px solid rgba(197,31,37,.25);
  border-radius:999px;
  background:rgba(197,31,37,.07);
  color:var(--red);
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.log-book-results{
  display:grid;
  gap:13px;
}
.log-book-session-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.log-book-session-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(105deg,rgba(197,31,37,.055),transparent 55%),
    var(--surface);
}
.log-book-session-person{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.log-book-session-person>span{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  flex:0 0 45px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.log-book-session-person small{
  display:block;
  color:var(--red);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.log-book-session-person h3{
  margin:3px 0 0;
  font-size:14px;
}
.log-book-session-person p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:9px;
  overflow-wrap:anywhere;
}
.log-book-session-summary{
  min-width:220px;
  text-align:right;
}
.log-book-session-summary span,
.log-book-session-summary strong,
.log-book-session-summary small{
  display:block;
}
.log-book-session-summary span{
  width:max-content;
  margin-left:auto;
  padding:5px 8px;
  border-radius:999px;
  font-size:7.5px;
  font-weight:900;
}
.log-book-session-summary span.closed{
  background:rgba(58,167,109,.12);
  color:#247b4d;
}
.log-book-session-summary span.open{
  background:rgba(221,161,47,.15);
  color:#9b6200;
}
.log-book-session-summary strong{
  margin-top:6px;
  font-size:10px;
}
.log-book-session-summary small{
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.log-book-timeline{
  display:grid;
  padding:10px 14px 14px;
}
.log-book-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:70px 76px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px 0 10px 18px;
  border-bottom:1px solid var(--line);
}
.log-book-timeline-item:last-child{
  border-bottom:0;
}
.log-book-timeline-item::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#687583;
}
.log-book-timeline-item.login::before{background:#3aa76d}
.log-book-timeline-item.logout::before{background:#687583}
.log-book-timeline-item.submit::before{background:#c82333}
.log-book-timeline-item.print::before{background:#4678c8}
.log-book-timeline-item.edit::before{background:#dda12f}
.log-book-timeline-item.permission::before,
.log-book-timeline-item.account::before{background:#8c55b8}
.log-book-time{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
}
.log-book-category{
  width:max-content;
  min-width:58px;
  padding:4px 6px;
  border-radius:999px;
  background:var(--surface);
  color:var(--red);
  font-size:7.5px;
  font-weight:900;
  text-align:center;
}
.log-book-timeline-item strong{
  display:block;
  font-size:10px;
}
.log-book-timeline-item p{
  margin:4px 0 0;
  color:var(--ink);
  font-size:9px;
  line-height:1.5;
}
.log-book-timeline-item small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.log-book-empty{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:300px;
  padding:30px;
  text-align:center;
}
.log-book-empty img{
  width:58px;
  margin-bottom:10px;
  opacity:.5;
}
.log-book-empty h3{
  margin:0;
  font-size:15px;
}
.log-book-empty p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:10px;
}
.log-book-privacy-note{
  margin-top:15px;
  padding:12px 14px;
  border:1px solid rgba(70,120,200,.22);
  border-radius:10px;
  background:rgba(70,120,200,.06);
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.log-book-privacy-note strong{
  color:var(--ink);
}
@media(max-width:1180px){
  .log-book-filters{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .log-book-search-filter{
    grid-column:span 2;
  }
}
@media(max-width:900px){
  .log-book-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .log-book-page-heading,
  .log-book-filter-heading,
  .log-book-results-heading,
  .log-book-session-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .log-book-heading-actions{
    width:100%;
  }
  .log-book-heading-actions button{
    flex:1;
  }
  .log-book-filters{
    grid-template-columns:1fr;
  }
  .log-book-search-filter{
    grid-column:auto;
  }
  .log-book-session-summary{
    min-width:0;
    width:100%;
    text-align:left;
  }
  .log-book-session-summary span{
    margin-left:0;
  }
  .log-book-timeline-item{
    grid-template-columns:58px minmax(0,1fr);
  }
  .log-book-category{
    grid-column:2;
    grid-row:1;
  }
  .log-book-timeline-item>div{
    grid-column:1 / -1;
    padding-left:68px;
  }
}


/* Version 61.10: Branch -> Manager/User Log Book selection */
.log-book-step-filter>span{
  display:flex !important;
  align-items:center;
  gap:6px;
}
.log-book-step-filter>span b{
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:8px;
}
.log-book-step-filter>small{
  display:block;
  min-height:28px;
  margin-top:5px;
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}
#logBookAccountFilter:disabled{
  opacity:.62;
  cursor:not-allowed;
  background:var(--surface-2);
}
.log-book-selection-empty{
  min-height:360px;
}
.log-book-selection-steps{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-bottom:20px;
  flex-wrap:wrap;
}
.log-book-selection-steps span{
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
  font-size:8.5px;
  font-weight:850;
}
.log-book-selection-steps span b{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d8dde2;
  color:#5e6873;
  font-size:8px;
}
.log-book-selection-steps span.active{
  border-color:rgba(197,31,37,.45);
  color:var(--red);
  background:rgba(197,31,37,.06);
}
.log-book-selection-steps span.active b{
  background:var(--red);
  color:#fff;
}
.log-book-selection-steps span.complete{
  border-color:rgba(58,167,109,.4);
  color:#247b4d;
  background:rgba(58,167,109,.08);
}
.log-book-selection-steps span.complete b{
  background:#3aa76d;
  color:#fff;
}
.log-book-selection-steps i{
  color:var(--muted);
  font-size:13px;
  font-style:normal;
}
@media(max-width:680px){
  .log-book-selection-steps{
    align-items:stretch;
    flex-direction:column;
  }
  .log-book-selection-steps i{
    display:none;
  }
}


/* v61.14 professional visual refresh */
body{
  background:linear-gradient(180deg,#f3f6f9 0%, #edf2f7 100%);
  color:#16202a;
}
.topbar{
  box-shadow:0 16px 32px rgba(112,18,23,.18);
}
.brand-logo-wrap{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 16px 28px rgba(71,4,9,.18);
}
.brand-logo-wrap img{
  object-fit:contain;
}
.header-copy strong{
  letter-spacing:.08em;
  font-size:15px;
}
.header-copy span{
  opacity:.92;
}
.top-actions .top-icon,
.top-actions .period-pill,
.top-actions .theme-toggle,
.top-actions .auth-user-badge,
.top-actions .auth-logout{
  box-shadow:0 10px 24px rgba(71,4,9,.12);
}
.sidebar{
  box-shadow: 12px 0 30px rgba(15,23,42,.08);
}
.sidebar .nav-button,
.sidebar .nav-link,
.sidebar button{
  transition:background .18s ease, transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sidebar .nav-button:hover,
.sidebar .nav-link:hover,
.sidebar button:hover{
  transform:translateY(-1px);
}
:is(.hero-dashboard,.panel,.metric-card,.setting-card,.accordion-item,.report-card,.report-history-card,.summary-card,.data-panel,.page-shell,.stat-card,.report-summary-card,.permission-card,.log-book-card,.attention-card,.account-card,.card,.admin-card,.dashboard-card,.modal-card,.branch-card,.section-card){
  border:1px solid #e3e9f0 !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
:is(.hero-dashboard,.panel,.metric-card,.setting-card,.accordion-item,.report-card,.report-history-card,.summary-card,.data-panel,.page-shell,.stat-card,.report-summary-card,.permission-card,.log-book-card,.attention-card,.account-card,.card,.admin-card,.dashboard-card,.modal-card,.branch-card,.section-card):hover{
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}
button,
.toolbar-button,
.page-actions button,
.primary-button,
.secondary-button,
.ghost-button,
.section-pill,
.top-icon,
.period-pill,
select,
input,
textarea{
  transition:background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
button:hover,
.toolbar-button:hover,
.page-actions button:hover,
.primary-button:hover,
.secondary-button:hover,
.ghost-button:hover{
  transform:translateY(-1px);
}
.table-wrap table thead th,
table thead th{
  background:#f7f9fb;
  color:#26323e;
  font-weight:800;
}
.table-wrap table tbody td,
table tbody td{
  color:#24313d;
}
input, select, textarea{
  border-radius:12px;
}
.header-truck .trailer-logo rect,
.header-truck .cab-door-logo rect{
  filter: drop-shadow(0 4px 8px rgba(15,23,42,.12));
}
.header-truck .cab-door-logo image,
.header-truck .trailer-logo image{
  filter: contrast(1.05) saturate(1.08);
}
.page-heading h1,
.hero-copy h1,
.hero-copy h2,
.panel h2,
.card h2,
.dashboard-card h2{
  letter-spacing:-.025em;
}


/* Version 61.15: registered Right Side Up email restriction */
.auth-email-rule{
  display:block;
  margin-top:7px;
  color:#697785;
  font-size:12px;
  line-height:1.5;
}
.auth-email-rule b{color:#b51a21}
input:invalid:not(:placeholder-shown){
  border-color:rgba(197,31,37,.55);
}


/* Version 61.16: cleaner spacing, clearer hierarchy and reduced visual crowding */
:root{
  --radius:14px;
  --shadow:0 8px 24px rgba(24,32,42,.065);
  --clean-gap:18px;
}
body{
  background:
    radial-gradient(circle at 92% 5%,rgba(197,31,37,.045),transparent 30rem),
    linear-gradient(180deg,#f5f7f9 0%,#eef2f5 100%);
}
body.dark{
  background:linear-gradient(180deg,#191b1f 0%,#15171a 100%);
}
.main-content{
  max-width:1540px;
  padding:calc(var(--topbar) + 24px) 28px 56px;
}
.page{
  padding-bottom:32px;
}
.page-heading{
  padding:24px 28px;
  border-radius:16px;
  box-shadow:0 7px 22px rgba(24,32,42,.05);
}
.page-heading h1{
  font-size:28px;
  line-height:1.18;
}
.page-heading p{
  margin-top:8px;
  max-width:820px;
  line-height:1.6;
}
.panel{
  padding:18px;
  box-shadow:0 7px 22px rgba(24,32,42,.05);
}
.panel-heading{
  margin-bottom:14px;
}
.eyebrow{
  margin-bottom:6px;
  letter-spacing:.12em;
}
.metric-grid,
.dashboard-grid,
.report-metrics,
.submission-metrics,
.log-book-metrics,
.branch-overview-strip{
  gap:12px;
}
.metric-card{
  min-height:92px;
  padding:14px;
}
.metric-icon{
  width:42px;
  height:42px;
  flex-basis:42px;
}
.metric-card strong{
  font-size:21px;
}
.hero-dashboard{
  min-height:300px;
}
.hero-copy{
  padding:34px 36px;
}
.hero-copy h1{
  font-size:clamp(30px,3.5vw,46px);
  line-height:1.08;
}
.hero-copy p{
  margin-top:13px;
  line-height:1.6;
}
.hero-actions{
  margin-top:20px;
}
.hero-visual{
  padding:18px;
}
.route-map{
  min-height:250px;
}
.sidebar-mark{
  margin:12px 12px 7px;
  padding:9px;
}
.nav-link{
  min-height:48px;
  padding-left:20px;
  gap:12px;
  font-size:12px;
}
.nav-link:hover{
  padding-left:24px;
}
.nav-link svg{
  width:20px;
  height:20px;
  flex-basis:20px;
}
.nav-badge{
  height:20px;
  min-width:20px;
  font-size:8px;
}

/* Home / branch selection cleanup */
#homePage .branch-dropdown-panel{
  padding:18px;
  margin-bottom:14px;
}
.branch-overview-strip{
  margin:14px 0 2px;
}
.branch-overview-strip article{
  min-height:78px;
  padding:13px;
}
.overview-icon{
  width:38px;
  height:38px;
  flex-basis:38px;
}
.branch-overview-strip strong{
  font-size:16px;
}
.selection-heading{
  margin-top:22px;
}
.selection-heading h2{
  font-size:23px;
}
.manager-selection-grid{
  gap:12px;
}
.manager-card{
  min-height:248px;
  padding:18px;
  border-radius:14px;
}
.manager-card h3{
  margin-top:12px;
  font-size:18px;
}
.manager-description{
  min-height:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.5;
}
.manager-card-action{
  margin-top:14px;
}

/* Admin Control Centre grouped into clear sections */
.admin-report-inbox-banner{
  min-height:0;
  padding:15px 18px;
  margin-bottom:18px;
}
.admin-report-inbox-banner h2{
  font-size:15px;
}
.admin-report-inbox-banner p{
  margin-top:5px;
  line-height:1.45;
}
.admin-tool-groups{
  display:grid;
  gap:20px;
}
.admin-tool-group{
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 92%,var(--surface-2));
  box-shadow:0 7px 22px rgba(24,32,42,.04);
}
.admin-tool-group-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:13px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.admin-tool-group-heading h2{
  margin:0;
  font-size:17px;
}
.admin-tool-group-heading p{
  max-width:440px;
  margin:0;
  color:var(--muted);
  font-size:9.5px;
  line-height:1.5;
  text-align:right;
}
.admin-access-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.admin-access-grid-oversight{
  grid-template-columns:minmax(280px,560px);
}
.admin-access-card{
  min-height:118px;
  padding:15px;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:12px;
  border-radius:13px;
  box-shadow:none;
}
.admin-access-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(24,32,42,.07);
}
.admin-access-icon{
  width:43px;
  height:43px;
  border-radius:12px;
}
.admin-access-card small{
  font-size:7.5px;
}
.admin-access-card h2{
  margin-top:4px;
  font-size:15px;
}
.admin-access-card p{
  margin-top:5px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:9px;
  line-height:1.45;
}
.admin-access-card>b{
  font-size:8px;
}

/* Optional tools stay out of the way until opened */
.clean-secondary-tool{
  margin-top:18px;
  padding:0;
  overflow:hidden;
}
.clean-secondary-tool>summary{
  min-height:76px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  list-style:none;
  cursor:pointer;
}
.clean-secondary-tool>summary::-webkit-details-marker{display:none}
.clean-secondary-tool>summary:hover{background:var(--surface-2)}
.clean-secondary-tool>summary span small,
.clean-secondary-tool>summary span strong,
.clean-secondary-tool>summary span em{display:block}
.clean-secondary-tool>summary span small{color:var(--red);font-size:7px;font-weight:900;letter-spacing:.08em}
.clean-secondary-tool>summary span strong{margin-top:3px;font-size:13px}
.clean-secondary-tool>summary span em{margin-top:4px;color:var(--muted);font-size:8.5px;font-style:normal}
.clean-secondary-tool>summary>b{color:var(--red);font-size:8px}
.clean-secondary-tool[open]>summary>b{font-size:0}
.clean-secondary-tool[open]>summary>b::after{content:"CLOSE";font-size:8px}
.clean-secondary-tool-icon{width:40px;height:40px;display:grid!important;place-items:center;border-radius:11px;background:var(--surface-2);color:var(--red);font-size:16px;font-weight:900}
.clean-secondary-tool-body{padding:0 18px 18px;border-top:1px solid var(--line)}
.clean-secondary-tool-body .local-transfer-heading{padding-top:16px}

/* Reduce crowding in report, history, user and permission pages */
.submission-section-heading,
.report-archive-heading,
.history-browser-heading,
.user-access-panel-heading,
.feature-access-panel-heading,
.log-book-filter-heading,
.log-book-results-heading{
  margin-top:18px;
  margin-bottom:12px;
}
.submission-section-heading h2,
.history-browser-heading h2,
.user-access-panel-heading h2,
.feature-access-panel-heading h2,
.log-book-filter-heading h2,
.log-book-results-heading h2{
  font-size:17px;
}
.submission-section-heading p,
.history-browser-heading p,
.log-book-filter-heading p,
.log-book-results-heading p{
  line-height:1.5;
}
.submission-section-grid,
.submitted-branch-grid{
  gap:10px;
}
.submission-section-card,
.submitted-branch-card,
.submission-record{
  padding:14px;
}
.submitted-attention-panel,
.branch-attention-summary-panel,
.history-browser-panel,
.sql-insights-panel,
.log-book-filter-panel,
.log-book-results-panel,
.user-access-account-panel,
.user-access-editor-panel,
.feature-access-account-panel,
.feature-access-editor-panel{
  padding:18px;
}
.admin-user-filter-panel,
.admin-user-create-panel,
.admin-manager-editor-panel,
.pending-registration-panel{
  padding:18px;
}
.admin-user-profile-card,
.feature-access-account-card,
.user-access-user-card,
.pending-registration-card{
  padding:12px;
}

/* Forms and assessments: clearer hierarchy without giant blocks */
.assessment-meta{
  min-height:140px;
  padding:24px 28px;
}
.assessment-meta h1{
  font-size:25px;
}
.assessment-overview{
  padding:16px;
}
.assessment-toolbar{
  min-height:62px;
  padding:10px 15px;
}
.assessment-guide{
  margin:12px 12px 0;
  padding:11px 13px;
  gap:12px;
}
.accordion-trigger{
  min-height:70px;
  padding:0 20px;
}
.accordion-panel{
  padding:20px 14px 24px;
}
.question-list{
  gap:12px;
}
.question-card{
  border-radius:12px;
}
.question-card-header{
  min-height:88px;
}
.question-card-body{
  padding:15px;
}
.table-reading-hint,
.locked-questions-note,
.pdf-action-help,
.question-admin-warning{
  line-height:1.5;
}

/* Calmer controls */
.primary-button,.ghost-button,.danger-button,.toolbar-button{
  min-height:38px;
  padding-inline:14px;
  border-radius:10px;
}
.primary-button{
  box-shadow:0 6px 16px rgba(197,31,37,.16);
}
.primary-button:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(197,31,37,.2);
}
input,select,textarea{
  border-radius:10px;
}

@media(max-width:1100px){
  .admin-access-grid{grid-template-columns:1fr}
  .admin-access-grid-oversight{grid-template-columns:1fr}
  .admin-tool-group-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .admin-tool-group-heading p{text-align:left}
}
@media(max-width:760px){
  .main-content{padding-left:12px;padding-right:12px}
  .page-heading{padding:20px}
  .page-heading h1{font-size:24px}
  .admin-tool-group{padding:13px}
  .admin-access-card{grid-template-columns:42px minmax(0,1fr);min-height:108px}
  .admin-access-card>b{grid-column:2}
  .clean-secondary-tool>summary{grid-template-columns:38px minmax(0,1fr)}
  .clean-secondary-tool>summary>b{grid-column:2}
  .manager-card{min-height:220px}
}


/* Version 61.17: modern sign-in and dashboard refresh */
:root{
  --topbar:110px;
  --sidebar:228px;
  --radius:22px;
  --page:#eef2f5;
  --surface:#ffffff;
  --surface-2:#f6f8fa;
  --line:#dbe2e9;
  --ink:#121821;
  --muted:#697687;
  --shadow:0 18px 40px rgba(15,23,32,.08);
}
body{background:radial-gradient(circle at 80% 0%,rgba(197,31,37,.06),transparent 22rem),linear-gradient(180deg,#f3f5f7 0%,#eef2f5 100%)}
.panel{border-radius:24px;border:1px solid rgba(15,23,32,.08);box-shadow:var(--shadow)}
.topbar{height:var(--topbar);background:linear-gradient(90deg,#0f141b 0%,#171e27 50%,#111821 100%);box-shadow:0 16px 34px rgba(8,12,18,.18)}
.topbar::after{height:3px;opacity:1;background:linear-gradient(90deg,transparent,rgba(227,49,56,.92),transparent)}
.brand{padding:12px 14px;width:var(--sidebar);flex-basis:var(--sidebar)}
.brand-logo-wrap.brand-wordmark{position:relative;width:205px;height:78px;padding:10px 14px;display:flex;align-items:center;gap:12px;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 30px rgba(0,0,0,.18);animation:none}
.brand-logo-wrap.brand-wordmark::before{display:none}
.brand-mark{width:48px;height:48px;object-fit:contain;flex:0 0 48px}
.brand-wording{display:flex;flex-direction:column;min-width:0;line-height:1.1}
.brand-wording strong{font-size:12px;letter-spacing:.12em;color:#151c25}
.brand-wording small{margin-top:6px;font-size:11px;color:#697687;letter-spacing:.08em;text-transform:uppercase}
.header-scene{left:calc(var(--sidebar) + 6px);right:312px}
.header-copy strong{font-size:16px;letter-spacing:.16em}
.header-copy span{font-size:10px;color:rgba(255,255,255,.72)}
.header-road{height:18px;bottom:9px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.1));border-top:1px solid rgba(255,255,255,.42)}
.header-road .road-line{top:8px;opacity:.7;height:1px;background:repeating-linear-gradient(90deg,#fff 0 28px,transparent 28px 52px)}
.header-road .road-line-two{display:none}
.top-actions{padding-right:18px;gap:10px}
.sidebar{top:var(--topbar);background:linear-gradient(180deg,#1a212b 0%,#10151c 100%);box-shadow:8px 0 28px rgba(0,0,0,.18)}
.sidebar-mark,.sidebar-footer{margin-left:12px;margin-right:12px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)}
.nav-link{margin:3px 10px;border-radius:16px;border:1px solid transparent;color:rgba(255,255,255,.82);background:transparent;min-height:46px}
.nav-link:hover,.nav-link.active,.nav-link[aria-current="page"]{background:linear-gradient(135deg,rgba(197,31,37,.34),rgba(197,31,37,.1));border-color:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.nav-link svg{opacity:.9}.nav-badge{background:rgba(255,255,255,.16);color:#fff}
.sidebar-logout-link{margin-top:8px}
.main-content{padding:22px 22px 40px; background:transparent}
.page{display:grid;gap:18px}
.dashboard-hero{min-height:420px;padding:34px 34px 28px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:22px;overflow:hidden;color:#fff;border:0;background:linear-gradient(135deg,rgba(44,16,21,.98) 0%,rgba(19,29,42,.98) 58%,rgba(7,12,18,.98) 100%),radial-gradient(circle at 18% 18%,rgba(227,49,56,.3),transparent 25rem);box-shadow:0 22px 54px rgba(8,12,18,.26)}
.dashboard-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 100%;opacity:.22;pointer-events:none}
.dashboard-hero>*{position:relative;z-index:1}
.dashboard-hero-content{display:flex;flex-direction:column;align-items:flex-start}
.dashboard-hero-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.dashboard-hero-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#6ee090;box-shadow:0 0 0 5px rgba(110,224,144,.14)}
.dashboard-hero h1{margin:24px 0 0;font-size:72px;line-height:.95;letter-spacing:-.06em;max-width:620px}
.dashboard-hero h1 span{display:block;color:#ff5e5f}
.dashboard-hero p{max-width:560px;margin:20px 0 0;color:rgba(255,255,255,.78);font-size:18px;line-height:1.7}
.dashboard-hero-actions{display:flex;align-items:center;gap:16px;margin-top:28px}
.dashboard-hero-button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:52px;padding:0 22px;border-radius:18px;background:linear-gradient(135deg,#f04449,#be1f24);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 18px 32px rgba(197,31,37,.3)}
.dashboard-hero-note{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.72);font-size:13px;font-weight:700}
.dashboard-hero-note i{width:28px;height:28px;border-radius:50%;display:inline-block;background:rgba(110,224,144,.16);position:relative}
.dashboard-hero-note i::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#6ee090;font-size:13px}
.dashboard-hero-stats{width:100%;margin-top:auto;padding-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid rgba(255,255,255,.12)}
.dashboard-hero-stats article strong,.dashboard-hero-stats article span{display:block}
.dashboard-hero-stats article strong{font-size:36px;letter-spacing:-.05em}
.dashboard-hero-stats article span{margin-top:6px;color:rgba(255,255,255,.6);font-size:12px;text-transform:uppercase;letter-spacing:.14em}
.dashboard-hero-visual{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01)),linear-gradient(135deg,rgba(10,15,21,.1),rgba(10,15,21,.65));min-height:100%}
.dashboard-hero-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,rgba(227,49,56,.16),transparent 18rem),linear-gradient(180deg,transparent,rgba(0,0,0,.22));pointer-events:none}
.dashboard-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,transparent 55%,rgba(255,255,255,.02) 55%,rgba(255,255,255,.02) 56%,transparent 56%),linear-gradient(0deg,transparent 0%,transparent 72%,rgba(255,255,255,.03) 72%,rgba(255,255,255,.03) 73%,transparent 73%);opacity:.35}
.dashboard-network-card{position:relative;z-index:1;width:min(500px,100%);margin:0 18px 18px;padding:24px;border-radius:22px;background:rgba(8,12,18,.7);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.dashboard-network-label{display:block;color:rgba(255,255,255,.6);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.dashboard-network-line{position:relative;height:72px;margin-top:26px}
.dashboard-network-line::before{content:"";position:absolute;left:10px;right:10px;top:34px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.74) 0 24px,transparent 24px 42px);opacity:.55;transform:rotate(-4deg)}
.dashboard-network-line i{position:absolute;top:24px;width:18px;height:18px;border-radius:50%;background:#fff;border:5px solid #db3137;box-shadow:0 0 0 5px rgba(255,255,255,.07)}
.dashboard-network-line i:nth-child(1){left:4%}.dashboard-network-line i:nth-child(2){left:28%}.dashboard-network-line i:nth-child(3){left:47%}.dashboard-network-line i:nth-child(4){left:73%}.dashboard-network-line i:nth-child(5){right:4%}
.dashboard-network-branch-codes{display:flex;justify-content:space-between;color:rgba(255,255,255,.58);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.selection-heading.branch-selection-heading-first{padding-top:8px}
.selection-heading{padding:4px 6px 0}.selection-heading .eyebrow{font-size:11px;letter-spacing:.18em}.selection-heading h2{margin:10px 0 0;font-size:32px;letter-spacing:-.04em}.selection-heading p{margin-top:10px;font-size:15px;max-width:640px;color:var(--muted)}
.selection-count{border-radius:999px;padding:12px 16px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:800;color:var(--red);letter-spacing:.12em}
.branch-dropdown-panel{padding:24px 24px;min-height:138px;border-radius:26px;background:linear-gradient(180deg,#ffffff,#fbfcfd)}
.branch-dropdown-icon{width:54px;height:54px;border-radius:18px}.branch-select-field>span{font-size:14px}.branch-select-field select{min-height:54px;border-radius:16px;font-size:18px;font-weight:700}.branch-select-field small{font-size:11px}.branch-selection-result{min-height:86px;border-radius:18px;background:#f5edf0}
.branch-selection-result small{font-size:10px;letter-spacing:.12em}
@media(max-width:1280px){.dashboard-hero{grid-template-columns:1fr}.dashboard-hero h1{font-size:60px}.dashboard-hero-visual{min-height:260px}.auth-card{grid-template-columns:1fr minmax(0,540px) 1fr}}
@media(max-width:960px){.brand-wording{display:none}.brand-logo-wrap.brand-wordmark{width:88px;justify-content:center;padding:10px}.header-scene{right:200px}.dashboard-hero h1{font-size:52px}}
@media(max-width:820px){.dashboard-hero{padding:26px 22px}.dashboard-hero h1{font-size:42px}.dashboard-hero p{font-size:16px}.dashboard-hero-stats{grid-template-columns:1fr}.header-scene{display:none}}
@media(max-width:640px){.main-content{padding:14px 14px 32px}.selection-heading{padding-inline:0}.selection-heading h2{font-size:28px}}

.brand-logo-wrap.brand-wordmark .brand-mark{width:48px !important;height:48px !important;flex:0 0 48px;object-fit:contain}


/* Version 61.18: selected-branch dropdown for the attention summary */
.branch-summary-toolbar{
  align-items:flex-end;
}
.branch-summary-select-field{
  display:grid;
  gap:6px;
  min-width:250px;
}
.branch-summary-select-field>span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.branch-summary-select-field select{
  width:100%;
  min-height:42px;
  padding:0 42px 0 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--ink);
  font-size:11px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.branch-summary-select-field select:hover{
  border-color:rgba(197,31,37,.4);
}
.branch-summary-select-field select:focus{
  border-color:var(--red);
  box-shadow:0 0 0 4px rgba(197,31,37,.1);
}
.branch-attention-summary-grid{
  display:block;
}
.branch-attention-card-selected{
  margin:0;
  border-radius:18px;
  background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 45%,var(--surface)));
}
.branch-attention-selected-label{
  display:block;
  margin-bottom:4px;
  color:var(--red);
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.12em;
}
.branch-attention-empty-state{
  min-height:260px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:30px;
  border:1px dashed var(--line);
  border-radius:16px;
  background:var(--surface-2);
  text-align:center;
}
.branch-attention-empty-state span{
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
}
.branch-attention-empty-state h3{
  margin:0;
  font-size:17px;
}
.branch-attention-empty-state p{
  max-width:420px;
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
@media(max-width:760px){
  .branch-summary-toolbar{
    width:100%;
    align-items:stretch;
  }
  .branch-summary-select-field{
    width:100%;
    min-width:0;
  }
}


/* Version 61.19: branch selector is now the first visible content */
#homePage{
  padding-top:0;
}
.branch-selection-top{
  margin-top:0;
  padding-top:2px;
}
.branch-selection-top h1{
  margin:8px 0 0;
  font-size:36px;
  line-height:1.08;
  letter-spacing:-.045em;
}
.branch-selection-top + .branch-dropdown-panel{
  margin-top:0;
}
@media(max-width:720px){
  .branch-selection-top h1{
    font-size:30px;
  }
}


/* Submitted Reports summary and frequency views */
.submitted-view-selector{
  display:grid;
  grid-template-columns:minmax(230px,.72fr) minmax(0,1.7fr);
  gap:24px;
  align-items:center;
  margin-bottom:16px;
  padding:20px;
}
.submitted-view-selector-copy h2{margin:4px 0 7px;font-size:18px}
.submitted-view-selector-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}
.submitted-view-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.submitted-view-button{
  min-height:70px;
  padding:12px;
  text-align:left;
  color:var(--ink);
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:11px;
  transition:.2s;
}
.submitted-view-button:hover{transform:translateY(-2px);border-color:rgba(197,31,37,.42)}
.submitted-view-button.active{color:#fff;background:linear-gradient(135deg,#a7151b,#d72a31);border-color:#a7151b;box-shadow:0 9px 20px rgba(164,21,27,.2)}
.submitted-view-button span,.submitted-view-button small{display:block}
.submitted-view-button span{font-size:10px;font-weight:900}
.submitted-view-button small{margin-top:5px;color:var(--muted);font-size:8px;font-weight:800}
.submitted-view-button.active small{color:rgba(255,255,255,.78)}
.submitted-report-archive-area{margin-top:16px}
@media(max-width:980px){
  .submitted-view-selector{grid-template-columns:1fr}
}
@media(max-width:720px){
  .submitted-view-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:440px){
  .submitted-view-buttons{grid-template-columns:1fr}
}

/* Version 61.21: fit sign-in to viewport and keep page headings below the fixed header */
.auth-gate{
  padding:12px;
}
.auth-card{
  width:min(1720px,calc(100vw - 24px));
  height:calc(100vh - 24px);
  max-height:none;
  overflow:hidden;
}
.auth-side-panel{
  min-height:0;
  height:100%;
}
.auth-body{
  min-height:0;
  height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.auth-body > section{
  flex:0 0 auto;
}
.auth-form-footer{
  flex:0 0 auto;
}

/* The modern theme previously replaced the complete main-content padding and
   allowed the fixed header to cover the first lines on every page. */
.main-content{
  margin-left:var(--sidebar);
  padding:calc(var(--topbar) + 22px) 22px 40px;
}
.page{
  scroll-margin-top:calc(var(--topbar) + 22px);
}

@media(max-height:900px) and (min-width:1281px){
  .auth-body{
    padding:22px 42px 18px;
  }
  .auth-center-brand{
    margin-bottom:10px;
    padding:9px 13px;
  }
  .auth-center-brand img{
    width:55px;
    height:55px;
  }
  .auth-center-brand-copy strong{
    font-size:18px;
  }
  .auth-center-brand-copy span{
    margin-top:5px;
    font-size:12px;
  }
  .auth-status-pill{
    margin:4px auto 10px;
    font-size:9px;
  }
  .auth-body h1{
    margin-bottom:6px;
    font-size:42px;
  }
  .auth-body > section > p{
    margin-bottom:14px;
    font-size:14px;
  }
  .auth-field{
    margin-bottom:10px;
  }
  .auth-field span{
    margin-bottom:6px;
    font-size:10px;
  }
  .auth-field input{
    min-height:46px;
    padding-top:10px;
    padding-bottom:10px;
    font-size:14px;
  }
  .auth-show{
    top:8px;
  }
  .auth-primary{
    min-height:46px;
    font-size:15px;
  }
  .auth-choice-row{
    margin-top:10px;
  }
  .auth-link{
    margin-top:8px;
    font-size:13px;
  }
  .auth-form-footer{
    margin-top:14px;
    padding-top:12px;
    font-size:12px;
  }
  .auth-side-copy{
    padding:14px;
  }
  .auth-side-copy strong{
    font-size:22px;
  }
  .auth-side-copy small{
    margin-top:8px;
    font-size:12px;
  }
}

@media(max-width:1280px){
  .auth-card{
    width:min(760px,calc(100vw - 24px));
    height:calc(100vh - 24px);
    max-height:none;
    overflow-y:auto;
  }
  .auth-side-panel{
    height:auto;
    min-height:210px;
  }
  .auth-body{
    height:auto;
    overflow:visible;
  }
}

@media(max-width:720px){
  .main-content{
    margin-left:0;
    padding:calc(var(--topbar) + 14px) 12px 32px;
  }
  .auth-gate{
    padding:6px;
  }
  .auth-card{
    width:calc(100vw - 12px);
    height:calc(100vh - 12px);
    border-radius:18px;
  }
}

@media print{
  .main-content{
    margin:0;
    padding:0;
  }
}


/* Version 61.22: compact single-panel Admin tool centre */
.admin-command-centre{
  padding:18px;
  border-radius:18px;
}
.admin-command-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:13px;
  margin-bottom:12px;
  border-bottom:1px solid var(--line);
}
.admin-command-heading h2{
  margin:0;
  font-size:18px;
}
.admin-command-heading p{
  margin:5px 0 0;
  max-width:720px;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
.admin-command-count{
  flex:0 0 auto;
  padding:8px 11px;
  border:1px solid rgba(197,31,37,.22);
  border-radius:999px;
  background:rgba(197,31,37,.06);
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.admin-command-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.admin-command-card{
  min-height:108px;
  padding:13px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:9px 11px;
  align-items:start;
  color:var(--ink);
  text-decoration:none;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface);
  box-shadow:0 5px 14px rgba(24,32,42,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.admin-command-card:hover{
  transform:translateY(-2px);
  border-color:rgba(197,31,37,.32);
  box-shadow:0 10px 22px rgba(24,32,42,.075);
}
.admin-command-card .admin-access-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:linear-gradient(145deg,#ca292f,#a9191f);
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.admin-command-card small{
  display:block;
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.055em;
}
.admin-command-card h2{
  margin:4px 0 0;
  font-size:14px;
  line-height:1.2;
}
.admin-command-card p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8.5px;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.admin-command-card>b{
  grid-column:2;
  justify-self:end;
  color:var(--red);
  font-size:7.5px;
  letter-spacing:.05em;
}
.admin-tool-groups{
  display:none!important;
}
.clean-secondary-tool{
  margin-top:12px;
}
@media(max-width:1320px){
  .admin-command-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .admin-command-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .admin-command-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .admin-command-grid{
    grid-template-columns:1fr;
  }
  .admin-command-card{
    min-height:96px;
  }
}


/* Version 61.23: new RSU branding and generated custom icons */
.brand-logo-wrap.brand-new-logo-wrap {
  width: 206px !important;
  height: 82px !important;
  padding: 7px 10px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(12,17,23,.88), rgba(34,42,52,.88)) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
  animation: none !important;
}
.brand-logo-wrap.brand-new-logo-wrap::before { display: none !important; }
.brand-new-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.22));
}
.sidebar-mark img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain !important;
  border-radius: 13px;
}
.custom-nav-icon {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.16));
}
.nav-link:hover .custom-nav-icon,
.nav-link.active .custom-nav-icon,
.nav-link[aria-current="page"] .custom-nav-icon {
  transform: translateY(-1px) scale(1.04);
}
.admin-access-icon {
  width: 48px !important;
  height: 48px !important;
  padding: 5px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,#242c36,#11171e) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: 0 10px 20px rgba(15,23,32,.14) !important;
  color: transparent !important;
}
.admin-access-icon img {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
}
.trailer-logo image,
.cab-door-logo image {
  filter: contrast(1.05) saturate(1.08) drop-shadow(0 2px 4px rgba(0,0,0,.12)) !important;
}
@media (max-width: 960px) {
  .brand-logo-wrap.brand-new-logo-wrap {
    width: 92px !important;
    padding-inline: 5px !important;
  }
}
@media (max-width: 720px) {
  .brand-logo-wrap.brand-new-logo-wrap {
    width: 78px !important;
    height: 68px !important;
  }
}

/* Version 61.24: substantially larger custom branded icons */
.custom-nav-icon {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.20)) !important;
}
.nav-link {
  min-height: 66px !important;
  gap: 14px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
.nav-link > span {
  line-height: 1.25;
}
.admin-access-card {
  min-height: 128px !important;
  grid-template-columns: 72px minmax(0,1fr) auto !important;
  gap: 15px !important;
  align-items: center !important;
}
.admin-access-icon {
  width: 68px !important;
  height: 68px !important;
  padding: 6px !important;
  border-radius: 18px !important;
}
.admin-access-icon img {
  width: 58px !important;
  height: 58px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 5px 9px rgba(0,0,0,.20));
}
.auth-status-pill img {
  width: 34px !important;
  height: 34px !important;
}
.setting-icon img {
  width: 48px !important;
  height: 48px !important;
}
.sidebar-mark img {
  width: 56px !important;
  height: 56px !important;
}
@media (max-width: 1100px) {
  .admin-access-card {
    grid-template-columns: 68px minmax(0,1fr) auto !important;
  }
}
@media (max-width: 760px) {
  .custom-nav-icon {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }
  .nav-link {
    min-height: 60px !important;
  }
  .admin-access-card {
    grid-template-columns: 62px minmax(0,1fr) !important;
    min-height: 118px !important;
  }
  .admin-access-icon {
    width: 58px !important;
    height: 58px !important;
  }
  .admin-access-icon img {
    width: 49px !important;
    height: 49px !important;
  }
  .admin-access-card > b {
    grid-column: 2 !important;
  }
}


/* Version 61.25: original portal icons restored */
.custom-nav-icon{
  display:none !important;
}
.nav-link{
  min-height:46px !important;
  gap:10px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.nav-link > svg{
  display:block !important;
  width:19px !important;
  height:19px !important;
  flex:0 0 19px !important;
  color:currentColor;
  opacity:.92;
}
.manager-sub-link > svg,
.admin-sub-link > svg{
  width:18px !important;
  height:18px !important;
  flex-basis:18px !important;
}
.admin-command-card{
  min-height:104px !important;
  grid-template-columns:46px minmax(0,1fr) auto !important;
  gap:12px !important;
}
.admin-access-icon{
  width:42px !important;
  height:42px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:12px !important;
  background:linear-gradient(145deg,#cf2a30,#a9171d) !important;
  border:0 !important;
  box-shadow:0 8px 16px rgba(197,31,37,.18) !important;
  color:#fff !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.admin-access-icon img{
  display:none !important;
}
.auth-status-pill img{
  display:none !important;
}
@media(max-width:760px){
  .nav-link{
    min-height:46px !important;
  }
  .admin-command-card{
    grid-template-columns:44px minmax(0,1fr) !important;
    min-height:100px !important;
  }
  .admin-access-icon{
    width:40px !important;
    height:40px !important;
  }
  .admin-command-card > b{
    grid-column:2 !important;
  }
}


/* Version 61.26: refined portal badge and cleaner original icon system */
.sidebar-mark{
  min-height:72px;
  padding:10px 11px !important;
  gap:11px;
}
.sidebar-mark img{
  width:50px !important;
  height:50px !important;
  flex:0 0 50px;
  padding:2px;
  object-fit:contain !important;
  border-radius:15px !important;
  background:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.sidebar-mark strong{
  font-size:12px !important;
  letter-spacing:.01em;
}
.sidebar-mark small{
  margin-top:3px;
  font-size:9px !important;
  opacity:.72;
}
.nav-link{
  position:relative;
  min-height:50px !important;
  gap:11px !important;
  padding:6px 9px !important;
  border-radius:14px !important;
}
.nav-link > svg{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  padding:7px;
  border-radius:10px;
  color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.06);
  opacity:1 !important;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;
}
.nav-link:hover > svg{
  transform:translateY(-1px);
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.10);
}
.nav-link.active > svg,
.nav-link[aria-current="page"] > svg,
.admin-nav-parent:hover > svg,
.manager-nav-parent:hover > svg{
  color:#fff;
  background:linear-gradient(145deg,#e53a40,#a9161d);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 7px 15px rgba(197,31,37,.24);
}
.manager-sub-link > svg,
.admin-sub-link > svg,
.granted-access-link > svg{
  width:30px !important;
  height:30px !important;
  flex-basis:30px !important;
  padding:6px;
  border-radius:9px;
}
.top-icon{
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.045) !important;
  border-radius:12px !important;
}
.top-icon:hover{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.13) !important;
}
.top-icon svg{
  width:19px !important;
  height:19px !important;
  opacity:.94;
}
.admin-access-icon{
  width:46px !important;
  height:46px !important;
  padding:10px !important;
  border-radius:14px !important;
  color:#fff !important;
  background:linear-gradient(145deg,#d93137,#aa171d) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 9px 18px rgba(197,31,37,.18) !important;
}
.admin-access-icon svg{
  width:100%;
  height:100%;
  display:block;
}
.admin-command-card:hover .admin-access-icon{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 12px 22px rgba(197,31,37,.22) !important;
}
.admin-report-inbox-icon,
.clean-secondary-tool-icon,
.overview-icon,
.access-info-icon,
.branch-dropdown-icon,
.guide-icon,
.modal-icon,
.notification-icon{
  border:1px solid rgba(197,31,37,.10);
  box-shadow:0 7px 15px rgba(15,23,32,.06);
}
.setting-icon img{
  content:url("assets/rsu-portal-icon.svg");
  width:46px !important;
  height:46px !important;
  object-fit:contain;
}
.empty-search img,
.user-access-empty img,
.feature-access-empty img,
.log-book-empty img{
  width:62px !important;
  height:62px !important;
  object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(15,23,32,.10));
}
body.dark .sidebar-mark img{
  background:#f9fafb;
}
@media(max-width:760px){
  .nav-link > svg{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
  }
  .admin-access-icon{
    width:43px !important;
    height:43px !important;
    padding:9px !important;
  }
}


/* Version 61.29: larger, clearer RSU logos in the header and truck */
.brand-logo-wrap.brand-new-logo-wrap{
  width:214px !important;
  height:108px !important;
  padding:4px 7px !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(255,255,255,.96) !important;
  border-radius:16px !important;
  box-shadow:0 14px 30px rgba(52,4,8,.30), inset 0 0 0 1px rgba(18,24,31,.05) !important;
}
.brand-new-logo{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:contrast(1.08) saturate(1.05) drop-shadow(0 4px 7px rgba(0,0,0,.18)) !important;
}
.header-truck .trailer-logo image,
.header-truck .cab-door-logo image{
  filter:contrast(1.10) saturate(1.06) drop-shadow(0 2px 3px rgba(0,0,0,.14)) !important;
}
@media(max-width:960px){
  .brand-logo-wrap.brand-new-logo-wrap{
    width:106px !important;
    height:92px !important;
    padding:4px !important;
  }
}
@media(max-width:720px){
  .brand-logo-wrap.brand-new-logo-wrap{
    width:96px !important;
    height:78px !important;
    padding:3px !important;
  }
}


/* Version 61.31: larger truck branding and reliable in-page printing */
.header-truck{
  width:330px;
}
.header-truck .trailer-logo image{
  filter:contrast(1.10) saturate(1.08) drop-shadow(0 2px 3px rgba(0,0,0,.16)) !important;
}
#rsuPrintFrame{
  color-scheme:light;
}
@media(max-width:860px){
  .header-truck{width:240px;}
}
@media(max-width:720px){
  .header-truck{width:172px;}
}
@media(max-width:470px){
  .header-truck{width:140px;}
}


/* Version 61.32: restore the previous dark top-left logo panel */
.brand-logo-wrap.brand-new-logo-wrap{
  background:linear-gradient(145deg,rgba(12,17,23,.96),rgba(34,42,52,.96)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.30), inset 0 0 0 1px rgba(255,255,255,.04) !important;
}
.brand-new-logo{
  filter:contrast(1.10) saturate(1.06) drop-shadow(0 5px 10px rgba(0,0,0,.28)) !important;
}


/* Account password security for Users, Managers and Admins */
.settings-password-panel{
  margin-top:14px;
  padding:24px;
  border-top:4px solid var(--red);
}
.settings-password-heading{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:20px;
}
.settings-password-heading h2{
  margin:4px 0 6px;
}
.settings-password-heading p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.settings-password-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,var(--red),#7f1119);
  color:#fff;
  box-shadow:0 10px 24px rgba(176,25,35,.24);
  font-size:0;
}
.settings-password-icon::before{
  content:"";
  width:16px;
  height:13px;
  border:3px solid currentColor;
  border-radius:4px;
  box-sizing:border-box;
  box-shadow:0 -8px 0 -4px currentColor;
}
.settings-password-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.settings-password-field{
  display:grid;
  gap:7px;
}
.settings-password-field>span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  color:var(--text);
}
.settings-password-input-wrap{
  display:flex;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-2);
  transition:border-color .2s,box-shadow .2s;
}
.settings-password-input-wrap:focus-within{
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(176,25,35,.12);
}
.settings-password-input-wrap input{
  min-width:0;
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  padding:12px 10px 12px 13px;
}
.settings-password-show{
  align-self:stretch;
  border:0;
  border-left:1px solid var(--line);
  padding:0 12px;
  background:transparent;
  color:var(--red);
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.settings-password-actions{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:2px;
}
.settings-password-actions small{
  color:var(--muted);
  font-size:10px;
}
.settings-password-actions .primary-button{
  min-width:160px;
}
.settings-password-message{
  min-height:18px;
  margin-top:10px;
  color:#a01822;
  font-size:10px;
  font-weight:800;
}
.settings-password-message.success{
  color:#24814a;
}
@media(max-width:900px){
  .settings-password-form{grid-template-columns:1fr;}
  .settings-password-actions{grid-column:1;}
}
@media(max-width:560px){
  .settings-password-panel{padding:18px;}
  .settings-password-actions{align-items:stretch;flex-direction:column;}
  .settings-password-actions .primary-button{width:100%;}
}

/* Version 62: Excel-backed Daily, Weekly and Monthly report selections */
.manager-frequency-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin:11px 0 2px;
}
.manager-frequency-chip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  color:var(--muted);
}
.manager-frequency-chip b{font-size:8px;letter-spacing:.02em}
.manager-frequency-chip small{font-size:8px;font-weight:900}
.manager-frequency-chip.has-questions{color:var(--ink);border-color:rgba(197,31,37,.22);background:rgba(197,31,37,.055)}
.manager-frequency-chip.is-empty{opacity:.48}

.report-frequency-selector{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(420px,1.4fr);
  gap:18px;
  align-items:center;
  margin:16px 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(135deg,var(--surface),var(--surface-2));
  box-shadow:var(--shadow-soft);
}
.report-frequency-selector-copy{display:grid;gap:5px}
.report-frequency-selector-copy strong{font-size:15px;color:var(--ink)}
.report-frequency-selector-copy small{font-size:9px;line-height:1.55;color:var(--muted)}
.report-frequency-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.report-frequency-button{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:3px 8px;
  min-height:66px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;
}
.report-frequency-button:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(197,31,37,.5);box-shadow:0 9px 22px rgba(21,25,31,.1)}
.report-frequency-button.selected{border-color:var(--red);background:linear-gradient(135deg,rgba(197,31,37,.12),rgba(197,31,37,.04));box-shadow:0 0 0 2px rgba(197,31,37,.1)}
.report-frequency-button:disabled{opacity:.42;cursor:not-allowed}
.report-frequency-button span{font-size:10px;font-weight:900}
.report-frequency-button strong{grid-row:1/3;grid-column:2;font-size:17px;color:var(--red)}
.report-frequency-button small{font-size:8px;color:var(--muted)}
.report-frequency-buttons:has(.report-frequency-button:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}

.assessment-grid-table .readonly-frequency-cell{
  padding:12px 9px;
  background:var(--surface-2);
  text-align:center;
  vertical-align:middle;
}
.assessment-grid-table .readonly-frequency-cell span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 9px;
  border:1px solid rgba(197,31,37,.2);
  border-radius:999px;
  background:rgba(197,31,37,.08);
  color:var(--red);
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.question-editor-fields select{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
}
.question-editor-fields select:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(197,31,37,.1)}

body.dark .manager-frequency-chip.has-questions,
body.dark .report-frequency-button.selected,
body.dark .assessment-grid-table .readonly-frequency-cell span{
  background:rgba(236,89,98,.14);
  border-color:rgba(236,89,98,.34);
}

@media(max-width:1000px){
  .report-frequency-selector{grid-template-columns:1fr}
}
@media(max-width:720px){
  .report-frequency-buttons,
  .report-frequency-buttons:has(.report-frequency-button:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .manager-frequency-summary,
  .report-frequency-buttons,
  .report-frequency-buttons:has(.report-frequency-button:nth-child(4)){grid-template-columns:1fr}
}

/* Consecutive-check notifications */
.notification-list{max-height:min(520px,65vh);overflow:auto;padding-right:2px}
.notification-empty{padding:20px 4px 8px;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}
.notification-item{padding:13px 2px;border-bottom:1px solid var(--line)}
.notification-item:last-child{border-bottom:0}
.notification-item-copy{min-width:0;flex:1}
.notification-item-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.notification-item-meta span{padding:4px 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.notification-receipts{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.55}
.notification-seen-button{margin-top:9px;padding:6px 9px;border:0;border-radius:7px;background:var(--red);color:#fff;font-size:9px;font-weight:900;cursor:pointer}
.notification-mail-status{margin-top:10px;padding:9px;border-radius:8px;background:#fff4d6;color:#7a5611;font-size:9px;font-weight:800;line-height:1.4}
body.dark .notification-mail-status{background:#453b25;color:#ffe3a0}
body.dark .notification-item-meta span{background:#30353d}

/* Version 71: upgraded James-only hero themes using the supplied character artwork */
.spiderman-preview,
.ironman-preview{position:relative;isolation:isolate;overflow:hidden}
.spiderman-preview{
  background:
    repeating-radial-gradient(circle at 17% 18%,transparent 0 11px,rgba(255,255,255,.2) 12px 13px),
    repeating-conic-gradient(from 4deg at 17% 18%,transparent 0 13deg,rgba(255,255,255,.18) 14deg 15deg,transparent 16deg 30deg),
    linear-gradient(142deg,#041126 0 48%,#b40e25 49% 100%);
}
.ironman-preview{
  background:
    linear-gradient(90deg,transparent 0 48%,rgba(82,224,255,.2) 49% 50%,transparent 51%),
    linear-gradient(0deg,transparent 0 48%,rgba(82,224,255,.17) 49% 50%,transparent 51%),
    radial-gradient(circle at 72% 45%,#eaffff 0 4px,#35d9f4 5px 10px,transparent 11px),
    linear-gradient(135deg,#24050b,#98101e 56%,#ca891c);
}
.spiderman-preview::after{content:"";position:absolute;z-index:1;left:11px;bottom:7px;width:24px;height:26px;background:linear-gradient(90deg,#071122 0 18%,transparent 18% 26%,#071122 26% 48%,transparent 48% 57%,#071122 57% 76%,transparent 76% 83%,#071122 83%);clip-path:polygon(0 100%,0 40%,16% 40%,16% 18%,31% 18%,31% 55%,48% 55%,48% 0,65% 0,65% 35%,82% 35%,82% 15%,100% 15%,100% 100%);opacity:.88}
.ironman-preview::after{content:"";position:absolute;inset:8px;border:1px solid rgba(101,231,255,.42);clip-path:polygon(0 0,27% 0,31% 7%,69% 7%,73% 0,100% 0,100% 100%,73% 100%,69% 93%,31% 93%,27% 100%,0 100%);animation:hudScan 3.4s ease-in-out infinite}
.spiderman-preview img,.ironman-preview img{position:relative;z-index:3;max-width:82px;max-height:67px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5)) saturate(1.08)}
.spiderman-preview img{transform:scale(1.13) translate(4px,2px)}
.ironman-preview img{transform:scale(1.15) translateX(2px)}
.ironman-preview img,.ironman-preview i{grid-area:1/1}
.ironman-preview i{position:relative;z-index:1;width:43px;height:43px;border:2px solid rgba(169,244,255,.84);border-radius:50%;background:repeating-conic-gradient(transparent 0 18deg,rgba(111,237,255,.35) 19deg 23deg);box-shadow:0 0 18px #59e4ff,inset 0 0 14px #59e4ff;animation:previewReactorPulse 1.8s ease-in-out infinite}

.james-theme-character,.ironman-arc-reactor{display:none;position:absolute;pointer-events:none}
.james-theme-character{z-index:6;left:0;bottom:0;will-change:transform}
.james-theme-character img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(0,0,0,.52)) saturate(1.08) contrast(1.04)}
.spiderman-swinger{width:132px;height:132px;bottom:-10px;transform:translateX(-170px);animation:spidermanSwing 9.2s cubic-bezier(.43,.03,.56,.97) infinite}
.spiderman-web-line{position:absolute;z-index:0;left:25%;bottom:76%;width:2px;height:205px;border-radius:999px;background:linear-gradient(#fff,rgba(218,237,255,.97));box-shadow:0 0 7px rgba(255,255,255,.96);transform:rotate(24deg);transform-origin:bottom}
.spiderman-web-line::before,.spiderman-web-line::after{content:"";position:absolute;left:-6px;width:14px;height:1px;background:rgba(255,255,255,.8);box-shadow:0 28px 0 rgba(255,255,255,.5);transform:rotate(47deg)}
.spiderman-web-line::before{top:26%}.spiderman-web-line::after{top:61%}
.spiderman-swing-glow{position:absolute;z-index:1;inset:13% 6% 3%;border-radius:50%;background:radial-gradient(circle,rgba(69,142,224,.27),transparent 67%);filter:blur(5px);animation:swingGlow 1.8s ease-in-out infinite}
.ironman-flyer{width:178px;height:116px;bottom:-5px;transform:translateX(-210px);animation:ironmanFlight 7.9s cubic-bezier(.34,.03,.54,.97) infinite}
.ironman-flight-trail{position:absolute;z-index:0;left:-72px;width:100px;height:15px;border-radius:999px;background:linear-gradient(90deg,transparent 0,#e49218 52%,#efffff 83%,#68e9ff 100%);filter:blur(2px);opacity:.92;transform:rotate(-10deg);transform-origin:right;animation:thrusterFlicker .28s ease-in-out infinite alternate}
.ironman-flight-trail::after{content:"";position:absolute;right:-4px;top:3px;width:12px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff,0 0 25px #4fe6ff}
.ironman-flight-trail.trail-one{bottom:17px}.ironman-flight-trail.trail-two{bottom:35px;left:-58px;width:79px;animation-delay:-.14s}.ironman-flight-trail.trail-three{left:-29px;bottom:61px;width:59px;height:9px;opacity:.7;animation-delay:-.21s}
.ironman-arc-reactor{z-index:2;right:10%;top:50%;width:92px;height:92px;place-items:center;border:1px solid rgba(126,237,255,.62);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(111,237,255,.86) 0 5deg,transparent 6deg 22deg),radial-gradient(circle,#f4ffff 0 8%,#53dbf8 9% 18%,rgba(28,152,183,.34) 19% 44%,transparent 45%);box-shadow:0 0 34px rgba(70,223,255,.92),inset 0 0 29px rgba(70,223,255,.78);transform:translateY(-50%);animation:reactorPulse 2s ease-in-out infinite}
.ironman-arc-reactor::before,.ironman-arc-reactor::after{content:"";position:absolute;inset:-14px;border:1px solid rgba(107,229,255,.4);border-radius:50%;background:conic-gradient(from 32deg,transparent 0 28%,rgba(120,236,255,.28) 29% 31%,transparent 32% 72%,rgba(255,207,99,.3) 73% 75%,transparent 76%);animation:reactorOrbit 7s linear infinite}
.ironman-arc-reactor::after{inset:-29px;border-style:dashed;animation-direction:reverse;animation-duration:10s}
.ironman-arc-reactor span{width:22px;height:22px;border:2px solid #b9f8ff;border-radius:50%;background:#f4ffff;box-shadow:0 0 17px #fff,0 0 38px #4ee7ff}

body[data-portal-theme="spiderman"]{--red:#c2142b;--red-2:#e33143;--red-dark:#78101d}
body[data-portal-theme="spiderman"] .topbar{background:radial-gradient(circle at 67% -30%,rgba(86,169,255,.32),transparent 33%),linear-gradient(110deg,#020b1a,#0a315f 47%,#be1129 100%)}
body[data-portal-theme="spiderman"] .sidebar{background:radial-gradient(circle at 50% 0,rgba(44,112,181,.25),transparent 25%),linear-gradient(180deg,#041124,#092f5a 52%,#650c1a)}
body[data-portal-theme="spiderman"] .topbar::after{height:4px;opacity:1;background:linear-gradient(90deg,#2879bd,#edf8ff,#d81935,#edf8ff,#2879bd);box-shadow:0 0 14px rgba(133,206,255,.74)}
body[data-portal-theme="spiderman"] .header-scene::before{content:"";position:absolute;z-index:0;inset:auto 0 7px;height:53px;opacity:.55;background:linear-gradient(90deg,#020817 0 7%,transparent 7% 9%,#020817 9% 17%,transparent 17% 19%,#020817 19% 25%,transparent 25% 29%,#020817 29% 39%,transparent 39% 42%,#020817 42% 50%,transparent 50% 55%,#020817 55% 64%,transparent 64% 69%,#020817 69% 79%,transparent 79% 83%,#020817 83% 91%,transparent 91% 94%,#020817 94%);clip-path:polygon(0 100%,0 45%,5% 45%,5% 18%,11% 18%,11% 60%,17% 60%,17% 31%,24% 31%,24% 55%,30% 55%,30% 5%,37% 5%,37% 50%,43% 50%,43% 27%,50% 27%,50% 64%,56% 64%,56% 13%,64% 13%,64% 42%,70% 42%,70% 0,78% 0,78% 56%,84% 56%,84% 24%,92% 24%,92% 51%,100% 51%,100% 100%)}
body[data-portal-theme="spiderman"] .header-scene::after{content:"";position:absolute;z-index:0;inset:0;opacity:.34;background:repeating-radial-gradient(circle at 64% 34%,transparent 0 21px,rgba(255,255,255,.41) 22px 23px),repeating-conic-gradient(from 0deg at 64% 34%,transparent 0 14deg,rgba(255,255,255,.43) 15deg 16deg,transparent 17deg 30deg);animation:webDrift 10s ease-in-out infinite alternate}
body[data-portal-theme="spiderman"] .header-truck{display:none}
body[data-portal-theme="spiderman"] .spiderman-swinger{display:block}
body[data-portal-theme="spiderman"] .seasonal-decor span{color:#2769a6;opacity:.13;filter:drop-shadow(0 0 4px rgba(255,255,255,.6))}
body[data-portal-theme="spiderman"] .main-content{background-image:repeating-radial-gradient(circle at 100% 0,transparent 0 43px,rgba(23,82,145,.028) 44px 45px),repeating-conic-gradient(from 0deg at 100% 0,transparent 0 14deg,rgba(194,20,43,.024) 15deg 16deg,transparent 17deg 30deg),radial-gradient(circle at 94% 5%,rgba(22,75,137,.08),transparent 28rem)}
body[data-portal-theme="spiderman"] .panel,body[data-portal-theme="spiderman"] .assessment-card{border-color:color-mix(in srgb,var(--line) 76%,#236aa8 24%);box-shadow:0 18px 40px rgba(5,28,56,.08)}
body[data-portal-theme="spiderman"] .nav-link.active{background:linear-gradient(100deg,rgba(34,105,170,.5),rgba(193,20,43,.75));border-color:rgba(255,255,255,.2);box-shadow:0 8px 22px rgba(2,10,23,.25)}

body[data-portal-theme="ironman"]{--red:#a50f20;--red-2:#d52a2d;--red-dark:#630812}
body[data-portal-theme="ironman"] .topbar{background:radial-gradient(circle at 77% 45%,rgba(74,226,255,.24),transparent 13%),linear-gradient(110deg,#1c0308,#700b17 43%,#b21925 68%,#a76c12)}
body[data-portal-theme="ironman"] .sidebar{background:linear-gradient(155deg,rgba(235,181,57,.16),transparent 28%),linear-gradient(180deg,#24050b,#670b15 50%,#7b4d09)}
body[data-portal-theme="ironman"] .topbar::after{height:4px;opacity:1;background:linear-gradient(90deg,#6ef0ff,#e9ffff,#dca52a,#ffefad,#6ef0ff);box-shadow:0 0 14px rgba(72,221,255,.8)}
body[data-portal-theme="ironman"] .header-scene::before{content:"";position:absolute;z-index:0;inset:13px 6%;opacity:.52;border:1px solid rgba(95,229,255,.4);clip-path:polygon(0 0,18% 0,22% 12%,78% 12%,82% 0,100% 0,100% 100%,82% 100%,78% 88%,22% 88%,18% 100%,0 100%);background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(92,229,255,.09) 40px 41px),repeating-linear-gradient(0deg,transparent 0 21px,rgba(92,229,255,.08) 22px 23px);animation:hudScan 3.8s ease-in-out infinite}
body[data-portal-theme="ironman"] .header-scene::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(115deg,transparent 0 54%,rgba(255,201,72,.15) 55% 56%,transparent 57%),radial-gradient(circle at 77% 50%,rgba(72,225,255,.29),transparent 15rem)}
body[data-portal-theme="ironman"] .header-truck{display:none}
body[data-portal-theme="ironman"] .ironman-flyer{display:block}
body[data-portal-theme="ironman"] .ironman-arc-reactor{display:grid}
body[data-portal-theme="ironman"] .seasonal-decor span{color:#39d9f4;opacity:.14;text-shadow:0 0 12px #67ecff}
body[data-portal-theme="ironman"] .panel,body[data-portal-theme="ironman"] .assessment-card{border-color:color-mix(in srgb,var(--line) 72%,#dba22b 28%);box-shadow:0 18px 42px rgba(111,42,6,.09)}
body[data-portal-theme="ironman"] .main-content{background-image:repeating-linear-gradient(90deg,transparent 0 47px,rgba(192,124,18,.022) 48px 49px),repeating-linear-gradient(0deg,transparent 0 47px,rgba(67,221,250,.02) 48px 49px),radial-gradient(circle at 88% 8%,rgba(67,221,250,.09),transparent 25rem),linear-gradient(145deg,rgba(166,15,32,.045),transparent 45%)}
body[data-portal-theme="ironman"] .nav-link.active{background:linear-gradient(100deg,rgba(139,13,28,.78),rgba(184,124,17,.72));border-color:rgba(255,223,145,.27);box-shadow:0 8px 22px rgba(35,3,8,.3),inset 0 0 17px rgba(255,201,70,.09)}

@keyframes spidermanSwing{
  0%{transform:translate3d(-150px,13px,0) rotate(-22deg)}
  24%{transform:translate3d(calc(24vw - 40px),-11px,0) rotate(13deg)}
  50%{transform:translate3d(calc(48vw - 40px),17px,0) rotate(-12deg)}
  76%{transform:translate3d(calc(72vw - 40px),-9px,0) rotate(11deg)}
  100%{transform:translate3d(calc(100vw + 160px),11px,0) rotate(-18deg)}
}
@keyframes ironmanFlight{
  0%{transform:translate3d(-220px,36px,0) rotate(-9deg) scale(.82);opacity:0}
  10%{opacity:1}
  38%{transform:translate3d(calc(38vw - 54px),-10px,0) rotate(3deg) scale(1.05)}
  70%{transform:translate3d(calc(70vw - 54px),13px,0) rotate(-3deg) scale(.98)}
  92%{opacity:1}
  100%{transform:translate3d(calc(100vw + 220px),-21px,0) rotate(7deg) scale(.86);opacity:0}
}
@keyframes thrusterFlicker{from{opacity:.6;transform:scaleX(.65) rotate(-10deg)}to{opacity:1;transform:scaleX(1.12) rotate(-10deg)}}
@keyframes reactorPulse{0%,100%{filter:brightness(.9);transform:translateY(-50%) scale(.94)}50%{filter:brightness(1.28);transform:translateY(-50%) scale(1.05)}}
@keyframes previewReactorPulse{0%,100%{filter:brightness(.9);transform:scale(.9)}50%{filter:brightness(1.3);transform:scale(1.12)}}
@keyframes reactorOrbit{to{transform:rotate(360deg)}}
@keyframes swingGlow{0%,100%{opacity:.45;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
@keyframes webDrift{from{transform:translate3d(-5px,-2px,0) scale(.98)}to{transform:translate3d(7px,3px,0) scale(1.04)}}
@keyframes hudScan{0%,100%{opacity:.36;filter:brightness(.85)}50%{opacity:.82;filter:brightness(1.35)}}

.james-password-recovery-panel{margin-top:16px;padding:22px;overflow:hidden;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface) 92%,#193f72 8%));border-top:3px solid var(--red)}
.james-password-recovery-panel[hidden]{display:none!important}
.james-password-recovery-heading{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}
.james-security-mark{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(135deg,#081a37,var(--red));box-shadow:0 9px 20px rgba(15,27,52,.24),inset 0 0 0 1px rgba(255,255,255,.18);font-size:22px;font-weight:950}
.james-password-recovery-heading h2{margin:5px 0 4px;font-size:18px}.james-password-recovery-heading p{max-width:820px;color:var(--muted);font-size:10px;line-height:1.65}
.james-password-recovery-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;margin-top:18px}
.james-security-form{display:grid;gap:12px;align-content:start;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.james-security-form[hidden]{display:none!important}
.james-security-form-heading{display:grid;gap:4px;margin-bottom:3px}.james-security-form-heading>span{color:var(--red);font-size:8px;font-weight:950;letter-spacing:.1em}.james-security-form-heading strong{font-size:13px}.james-security-form-heading small,.james-password-rule{color:var(--muted);font-size:9px;line-height:1.5}
.james-security-form .settings-password-field{display:grid;gap:6px}.james-security-form .settings-password-field>span{font-size:9px;font-weight:850;color:var(--ink)}
.james-security-form input,.james-security-form select{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:11px;outline:0}
.james-security-form input:focus,.james-security-form select:focus{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent)}
.james-security-form input[inputmode="numeric"]{font-size:18px;letter-spacing:.32em;text-align:center;font-variant-numeric:tabular-nums}
.james-security-form .primary-button{justify-self:start;min-width:132px}
.james-security-form .settings-password-message{min-height:18px}
body.dark .james-password-recovery-panel{background:linear-gradient(135deg,#242a33,#1c2a40)}
body.dark .james-security-form{background:#20262e;border-color:#56606d}

body.reduce-motion .spiderman-swinger,body.reduce-motion .ironman-flyer{left:48%!important;transform:translateX(-50%)!important;opacity:1!important;animation:none!important}
body.reduce-motion .ironman-arc-reactor{animation:none!important;transform:translateY(-50%)!important}
body.reduce-motion .spiderman-swing-glow,body.reduce-motion .ironman-flight-trail,body.reduce-motion .ironman-preview::after,body.reduce-motion .header-scene::before,body.reduce-motion .header-scene::after{animation:none!important}
@media(max-width:900px){.james-password-recovery-grid{grid-template-columns:1fr}.james-password-recovery-heading{grid-template-columns:auto 1fr}.james-password-recovery-heading>.status-chip{grid-column:1/-1;width:max-content}.ironman-arc-reactor{right:4%;width:62px;height:62px}.spiderman-swinger{width:104px;height:104px}.ironman-flyer{width:140px;height:94px}}
@media(max-width:620px){.james-password-recovery-panel{padding:16px}.james-password-recovery-heading{grid-template-columns:1fr}.james-security-mark{width:42px;height:42px}.james-security-form{padding:14px}.james-security-form .primary-button{width:100%}}
@media print{.james-theme-character,.ironman-arc-reactor{display:none!important}}

/* v72 · James-only central event themes and protected report clearing */
.custom-event-banner[hidden],.james-theme-studio-panel[hidden],.james-reports-danger-panel[hidden],.james-theme-studio-body[hidden]{display:none!important}
.custom-event-banner{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;margin:0 0 22px;padding:17px 24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--event-primary) 72%,#fff);border-radius:18px;color:var(--event-text);background:radial-gradient(circle at 84% 28%,color-mix(in srgb,var(--event-primary) 38%,transparent),transparent 31%),linear-gradient(120deg,var(--event-secondary),color-mix(in srgb,var(--event-primary) 70%,var(--event-secondary)));box-shadow:0 18px 44px color-mix(in srgb,var(--event-secondary) 26%,transparent)}
.custom-event-banner::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 0 47%,rgba(255,255,255,.13) 48% 50%,transparent 51%);transform:translateX(-100%);animation:eventBannerShine 5.8s ease-in-out infinite}
.custom-event-banner-copy{position:relative;z-index:2;display:grid;gap:5px;max-width:850px}.custom-event-banner-copy small{font-size:8px;font-weight:950;letter-spacing:.18em;opacity:.75}.custom-event-banner-copy strong{font-size:clamp(18px,2.2vw,30px);line-height:1.1}.custom-event-banner-copy p{margin:0;white-space:pre-wrap;font-size:11px;line-height:1.6;color:inherit;opacity:.94}
.custom-event-banner>img{position:relative;z-index:2;width:min(210px,28vw);height:84px;flex:none;object-fit:contain;border-radius:12px;filter:drop-shadow(0 9px 14px rgba(0,0,0,.3))}
.custom-theme-particle-layer{position:fixed;z-index:40;inset:0;overflow:hidden;pointer-events:none}.custom-theme-particle-layer span,.james-theme-preview [id$="Effects"] span{position:absolute;left:var(--particle-left);top:-9%;color:var(--event-primary,#fff);font-size:17px;text-shadow:0 2px 5px rgba(0,0,0,.28);animation:eventParticleFall 7.6s linear infinite;animation-delay:var(--particle-delay);opacity:.78}
body.has-custom-event-theme .topbar{background:linear-gradient(108deg,var(--event-secondary),color-mix(in srgb,var(--event-primary) 78%,var(--event-secondary)))}body.has-custom-event-theme .topbar::after{opacity:1;background:linear-gradient(90deg,var(--event-primary),#fff,var(--event-primary))}body.has-custom-event-theme .sidebar{background:linear-gradient(180deg,var(--event-secondary),color-mix(in srgb,var(--event-secondary) 70%,var(--event-primary)))}body.has-custom-event-theme .nav-link.active{background:color-mix(in srgb,var(--event-primary) 64%,transparent);border-color:color-mix(in srgb,var(--event-text) 28%,transparent)}
.james-theme-studio-panel{margin-top:16px;padding:0;overflow:hidden;border-top:3px solid #7245e8;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface) 91%,#7245e8 9%))}.james-studio-heading{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:22px}.james-studio-heading h2,.james-reports-danger-panel h2{margin:5px 0 5px;font-size:18px}.james-studio-heading p,.james-reports-danger-panel p{max-width:860px;color:var(--muted);font-size:10px;line-height:1.65}.james-studio-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#fff;font-size:23px;background:linear-gradient(135deg,#161136,#7b49eb);box-shadow:0 10px 24px rgba(85,47,174,.26)}
.james-theme-studio-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:18px;padding:21px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.james-theme-builder{display:grid;gap:15px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.james-theme-builder label{display:grid;gap:6px}.james-theme-builder label>span{font-size:9px;font-weight:850}.james-theme-builder input:not([type="checkbox"]):not([type="color"]),.james-theme-builder select,.james-theme-builder textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);font:inherit;font-size:11px;outline:0}.james-theme-builder textarea{resize:vertical;white-space:pre-wrap}.james-theme-builder input:focus,.james-theme-builder select:focus,.james-theme-builder textarea:focus{border-color:#7245e8;box-shadow:0 0 0 3px rgba(114,69,232,.12)}
.james-theme-form-row,.james-theme-upload-row,.james-theme-colours{display:grid;gap:12px}.james-theme-form-row.two-column{grid-template-columns:1fr 1fr}.james-theme-form-row.three-column,.james-theme-colours{grid-template-columns:repeat(3,1fr)}.james-theme-form-row.audience-row{grid-template-columns:1fr 1fr;align-items:end}.james-theme-upload-row{grid-template-columns:1fr 1fr auto;align-items:end}.james-theme-file small{font-size:8px;color:var(--muted)}.james-theme-colours input[type="color"]{width:100%;height:42px;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.inline-checkbox{display:flex!important;flex-direction:row;align-items:center;gap:8px!important;min-height:42px;font-size:9px;font-weight:800}.inline-checkbox input{accent-color:#7245e8}.active-checkbox{align-self:end}.james-theme-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.james-theme-actions .settings-password-message{flex:1;min-width:220px}
.james-theme-preview-wrap{display:grid;gap:9px;align-content:start}.james-theme-preview{--preview-primary:#d71920;--preview-secondary:#111827;--preview-text:#fff;position:sticky;top:88px;display:grid;place-items:center;align-content:center;gap:7px;min-height:330px;padding:25px;overflow:hidden;border:1px solid color-mix(in srgb,var(--preview-primary) 65%,#fff);border-radius:18px;text-align:center;color:var(--preview-text);background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--preview-primary) 48%,transparent),transparent 31%),linear-gradient(145deg,var(--preview-secondary),color-mix(in srgb,var(--preview-primary) 68%,var(--preview-secondary)));box-shadow:0 20px 40px color-mix(in srgb,var(--preview-secondary) 22%,transparent)}.james-theme-preview>img{position:relative;z-index:2;width:100%;height:135px;object-fit:contain;border-radius:12px;filter:drop-shadow(0 9px 13px rgba(0,0,0,.32))}.james-theme-preview>small,.james-theme-preview>strong,.james-theme-preview>p{position:relative;z-index:3}.james-theme-preview>small{font-size:8px;font-weight:950;letter-spacing:.16em;opacity:.77}.james-theme-preview>strong{font-size:21px}.james-theme-preview>p{margin:0;white-space:pre-wrap;font-size:10px;line-height:1.6;color:inherit}.james-theme-preview [id$="Effects"]{position:absolute;inset:0;overflow:hidden;pointer-events:none}.james-theme-preview [id$="Effects"] span{top:-12%;color:var(--preview-text);font-size:13px}
.james-saved-themes{grid-column:1/-1;display:grid;gap:12px;padding-top:4px}.james-saved-themes h3{margin:4px 0 0;font-size:15px}.james-saved-themes-list{display:grid;gap:9px}.james-saved-theme-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid var(--line);border-left:5px solid var(--saved-theme-primary);border-radius:11px;background:var(--surface)}.james-saved-theme-card>div:first-child{display:grid;gap:4px}.james-saved-theme-card strong{font-size:12px}.james-saved-theme-card small{font-size:8px;color:var(--muted);line-height:1.55}.james-saved-theme-card>div:last-child{display:flex;gap:7px}.james-saved-theme-card button{min-height:34px;padding:7px 11px;font-size:9px}
.james-reports-danger-panel{display:grid;grid-template-columns:1fr minmax(320px,.65fr);gap:24px;align-items:center;margin-top:16px;padding:22px;border:1px solid rgba(185,28,28,.35);border-top:4px solid #b91c1c;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface) 90%,#b91c1c 10%))}.james-reports-danger-panel .eyebrow{color:#b91c1c}.james-reports-danger-panel form{display:grid;gap:10px;padding:16px;border:1px solid rgba(185,28,28,.28);border-radius:13px;background:var(--surface)}.james-reports-danger-panel label{display:grid;gap:6px}.james-reports-danger-panel label>span{font-size:9px;font-weight:850}.james-reports-danger-panel input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);font:inherit;font-size:11px}.james-reports-danger-panel input[inputmode="numeric"]{font-size:18px;text-align:center;letter-spacing:.3em}.james-reports-danger-panel .danger-button{justify-content:center;background:#b91c1c;color:#fff;border-color:#991b1b}
body.dark .james-theme-studio-panel,body.dark .james-reports-danger-panel{background:linear-gradient(135deg,#242a33,#211f31)}body.dark .james-theme-builder,body.dark .james-reports-danger-panel form,body.dark .james-saved-theme-card{background:#20262e}
body.reduce-motion .custom-event-banner::before,body.reduce-motion .custom-theme-particle-layer span,body.reduce-motion .james-theme-preview [id$="Effects"] span{animation:none!important}.custom-theme-particle-layer:empty{display:none}
@keyframes eventParticleFall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}10%{opacity:.82}100%{transform:translate3d(calc((var(--particle-index) - 9) * 1px),112vh,0) rotate(540deg);opacity:.25}}@keyframes eventBannerShine{0%,65%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
@media(max-width:980px){.james-theme-studio-body{grid-template-columns:1fr}.james-theme-preview{position:relative;top:auto;min-height:270px}.james-reports-danger-panel{grid-template-columns:1fr}.james-studio-heading{grid-template-columns:auto 1fr}.james-studio-heading>.primary-button{grid-column:1/-1;width:max-content}.james-theme-upload-row{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.custom-event-banner{align-items:flex-start;padding:16px;flex-direction:column}.custom-event-banner>img{width:100%;height:105px}.james-studio-heading{grid-template-columns:1fr;padding:17px}.james-theme-studio-body{padding:13px}.james-theme-form-row.two-column,.james-theme-form-row.three-column,.james-theme-form-row.audience-row,.james-theme-upload-row,.james-theme-colours{grid-template-columns:1fr}.james-theme-actions>button{width:100%}.james-saved-theme-card{align-items:flex-start;flex-direction:column}.james-reports-danger-panel{padding:16px}.james-reports-danger-panel form{padding:13px}}
@media print{.custom-event-banner,.custom-theme-particle-layer,.james-theme-studio-panel,.james-reports-danger-panel{display:none!important}}

/* v73 · James central theme control and upgraded public celebration themes */
.james-global-theme-controls[hidden]{display:none!important}
.james-global-theme-controls{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) minmax(230px,.8fr) minmax(150px,.5fr) auto;
  align-items:end;
  gap:14px;
  margin:0 0 20px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--red) 36%,var(--line));
  border-left:5px solid var(--red);
  border-radius:15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 95%,var(--red) 5%),var(--surface-2));
  box-shadow:0 13px 30px rgba(24,28,35,.08);
}
.james-global-theme-copy h3{margin:4px 0 5px;font-size:16px}
.james-global-theme-copy p{margin:0;max-width:680px;color:var(--muted);font-size:9px;line-height:1.55}
.james-global-theme-audience{display:grid;gap:6px}
.james-global-theme-audience>span,.james-global-theme-selection small{color:var(--muted);font-size:8px;font-weight:950;letter-spacing:.08em}
.james-global-theme-audience select{width:100%;height:43px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);font:inherit;font-size:10px;font-weight:800}
.james-global-theme-selection{min-height:43px;display:grid;align-content:center;gap:4px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.james-global-theme-selection strong{font-size:11px}
.james-global-theme-controls>.primary-button{min-height:43px;white-space:nowrap;justify-content:center}
.james-global-theme-status{grid-column:2/-1;min-height:15px;color:var(--muted);font-size:9px;font-weight:800}
.james-global-theme-status.success{color:#21824a}.james-global-theme-status.error{color:#b4232a}
body.dark .james-global-theme-controls{background:linear-gradient(135deg,#2e252a,#20262e);border-color:#684449}
body.dark .james-global-theme-audience select,body.dark .james-global-theme-selection{color:#fff;background:#20262e;border-color:#59606b}

.womens-day-preview{background:linear-gradient(135deg,#6f1849,#dd6296,#ffd8e8)}
.halloween-preview{background:radial-gradient(circle at 72% 45%,#ffb229 0 8%,transparent 9%),linear-gradient(135deg,#170b2d,#5c257e 58%,#f07b22)}
.galaxy-preview{background:radial-gradient(circle at 75% 30%,#eaffff 0 2px,transparent 3px),radial-gradient(circle at 35% 64%,#fff 0 1px,transparent 2px),linear-gradient(135deg,#070c2b,#33206b 55%,#087f9a)}

/* Easter: the bunny rides securely above the cab roof. */
body[data-portal-theme="easter"] .topbar{background:radial-gradient(circle at 78% 18%,rgba(255,241,168,.32),transparent 22%),linear-gradient(110deg,#724791,#ad70c7 48%,#65b8cf)}
body[data-portal-theme="easter"] .truck-bunny{z-index:8;filter:drop-shadow(0 5px 5px rgba(61,36,68,.26))}
body[data-portal-theme="easter"] .bunny-head::before{content:"";position:absolute;left:5px;top:8px;width:4px;height:5px;border-radius:50%;background:#49343d;box-shadow:11px 0 #49343d}
body[data-portal-theme="easter"] .bunny-head::after{content:"";position:absolute;left:10px;top:14px;width:5px;height:4px;border-radius:50%;background:#ef8eb3}
body[data-portal-theme="easter"] .theme-eggs{filter:saturate(1.15) drop-shadow(0 5px 8px rgba(70,35,88,.15))}

/* New Year: layered bursts finish by revealing the requested greeting. */
body[data-portal-theme="new-year"] .header-copy{display:none}
body[data-portal-theme="new-year"] .topbar{background:radial-gradient(circle at 48% 12%,rgba(255,214,97,.18),transparent 25%),linear-gradient(110deg,#070d21,#111d45 58%,#8e6b1d)}
body[data-portal-theme="new-year"] .theme-fireworks{display:block}
body[data-portal-theme="new-year"] .firework{filter:drop-shadow(0 0 7px currentColor);animation-duration:3.2s}
.new-year-firework-text-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 0 5px rgba(255,225,142,.56))}
.new-year-firework-fallback{position:absolute;z-index:2;left:4%;top:21px;padding:8px 15px;border:1px solid rgba(255,224,133,.55);border-radius:999px;color:#fff4c2;background:rgba(5,11,31,.56);box-shadow:0 0 26px rgba(244,202,86,.23);font-size:clamp(14px,1.5vw,23px);letter-spacing:.05em;text-shadow:0 0 10px rgba(255,218,112,.72);animation:newYearMessageReveal 3.2s ease-in-out infinite}
body.new-year-firework-canvas-ready .new-year-firework-fallback{display:none}

/* Company birthday: cake, balloons, banner and colourful party movement. */
body[data-portal-theme="company-birthday"] .header-copy{display:none}
body[data-portal-theme="company-birthday"] .topbar{background:radial-gradient(circle at 72% 15%,rgba(255,220,92,.3),transparent 23%),linear-gradient(105deg,#7f0d18,#c51f25 45%,#d7a62e 73%,#282a31)}
body[data-portal-theme="company-birthday"] .truck-cake{z-index:8;filter:drop-shadow(0 5px 4px rgba(42,16,10,.25))}
body[data-portal-theme="company-birthday"] .theme-party::before{content:"Happy Birthday, Right Side Up!";position:absolute;left:4%;top:20px;padding:8px 14px;border-radius:999px;color:#fff;background:linear-gradient(90deg,rgba(183,23,32,.86),rgba(194,139,28,.88));border:1px solid rgba(255,242,180,.55);font-size:clamp(12px,1.25vw,18px);font-weight:950;letter-spacing:.04em;box-shadow:0 7px 18px rgba(58,13,13,.2);animation:birthdayBannerBounce 3s ease-in-out infinite}
body[data-portal-theme="company-birthday"] .theme-party::after{content:"🎈   🎈   🎊   🎈";position:absolute;left:5%;right:4%;top:4px;color:#fff;font-size:24px;word-spacing:42px;text-align:center;opacity:.85;animation:birthdayBalloons 4.6s ease-in-out infinite}

/* Women's Day: floral message stays in the decorative header, with a roof bow. */
body[data-portal-theme="womens-day"]{--red:#a72c6d;--red-2:#d45291;--red-dark:#691743}
body[data-portal-theme="womens-day"] .topbar{background:radial-gradient(circle at 74% 20%,rgba(255,220,236,.28),transparent 27%),linear-gradient(110deg,#561338,#a92d6e 52%,#e597b8)}
body[data-portal-theme="womens-day"] .sidebar{background:linear-gradient(180deg,#7d1f54,#50163a,#2b2930)}
body[data-portal-theme="womens-day"] .header-copy{display:none}
body[data-portal-theme="womens-day"] .theme-womens-day{display:block}
.theme-womens-day{display:none;position:absolute;inset:0;pointer-events:none}
.womens-flower-message{position:absolute;left:3%;top:18px;display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,231,241,.72);border-radius:999px;color:#fff;background:rgba(91,16,59,.62);box-shadow:0 8px 22px rgba(67,12,43,.22);font-size:clamp(12px,1.3vw,19px);text-shadow:0 2px 8px rgba(70,10,43,.36)}
.womens-flower-message span{font-size:19px;animation:flowerSway 2.7s ease-in-out infinite}.womens-flower-message span:last-child{animation-delay:-1.3s}
.womens-petal{position:absolute;font-size:18px;filter:drop-shadow(0 3px 5px rgba(76,19,52,.2));animation:womensPetalDrift 5.5s ease-in-out infinite}.womens-petal-one{left:26%;top:10%;animation-delay:-1s}.womens-petal-two{left:45%;top:52%;animation-delay:-3s}.womens-petal-three{right:17%;top:8%;animation-delay:-2s}.womens-petal-four{right:4%;top:47%;animation-delay:-4s}
.truck-womens-bow{display:none;position:absolute;z-index:8;width:46px;height:34px;filter:drop-shadow(0 5px 4px rgba(52,11,36,.28))}
.truck-womens-bow::before,.truck-womens-bow::after{content:"";position:absolute;top:5px;width:23px;height:22px;border:2px solid #f8c9df;background:linear-gradient(145deg,#ef8dba,#c7347b 66%,#8a1e55);box-shadow:inset 0 0 7px rgba(255,255,255,.35)}
.truck-womens-bow::before{left:0;border-radius:70% 35% 65% 35%;transform:rotate(16deg)}.truck-womens-bow::after{right:0;border-radius:35% 70% 35% 65%;transform:rotate(-16deg)}
.truck-womens-bow span{position:absolute;z-index:2;left:17px;top:9px;width:14px;height:14px;border-radius:50%;background:#ffe1ee;border:2px solid #a52b6a}
.truck-womens-bow span::after{content:"";position:absolute;left:-4px;top:10px;width:18px;height:21px;background:linear-gradient(100deg,#c7347b 0 43%,transparent 44% 56%,#a52565 57%);clip-path:polygon(0 0,100% 0,79% 100%,50% 72%,18% 100%)}
body[data-portal-theme="womens-day"] .truck-womens-bow{display:block}
body[data-portal-theme="womens-day"] .panel,body[data-portal-theme="womens-day"] .assessment-card{border-color:color-mix(in srgb,var(--line) 78%,#d45291 22%)}

/* Halloween: friendly pumpkins, candy and bats with no scary overlay on content. */
body[data-portal-theme="halloween"]{--red:#e66c1f;--red-2:#f18a2d;--red-dark:#9d3e10}
body[data-portal-theme="halloween"] .topbar{background:radial-gradient(circle at 79% 23%,rgba(255,168,48,.25),transparent 22%),linear-gradient(110deg,#130824,#351250 52%,#b34c18)}
body[data-portal-theme="halloween"] .sidebar{background:linear-gradient(180deg,#2b103e,#1c0d2a,#2c2930)}
body[data-portal-theme="halloween"] .header-copy{display:none}
body[data-portal-theme="halloween"] .theme-halloween{display:block}
.theme-halloween{display:none;position:absolute;inset:0;pointer-events:none}
.halloween-bat,.halloween-candy,.halloween-pumpkin{position:absolute;filter:drop-shadow(0 4px 5px rgba(0,0,0,.28))}.halloween-bat{font-size:23px;animation:batFlight 4.4s ease-in-out infinite}.halloween-bat-one{left:12%;top:10%}.halloween-bat-two{left:44%;top:47%;animation-delay:-2.2s}.halloween-candy{font-size:20px;animation:candyTwist 3.2s ease-in-out infinite}.halloween-candy-one{left:auto;right:27%;top:12%}.halloween-candy-two{right:5%;top:45%;animation-delay:-1.6s}.halloween-pumpkin{font-size:28px;animation:pumpkinSmile 2.8s ease-in-out infinite}.halloween-pumpkin-one{right:22%;bottom:2%}.halloween-pumpkin-two{left:3%;bottom:0;animation-delay:-1.4s}
.halloween-candy-message{position:absolute;z-index:3;left:3%;top:15px;display:flex;align-items:center;gap:11px;padding:8px 12px;border:1px solid rgba(255,190,102,.42);border-radius:13px;background:rgba(27,8,42,.58);box-shadow:0 8px 22px rgba(12,3,23,.25)}
.candy-word{display:flex;gap:3px}
.candy-word b{position:relative;width:19px;height:26px;display:grid;place-items:center;border:1px solid rgba(255,244,221,.72);border-radius:7px;color:#fff;font-size:13px;font-weight:950;line-height:1;background:repeating-linear-gradient(135deg,#ff962e 0 5px,#ffdb64 5px 10px,#e94c78 10px 15px);box-shadow:inset 0 0 7px rgba(255,255,255,.32),0 0 8px rgba(255,136,43,.28);text-shadow:0 1px 2px rgba(80,12,30,.55);animation:candyWordPop 5.2s ease-in-out infinite;animation-delay:calc(var(--letter-index) * .08s)}
.candy-word:nth-child(2) b:nth-child(3n+1){background:repeating-linear-gradient(135deg,#9a53d8 0 5px,#f07bc0 5px 10px,#ffb23b 10px 15px)}
.candy-word b::before,.candy-word b::after{content:"";position:absolute;top:7px;width:7px;height:11px;background:inherit;filter:brightness(1.12);clip-path:polygon(0 50%,100% 0,100% 100%)}
.candy-word b::before{left:-6px}.candy-word b::after{right:-6px;transform:scaleX(-1)}
.truck-halloween-pumpkin{display:none;position:absolute;z-index:8;font-size:31px;line-height:1;filter:drop-shadow(0 5px 4px rgba(28,7,14,.34))}
body[data-portal-theme="halloween"] .truck-halloween-pumpkin{display:block}
body[data-portal-theme="halloween"] .panel,body[data-portal-theme="halloween"] .assessment-card{border-color:color-mix(in srgb,var(--line) 76%,#8b3ead 24%)}

/* Galaxy Night: original bonus theme. */
body[data-portal-theme="galaxy"]{--red:#356fc8;--red-2:#4aa7d8;--red-dark:#203b8a}
body[data-portal-theme="galaxy"] .topbar{background:radial-gradient(circle at 70% 5%,rgba(63,228,232,.23),transparent 22%),radial-gradient(circle at 28% 110%,rgba(184,85,255,.25),transparent 30%),linear-gradient(110deg,#050922,#171344 55%,#075a70)}
body[data-portal-theme="galaxy"] .sidebar{background:radial-gradient(circle at 50% 0,rgba(55,214,223,.16),transparent 24%),linear-gradient(180deg,#0b0c30,#171341,#172532)}
body[data-portal-theme="galaxy"] .header-copy{display:none}
body[data-portal-theme="galaxy"] .theme-galaxy{display:block}
.theme-galaxy{display:none;position:absolute;inset:0;overflow:hidden;pointer-events:none}
.galaxy-aurora{position:absolute;inset:-30% 8% 15%;border-radius:50%;background:conic-gradient(from 80deg,transparent,#3ad8e252,#ad5fff52,transparent 58%);filter:blur(12px);animation:galaxyAurora 7s ease-in-out infinite alternate}
.galaxy-star{position:absolute;color:#e8ffff;text-shadow:0 0 11px #64ebff;font-size:19px;animation:twinkle 1.8s ease-in-out infinite}.galaxy-star-one{left:9%;top:13%}.galaxy-star-two{left:31%;top:55%;animation-delay:-.6s}.galaxy-star-three{right:23%;top:9%;animation-delay:-1.2s}.galaxy-star-four{right:5%;top:55%;animation-delay:-.3s}
.galaxy-planet{position:absolute;right:11%;top:8px;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#99f6ff,#437fd3 45%,#4a277f 78%);box-shadow:0 0 18px rgba(94,221,255,.42)}.galaxy-planet::after{content:"";position:absolute;left:-11px;right:-11px;top:20px;height:8px;border:2px solid #c7c8ff;border-radius:50%;transform:rotate(-14deg);opacity:.75}
.galaxy-message{position:absolute;left:4%;top:20px;padding:8px 14px;border:1px solid rgba(150,237,255,.47);border-radius:999px;color:#ecffff;background:rgba(5,9,35,.58);font-size:clamp(12px,1.25vw,18px);letter-spacing:.08em;text-shadow:0 0 10px #4ee6f0}
.truck-galaxy-star{display:none;position:absolute;left:202px;top:-8px;z-index:8;color:#e9ffff;font-size:30px;text-shadow:0 0 9px #fff,0 0 19px #55e7ff;animation:twinkle 1.5s ease-in-out infinite}
body[data-portal-theme="galaxy"] .truck-galaxy-star{display:block}
body[data-portal-theme="galaxy"] .panel,body[data-portal-theme="galaxy"] .assessment-card{border-color:color-mix(in srgb,var(--line) 75%,#4aa7d8 25%)}

/* All themed accessories share the exact cab-roof anchor in the truck SVG. */
.header-truck{--roof-accessory-scale:1}
body[data-portal-theme="easter"] .truck-bunny,
body[data-portal-theme="company-birthday"] .truck-cake,
body[data-portal-theme="womens-day"] .truck-womens-bow,
body[data-portal-theme="halloween"] .truck-halloween-pumpkin{
  left:64.75%;
  top:30.8%;
  transform:translate(-50%,-100%) scale(var(--roof-accessory-scale));
  transform-origin:50% 100%;
  animation:none;
}

/* Extra polish for the older public seasons. */
body[data-portal-theme="christmas"] .topbar{background:radial-gradient(circle at 79% 14%,rgba(255,245,180,.2),transparent 22%),linear-gradient(110deg,#7a0d16,#bb1e29 51%,#12603a)}
body[data-portal-theme="christmas"] .seasonal-decor span{opacity:.14;filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}
body[data-portal-theme="winter"] .topbar{background:radial-gradient(circle at 73% 20%,rgba(255,255,255,.25),transparent 25%),linear-gradient(110deg,#173f5c,#3d83ae 54%,#a7e4f4)}
body[data-portal-theme="summer"] .topbar{background:radial-gradient(circle at 77% 20%,rgba(255,243,151,.3),transparent 23%),linear-gradient(110deg,#c94e17,#ef8e28 49%,#218eb9)}
body[data-portal-theme="autumn"] .topbar{background:radial-gradient(circle at 77% 20%,rgba(255,205,90,.24),transparent 24%),linear-gradient(110deg,#61220f,#a7461c 48%,#d89532)}
body[data-portal-theme="spring"] .topbar{background:radial-gradient(circle at 75% 17%,rgba(255,225,236,.25),transparent 24%),linear-gradient(110deg,#2d6d42,#50a069 51%,#cf7da1)}

@keyframes newYearMessageReveal{0%,30%{opacity:0;transform:scale(.82);letter-spacing:.22em}44%,78%{opacity:1;transform:scale(1);letter-spacing:.05em}100%{opacity:0;transform:scale(1.08)}}
@keyframes birthdayBannerBounce{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes birthdayBalloons{0%,100%{transform:translateY(8px) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}
@keyframes womensPetalDrift{0%,100%{transform:translateY(5px) rotate(-8deg)}50%{transform:translateY(-9px) rotate(10deg)}}
@keyframes bowFlutter{0%,100%{transform:rotate(-2deg) scale(.98)}50%{transform:rotate(2deg) scale(1.04)}}
@keyframes batFlight{0%,100%{transform:translate(0,7px) rotate(-8deg)}50%{transform:translate(26px,-8px) rotate(9deg)}}
@keyframes candyTwist{0%,100%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(14deg) translateY(-7px)}}
@keyframes pumpkinSmile{0%,100%{transform:scale(.95) rotate(-2deg)}50%{transform:scale(1.07) rotate(2deg)}}
@keyframes candyWordPop{0%,16%{opacity:0;transform:translateY(-15px) scale(.55) rotate(-9deg)}25%,78%{opacity:1;transform:translateY(0) scale(1) rotate(0)}88%,100%{opacity:0;transform:translateY(5px) scale(.84)}}
@keyframes galaxyAurora{from{transform:rotate(-6deg) scale(.92);opacity:.55}to{transform:rotate(8deg) scale(1.08);opacity:.88}}

body.reduce-motion .new-year-firework-fallback{animation:none!important;opacity:1!important;transform:none!important}
body.reduce-motion .theme-womens-day *,body.reduce-motion .theme-halloween *,body.reduce-motion .theme-galaxy *{animation:none!important}
@media(max-width:1180px){
  .james-global-theme-controls{grid-template-columns:1fr 1fr}.james-global-theme-copy{grid-column:1/-1}.james-global-theme-status{grid-column:1/-1}
  .womens-flower-message,.new-year-firework-fallback,.galaxy-message,body[data-portal-theme="company-birthday"] .theme-party::before{font-size:12px;max-width:260px}
  .halloween-candy-message{transform:scale(.86);transform-origin:left top}
}
@media(max-width:860px){.header-truck{--roof-accessory-scale:.78}}
@media(max-width:760px){.james-global-theme-controls{grid-template-columns:1fr;align-items:stretch}.james-global-theme-copy,.james-global-theme-status{grid-column:1}.james-global-theme-controls>.primary-button{width:100%}}
@media print{.theme-womens-day,.theme-halloween,.theme-galaxy,.new-year-firework-text-canvas,.new-year-firework-fallback,.james-global-theme-controls{display:none!important}}
