:root{font-family:'DM Sans',sans-serif;color:#142235;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue:#1261bd;--navy:#0e2037;--muted:#687b97;--gold:#f3b928}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1fr) minmax(520px,1fr)}.brand-panel{position:relative;min-height:100vh;overflow:hidden;color:white;background:#102d44 url('images/Golden-Hour Bell Haul Truck at Quarry.png') 43% center/cover no-repeat}.brand-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,27,47,.42) 0%,rgba(8,24,39,.11) 38%,rgba(5,13,20,.62) 100%);pointer-events:none}.brand-content,.brand-bottom{position:relative;z-index:1}.brand-content{padding:50px clamp(38px,7vw,105px)}.bell-brand{display:inline-flex;text-decoration:none;filter:drop-shadow(0 5px 12px #08152260)}.bell-logo{display:block;width:190px;max-width:38vw;height:78px;object-fit:cover;object-position:center 49%;border-radius:3px;box-shadow:0 5px 18px #08152235}.equipment-word{display:block;margin:3px 0 0 5px;font:800 17px Manrope,sans-serif;letter-spacing:1.1px;text-shadow:0 2px 5px #071521a0}.brand-message{margin-top:36px}.brand-overline{font-size:9px;letter-spacing:2.1px;font-weight:700;color:#e6d8bd;margin-bottom:10px}.brand-message h1{font:700 clamp(25px,2.75vw,39px)/1.18 'Manrope',sans-serif;letter-spacing:-1.25px;margin:0;max-width:610px}.brand-message h1 span{color:#ffc52e}.brand-message p{font-size:clamp(13px,1.36vw,18px);margin:11px 0 0;color:#f1f5f9;letter-spacing:.05px}.brand-bottom{position:absolute;bottom:31px;left:clamp(38px,7vw,105px);right:clamp(38px,7vw,105px)}.value-points{display:flex;align-items:center;gap:clamp(15px,2.3vw,32px);width:max-content;max-width:100%}.value-point{display:flex;min-width:75px;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:10px;line-height:1.35;font-weight:600;text-shadow:0 1px 4px #0009}.value-icon{font-size:23px;line-height:1;color:white}.people-icon{font-size:27px}.value-points>i{height:43px;width:1px;background:#ffffff75}.brand-disclaimer{font-size:8px;color:#ffffffb8;margin-top:21px;letter-spacing:.4px}.yellow-slice{position:absolute;z-index:2;bottom:-1px;left:0;width:100%;height:29px;background:linear-gradient(7deg,#ffca28 0%,#f7b81f 73%,transparent 73.3%);pointer-events:none}.form-panel{position:relative;min-height:100vh;display:flex;flex-direction:column;padding:0 clamp(44px,7.6vw,116px);background:#fbfcfe;isolation:isolate}.form-panel:before,.form-panel:after{position:absolute;content:"";z-index:-1;pointer-events:none}.form-panel:before{inset:0;background:radial-gradient(ellipse at 60% 35%,#fff 0%,#fbfcfe 63%,#f3f6fa 100%)}.form-panel:after{width:260px;height:220px;right:0;bottom:0;background:linear-gradient(140deg,transparent 50%,#edf2f8 50%,#f7f9fc 78%,transparent 78%);opacity:.8}.form-top{height:104px;display:flex;align-items:center;justify-content:flex-end;color:#1a2a42;font-size:12px;font-weight:600}.mobile-brand{display:none}.login-content{width:100%;max-width:530px;margin:auto}.welcome-mark{width:38px;height:4px;background:var(--gold);border-radius:3px;margin-bottom:22px;display:none}.form-eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#8695a9;margin-bottom:10px}.login-content h2{font:800 clamp(33px,3.4vw,49px)/1.13 'Manrope',sans-serif;letter-spacing:-1.8px;color:#101e33;margin:0}.form-intro{font-size:clamp(14px,1.42vw,18px);line-height:1.55;color:#697c98;margin:14px 0 36px;max-width:440px}.input-wrap{width:100%;height:57px;border:1px solid #d4deea;border-radius:8px;background:#fff;display:flex;align-items:center;gap:14px;padding:0 16px;box-shadow:0 2px 5px #233f5b09;transition:border-color .18s,box-shadow .18s;margin-bottom:18px}.input-wrap:focus-within{border-color:#75a3d8;box-shadow:0 0 0 3px #1769c31a}.input-icon{width:19px;height:22px;display:grid;place-items:center;color:#586f8d;flex:none}.input-icon svg,.show-password svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-wrap input{width:100%;height:100%;border:0;outline:0;background:transparent;font:500 14px 'DM Sans',sans-serif;color:#1c2d43}.input-wrap input::placeholder{color:#788aa4;opacity:1}.show-password{height:32px;width:32px;display:grid;place-items:center;border:0;background:transparent;color:#7d90a9;cursor:pointer;border-radius:5px;flex:none}.show-password:hover{background:#f2f6fa;color:#315d91}.form-options{display:flex;align-items:center;justify-content:space-between;margin:27px 0 33px;color:#536984;font-size:12px}.remember-option{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.remember-option input{position:absolute;opacity:0;width:1px;height:1px}.custom-check{width:19px;height:19px;display:grid;place-items:center;border:1px solid #c6d2df;border-radius:4px;background:white;color:transparent;font-size:12px;font-weight:700;transition:.15s}.remember-option input:checked+.custom-check{background:#1266c5;border-color:#1266c5;color:white}.remember-option input:focus-visible+.custom-check{outline:3px solid #1266c533}.forgot-link{border:0;background:transparent;padding:4px 0;color:#075ec4;font:600 12px 'DM Sans',sans-serif;cursor:pointer}.forgot-link:hover{text-decoration:underline}.sign-in-button{width:100%;height:59px;border:0;border-radius:7px;color:white;background:linear-gradient(105deg,#1261bd,#0755b1);box-shadow:0 5px 12px #0b5bbb19;display:flex;justify-content:center;align-items:center;gap:13px;font:700 14px 'DM Sans',sans-serif;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.sign-in-button:hover{background:linear-gradient(105deg,#0d56ac,#064c9f);box-shadow:0 7px 16px #0b5bbb32;transform:translateY(-1px)}.sign-in-button:active{transform:translateY(0)}.button-arrow{font-size:22px;font-weight:400;line-height:1}.form-message{font-size:11px;line-height:1.5;min-height:17px;margin-top:10px;color:#9d4b41}.form-footer{width:100%;max-width:530px;margin:0 auto 22px;border-top:1px solid #d9e1e9;padding-top:17px;text-align:center;color:#7b8ba0;font-size:9px}.form-footer small{display:block;font-size:9px;margin-top:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dialog-backdrop{position:fixed;inset:0;background:#10233e66;display:grid;place-items:center;padding:20px;z-index:10}.dialog-backdrop[hidden]{display:none}.forgot-dialog{width:min(390px,100%);background:#fff;border-radius:12px;padding:30px;box-shadow:0 20px 70px #071d3260;text-align:center;position:relative}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#708097;font-size:23px;cursor:pointer}.dialog-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:#eef4fb;color:#1e64ad;font:700 17px 'Manrope',sans-serif}.forgot-dialog h2{font:700 19px 'Manrope',sans-serif;margin:0;color:#172840}.forgot-dialog p{font-size:12px;line-height:1.65;color:#6e7f94;margin:10px 0 21px}.dialog-ok{height:39px;min-width:120px;border:0;border-radius:5px;background:#135eb2;color:white;font:600 11px 'DM Sans',sans-serif;cursor:pointer}@media(min-width:1500px){.login-layout{grid-template-columns:1fr 1fr}.brand-content{padding-top:62px}.brand-bottom{bottom:48px}.form-top{height:125px}.form-options{font-size:13px}.forgot-link{font-size:13px}.input-wrap input{font-size:16px}.form-footer{margin-bottom:32px}}@media(max-width:1000px){.login-layout{grid-template-columns:minmax(340px,.86fr) minmax(440px,1.14fr)}.brand-content{padding-left:40px;padding-right:30px}.bell-logo{width:165px;height:68px}.brand-bottom{left:40px;right:24px}.form-panel{padding:0 48px}}@media(max-width:720px){.login-layout{display:block}.brand-panel{display:none}.form-panel{min-height:100svh;padding:0 26px}.form-top{height:74px;justify-content:space-between;font-size:10px}.mobile-brand{display:block;color:#132a40;font:800 14px 'Manrope',sans-serif;letter-spacing:-.2px}.mobile-brand b{font-size:9px;letter-spacing:.7px;margin-left:4px}.login-content{margin:auto;max-width:440px}.welcome-mark{display:block}.login-content h2{font-size:36px}.form-intro{font-size:14px;margin:12px 0 29px}.input-wrap{height:54px;margin-bottom:14px;padding:0 13px}.form-options{margin:22px 0 27px}.sign-in-button{height:54px}.form-footer{max-width:440px;margin-bottom:18px;padding-top:13px}.form-footer>span{display:none}}@media(max-width:390px){.form-panel{padding:0 19px}.login-content h2{font-size:32px}.form-top{height:62px}.form-options{font-size:11px}.forgot-link{font-size:11px}.input-wrap input{font-size:13px}}@media(max-height:700px) and (min-width:721px){.form-top{height:70px}.login-content{margin:28px auto}.form-intro{margin:10px 0 22px}.input-wrap{height:52px;margin-bottom:13px}.form-options{margin:18px 0 23px}.sign-in-button{height:53px}.brand-content{padding-top:32px}.brand-message{margin-top:24px}.brand-bottom{bottom:20px}}
/* Bell equipment neutrals and yellow replace generic blue controls */
:root{--blue:#33393d;--navy:#252a2e;--muted:#687176}
.input-wrap:focus-within{border-color:#7a8388;box-shadow:0 0 0 3px #555f6417}
.forgot-link{color:#4c555a}
.forgot-link:hover{color:#202528}
.sign-in-button{background:linear-gradient(105deg,#41484d,#252a2e);box-shadow:0 5px 12px #20252819}
.sign-in-button:hover{background:linear-gradient(105deg,#30363a,#171b1e);box-shadow:0 7px 16px #20252835}
.custom-check{color:transparent}
.remember-option input:checked+.custom-check{background:#363d42;border-color:#363d42;color:#ffc629}
.dialog-icon{background:#f5edda;color:#8a6914}
.dialog-ok{background:#343a3e}
.dialog-ok:hover{background:#22272a}
/* Full-screen hero login composition */
html,body{min-height:100%;background:#1c252b}
.login-layout{position:relative;display:grid;grid-template-columns:1fr;min-height:100svh;overflow:hidden;isolation:isolate}
.brand-panel{position:absolute;inset:0;min-height:100%;width:100%;background-color:#26343d;background-image:url('images/Golden-Hour Bell Haul Truck at Quarry.png');background-position:center center;background-size:cover;background-repeat:no-repeat;z-index:0}
.brand-backdrop{background:linear-gradient(90deg,rgba(11,22,29,.66) 0%,rgba(14,25,31,.35) 43%,rgba(12,21,27,.33) 100%),linear-gradient(180deg,rgba(9,18,24,.34),transparent 38%,rgba(7,13,18,.35) 100%)}
.brand-content{position:absolute;top:clamp(26px,5vh,54px);left:clamp(24px,5vw,78px);padding:0;max-width:440px}
.bell-logo{width:176px;height:72px;max-width:38vw}
.equipment-word{font-size:15px;margin-top:2px}
.brand-message{margin-top:22px;text-shadow:0 2px 14px #101a20a8}
.brand-overline{color:#ffe7a3}
.brand-message h1{font-size:clamp(24px,2.45vw,36px)}
.brand-message p{font-size:clamp(12px,1.1vw,15px)}
.brand-bottom{left:clamp(24px,5vw,78px);right:auto;bottom:30px}
.value-points{gap:18px}
.value-point{font-size:9px}
.brand-disclaimer{display:none}
.yellow-slice{height:13px;opacity:.95}
.form-panel{position:relative;z-index:2;display:flex;width:100%;min-height:100svh;height:100%;padding:0 22px;background:transparent;isolation:auto}
.form-panel:before,.form-panel:after{display:none}
.form-top{position:absolute;top:0;left:0;right:0;height:72px;padding:0 clamp(24px,5vw,78px);color:#fff;text-shadow:0 1px 8px #1119}
.login-content{position:relative;width:min(100%,470px);max-width:470px;margin:auto;padding:39px 42px 34px;border:1px solid #ffffffb8;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 24px 80px #10182055;backdrop-filter:blur(12px)}
.login-content h2{font-size:clamp(32px,3vw,42px)}
.form-intro{font-size:14px;margin:11px 0 26px}
.form-eyebrow{color:#777f83}
.input-wrap{height:53px;border-radius:6px;margin-bottom:14px;box-shadow:0 2px 5px #20252808}
.form-options{margin:21px 0 24px}
.sign-in-button{height:54px;border-radius:6px}
.form-footer{position:absolute;bottom:0;left:50%;transform:translateX(-50%);margin:0 auto 19px;color:#fff;border-color:#ffffff77;text-shadow:0 1px 5px #1119}
.form-footer small{color:#ffffffd9}
.form-footer>span{color:#fff}
@media(max-width:720px){
  .login-layout{min-height:100svh}
  .brand-panel{display:block;min-height:100%;background-position:43% center}
  .brand-backdrop{background:linear-gradient(180deg,rgba(8,18,25,.55),rgba(9,18,25,.28) 45%,rgba(7,13,18,.58))}
  .brand-content{top:18px;left:19px;right:19px;max-width:none;padding:0}
  .bell-logo{width:119px;height:48px;max-width:32vw}
  .equipment-word{font-size:10px;margin:1px 0 0 3px}
  .brand-message{margin-top:7px}
  .brand-overline{display:none}
  .brand-message h1{font-size:18px;letter-spacing:-.4px}
  .brand-message p{font-size:10px;margin-top:3px}
  .brand-bottom{display:none}
  .yellow-slice{height:8px}
  .form-panel{min-height:100svh;height:auto;padding:64px 18px 62px}
  .form-top{height:48px;padding:0 21px;justify-content:flex-end;font-size:9px}
  .mobile-brand{display:none}
  .login-content{width:min(100%,440px);margin:auto;padding:31px 25px 27px;border-radius:10px}
  .welcome-mark{display:block;margin-bottom:17px}
  .login-content h2{font-size:34px}
  .form-intro{font-size:13px;margin:9px 0 23px}
  .input-wrap{height:51px;margin-bottom:13px}
  .form-options{margin:18px 0 22px;font-size:11px}
  .forgot-link{font-size:11px}
  .sign-in-button{height:51px}
  .form-footer{width:calc(100% - 42px);margin-bottom:12px;padding-top:9px}
  .form-footer>span{display:block;font-size:8px}
  .form-footer small{font-size:8px}
}
@media(max-width:390px){.form-panel{padding-left:13px;padding-right:13px}.login-content{padding:27px 20px 23px}.form-footer{width:calc(100% - 30px)}}
@media(max-height:760px) and (min-width:721px){.login-content{padding-top:30px;padding-bottom:25px}.form-intro{margin:8px 0 19px}.input-wrap{height:48px;margin-bottom:11px}.form-options{margin:16px 0 18px}.sign-in-button{height:49px}.form-footer{margin-bottom:11px}}
