.login-page{min-height:100vh;background:#050e18;color:#fff}.login-container{min-height:100vh}.login-stage{min-height:100vh;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,520px);align-items:center;gap:5vw;padding:46px 5vw;background:linear-gradient(90deg,rgba(3,12,21,.08) 0%,rgba(3,12,21,.1) 45%,rgba(3,12,21,.8) 72%,rgba(3,12,21,.96) 100%),url('/static/login-hero-v1.png') center/cover no-repeat;overflow:hidden}.login-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,9,16,.58),transparent 45%);pointer-events:none}.login-brand{position:absolute;left:5vw;top:42px;z-index:1;display:flex;align-items:center;gap:13px;font-size:22px}.login-brand>span{width:52px;height:52px;display:grid;place-items:center;border:2px solid #36d3c4;border-radius:16px 8px;font-size:24px;font-weight:900}.login-brand strong{font-size:24px}.login-brand em{font-style:normal;color:#38d5c5}.login-copy{position:relative;z-index:1;align-self:end;padding-bottom:4vh;max-width:780px}.login-copy h1{font-size:clamp(45px,5vw,76px);letter-spacing:-.04em;margin:12px 0 16px}.login-copy h1 span{color:#42d6c8}.login-copy>p{font-size:20px;color:#d0d9df}.service-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}.service-badges div{min-height:94px;border:1px solid rgba(115,211,204,.3);border-radius:13px;background:rgba(3,16,27,.68);backdrop-filter:blur(10px);display:grid;place-items:center;text-align:center;padding:12px;font-weight:700}.service-badges b{display:block;color:#42d6c8;font-size:25px}.login-card.modern{position:relative;z-index:2;width:100%;max-width:520px;margin:0;background:linear-gradient(145deg,rgba(8,27,43,.94),rgba(5,17,30,.97));border:1px solid rgba(70,199,191,.35);border-radius:25px;padding:54px 50px;color:#fff;box-shadow:0 35px 100px rgba(0,0,0,.45);backdrop-filter:blur(18px)}.login-card.modern h2{font-size:36px;margin:10px 0}.login-card.modern>p{color:#aebdca;margin-bottom:30px}.login-card.modern label{color:#e7eef2;font-weight:700}.login-card.modern input{margin-top:8px;background:rgba(19,43,61,.8);border-color:#365267;color:#fff;padding:15px}.login-card.modern input::placeholder{color:#8293a1}.login-card.modern .stack{gap:20px}.login-lock{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(54,211,196,.12);color:#45d5c7;font-size:24px}.login-button{width:100%;padding:16px;background:linear-gradient(90deg,#3bd2c4,#31bfc4);color:#03151d!important;font-size:16px}.protected{text-align:center;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);color:#8fa0ad}
.admin-page{background:#f2f5f7}.admin-layout{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;background:#071722;color:#d9e5e9;padding:24px 18px;display:flex;flex-direction:column;z-index:30;box-shadow:12px 0 35px rgba(9,25,37,.08)}.sidebar-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;padding:0 8px 24px}.sidebar-brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px 6px;background:linear-gradient(135deg,#46d9ca,#19aeb2);color:#05202a;font-weight:900}.sidebar-brand strong{font-size:17px}.sidebar-brand em{font-style:normal;color:#40d3c5}.sidebar-nav{overflow:auto;padding-right:3px}.sidebar-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#607887;font-weight:800;padding:19px 12px 7px}.sidebar-nav a,.sidebar-foot a,.sidebar-logout{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:9px;color:#b9cbd3;text-decoration:none;background:none;border:0;font:inherit;text-align:left;cursor:pointer}.sidebar-nav a:hover,.sidebar-foot a:hover,.sidebar-logout:hover{background:#102a38;color:#fff}.sidebar-nav .sidebar-create{background:linear-gradient(90deg,#109d96,#147e82);color:#fff;margin:5px 0 4px;font-weight:750}.sidebar-foot{margin-top:auto;border-top:1px solid #16303d;padding-top:12px}.sidebar-foot form{margin:0}.sidebar-bell{position:relative}.sidebar-bell b{margin-left:auto;background:#ef4444;color:#fff;border-radius:20px;padding:1px 7px;font-size:11px}.admin-content{max-width:1500px;width:100%;margin:0;padding:42px clamp(22px,4vw,58px) 70px}.admin-mobilebar{display:none}.dashboard-head h1{font-size:42px}.unassigned-panel{padding:0;overflow:hidden}.unassigned-panel>.panel-head{padding:24px 28px;border-bottom:1px solid var(--line)}.queue-count{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#dff7f3;color:#08796f;font-size:19px;font-weight:850}.dispatch-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 28px;border-bottom:1px solid var(--line)}.dispatch-row:last-child{border-bottom:0}.dispatch-row:hover{background:#f8fcfb}.dispatch-main{display:grid;grid-template-columns:115px minmax(220px,1.5fr) minmax(170px,.8fr) minmax(130px,.65fr);gap:22px;align-items:center;text-decoration:none;color:var(--text)}.dispatch-main span,.dispatch-main small{display:block;color:var(--muted);font-size:12px}.dispatch-number{font-weight:850;color:#087a72}.dispatch-row form{display:flex;gap:8px}.dispatch-row select{min-width:200px;border:1px solid #ccd6dc;border-radius:9px;padding:10px;background:#fff}.empty-state{text-align:center;padding:55px}.empty-state b{display:grid;place-items:center;margin:auto;width:52px;height:52px;border-radius:50%;background:#dff7f3;color:#078073;font-size:24px}.empty-state h3{margin-bottom:4px}.postcode-panel,.report-gap{margin-top:22px}.modern-areas{margin-top:20px;grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.admin-layout{grid-template-columns:220px minmax(0,1fr)}.admin-sidebar{padding-left:10px;padding-right:10px}.sidebar-brand strong{font-size:14px}.dispatch-main{grid-template-columns:105px 1fr}.dispatch-main>div:nth-child(3),.dispatch-main>div:nth-child(4){display:none}.dispatch-row{grid-template-columns:1fr}.dispatch-row form{justify-content:flex-end}.modern-areas{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.login-stage{grid-template-columns:1fr;padding:110px 18px 30px;background-position:32% center}.login-stage:before{content:"";position:absolute;inset:0;background:rgba(3,12,21,.7)}.login-brand{left:22px;top:24px}.login-copy{display:none}.login-card.modern{margin:auto;padding:34px 24px}.admin-layout{display:block}.admin-sidebar{display:none}.admin-mobilebar{height:66px;background:#071722;color:#fff;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:30}.admin-mobilebar .sidebar-brand{padding:0}.admin-mobilebar details{position:relative}.admin-mobilebar summary{cursor:pointer;font-weight:750}.admin-mobilebar details div{position:absolute;right:0;top:38px;background:#fff;border-radius:12px;box-shadow:var(--shadow);width:220px;padding:8px}.admin-mobilebar details a{display:block;padding:10px;color:var(--text);text-decoration:none}.admin-content{padding:25px 14px 55px}.dispatch-main{grid-template-columns:1fr}.dispatch-number{margin-bottom:3px}.dispatch-row form{display:grid}.dispatch-row select{min-width:0;width:100%}.modern-areas{grid-template-columns:repeat(2,1fr)}}
.mobile-logout{display:block;width:100%;border:0;background:#fff1f1;color:#b42318;border-radius:8px;padding:11px;text-align:left;font:inherit;font-weight:750;cursor:pointer}.tech-menu .mobile-logout{margin-top:5px}.tech-menu .desktop-logout{display:block}@media(min-width:781px){.tech-menu .mobile-logout{display:none}}@media(max-width:780px){.desktop-logout{display:none!important}.topbar nav{display:flex}.tech-menu div{min-width:220px}.admin-mobilebar details form{margin:5px 0 0}}
.address-autocomplete{position:relative}.address-suggestions{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);display:block;overflow:hidden;background:#fff;border:1px solid #cad7dd;border-radius:12px;box-shadow:0 18px 45px rgba(8,30,42,.18)}.address-suggestions[hidden]{display:none}.address-suggestion{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #e7edef;background:#fff;color:#17343f;text-align:left;font:inherit;cursor:pointer}.address-suggestion:hover,.address-suggestion:focus{background:#eaf8f6;outline:0}.address-google{display:block;padding:7px 14px;text-align:right;color:#71838b;background:#f8fafb;font-weight:700}
.status.requested,.status.payment_open{background:#fff1b8;color:#765400}.status.completed{background:#dcfce7;color:#166534}.status.central_cancelled{background:#fee4e2;color:#912018}.customer-history{grid-column:1/-1;padding:16px;border-radius:12px;border:1px solid #f0c36a;background:#fff9e8}.customer-history[hidden],.technician-distance-note[hidden]{display:none}.customer-history h3{margin:0 0 8px;color:#7a5200}.history-order{display:grid;grid-template-columns:120px 1fr auto;gap:12px;padding:9px 0;border-top:1px solid #ecdcae;color:#263c44;text-decoration:none}.technician-distance-note{display:block;margin-top:7px;color:#526b74}.location-list{display:grid;gap:12px;margin-bottom:22px}.location-item{display:flex;justify-content:space-between;gap:18px;padding:15px;border:1px solid var(--line);border-radius:12px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check-grid label{display:flex;gap:7px;align-items:center}.check-grid input{width:auto;margin:0}.wait-card{border-top:4px solid #e0a400}.button.warning{background:#d79a00;color:#fff!important}
