/* OPS PRO SUITE shared Customer + Driver Portal branding */
:root{--ops-blue:#176fb7;--ops-blue2:#0b4f8a;--ops-navy:#071725;--ops-panel:#102b3e;--ops-panel2:#0b2232;--ops-line:#31556d;--ops-text:#eef8ff;--ops-muted:#9fc5dd;--ops-shadow:0 10px 28px rgba(0,0,0,.20)}
html{min-height:100%;background:#071725}
body{min-height:100vh;position:relative;background:transparent!important;color:var(--ops-text);}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(145deg,#02070d 0%,#061827 28%,#0b3555 58%,#071725 78%,#02070d 100%);}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 50% 8%,rgba(23,111,183,.24),transparent 38%),linear-gradient(180deg,rgba(2,12,21,.10),rgba(1,7,12,.38));pointer-events:none}
/* shared portal header/nav */
.top,.portal-top,.cp-top,.nav-top,header.portal-header{background:linear-gradient(90deg,#08233a,#0b4f8a)!important;border-bottom:1px solid #2e6d99!important;color:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.top a,.nav a,.portal-nav a,.cp-nav a{color:#fff!important}
.logout,.nav a,.portal-nav a,.cp-nav a{background:rgba(255,255,255,.08)!important;border:1px solid rgba(126,204,255,.22)!important}
.logout:hover,.nav a:hover,.portal-nav a:hover,.cp-nav a:hover{background:#176fb7!important}
/* common panels/cards */
.wrap,.container,.portal-wrap,main{position:relative}
.stat,.job,.filters,.card,.panel,.box,.portal-card,.quote-card,.booking-card,.summary-card{border-color:rgba(88,157,201,.46)!important;box-shadow:var(--ops-shadow)}
/* Driver KPI cards: deep corporate colours */
.stats .stat:nth-child(4n+1),.grid>.card:nth-child(5n+1){background:linear-gradient(135deg,#0b4f8a,#1677b8)!important;color:#fff!important}
.stats .stat:nth-child(4n+2),.grid>.card:nth-child(5n+2){background:linear-gradient(135deg,#075e54,#087565)!important;color:#fff!important}
.stats .stat:nth-child(4n+3),.grid>.card:nth-child(5n+3){background:linear-gradient(135deg,#754500,#985800)!important;color:#fff!important}
.stats .stat:nth-child(4n+4),.grid>.card:nth-child(5n+4){background:linear-gradient(135deg,#49348f,#7254d4)!important;color:#fff!important}
.grid>.card:nth-child(5n+5){background:linear-gradient(135deg,#08636d,#0b8b97)!important;color:#fff!important}
.stats .stat .muted,.grid>.card .k{color:#dff3ff!important}.stats .stat strong,.grid>.card .v{color:#fff!important}
/* branded headings */
h1,h2,.portal-title,.section-title{color:#78caff!important;text-shadow:0 1px 0 rgba(0,0,0,.18)}
.top h1,.top h2,.portal-top h1,.portal-top h2{color:#fff!important}
/* WTD page: remove the separate white/purple product look */
body .top{padding-top:15px;padding-bottom:15px}
body .wrap{background:transparent!important}
.card{background:rgba(15,43,62,.94)!important;color:#eef8ff!important}
.table table{color:#eef8ff}.table th,.table td{border-bottom-color:#31556d!important}.note,.k,.muted{color:#9fc5dd!important}
.warn{background:rgba(108,68,5,.82)!important;border-color:#c98926!important;color:#fff!important}
/* form controls */
input,select,textarea{background:#0a1f2e!important;color:#eef8ff!important;border-color:#35576d!important}
input::placeholder,textarea::placeholder{color:#89a9bd!important}
/* Theme switch */
#opsPortalThemeToggle{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid rgba(126,204,255,.32);border-radius:8px;padding:8px 11px;background:#123c59;color:#fff;font-weight:700;cursor:pointer;font:inherit;margin-left:8px;vertical-align:middle}
#opsPortalThemeToggle:hover{background:#176fb7}
/* LIGHT THEME */
html[data-ops-portal-theme="light"]{background:#eef6fc}
html[data-ops-portal-theme="light"] body{color:#10283a!important}
html[data-ops-portal-theme="light"] body:before{background:linear-gradient(145deg,#f7fbff 0%,#e8f4fc 34%,#cfe7f7 67%,#eef7fc 100%)}
html[data-ops-portal-theme="light"] body:after{background:radial-gradient(circle at 50% 8%,rgba(23,111,183,.10),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.18),rgba(220,239,250,.25))}
html[data-ops-portal-theme="light"] .top,html[data-ops-portal-theme="light"] .portal-top,html[data-ops-portal-theme="light"] .cp-top,html[data-ops-portal-theme="light"] header.portal-header{background:linear-gradient(90deg,#0b4f8a,#176fb7)!important;color:#fff!important}
html[data-ops-portal-theme="light"] .job,html[data-ops-portal-theme="light"] .filters,html[data-ops-portal-theme="light"] .card,html[data-ops-portal-theme="light"] .panel,html[data-ops-portal-theme="light"] .box,html[data-ops-portal-theme="light"] .portal-card,html[data-ops-portal-theme="light"] .quote-card,html[data-ops-portal-theme="light"] .booking-card,html[data-ops-portal-theme="light"] .summary-card{background:rgba(255,255,255,.92)!important;color:#10283a!important;border-color:#b8d5e8!important;box-shadow:0 8px 24px rgba(31,79,111,.12)}
html[data-ops-portal-theme="light"] .stats .stat,html[data-ops-portal-theme="light"] .grid>.card{color:#fff!important}
html[data-ops-portal-theme="light"] .stats .stat .muted,html[data-ops-portal-theme="light"] .grid>.card .k{color:#e8f7ff!important}
html[data-ops-portal-theme="light"] .muted,html[data-ops-portal-theme="light"] .note{color:#54738a!important}
html[data-ops-portal-theme="light"] input,html[data-ops-portal-theme="light"] select,html[data-ops-portal-theme="light"] textarea{background:#fff!important;color:#10283a!important;border-color:#abc8dc!important}
html[data-ops-portal-theme="light"] input::placeholder,html[data-ops-portal-theme="light"] textarea::placeholder{color:#71879a!important}
html[data-ops-portal-theme="light"] .table table{color:#10283a!important}html[data-ops-portal-theme="light"] .table th,html[data-ops-portal-theme="light"] .table td{border-bottom-color:#d5e4ee!important}
html[data-ops-portal-theme="light"] .warn{background:#fff5df!important;border-color:#efc267!important;color:#513500!important}
html[data-ops-portal-theme="light"] #opsPortalThemeToggle{background:#fff;color:#10283a;border-color:#b8d5e8}
@media(max-width:760px){#opsPortalThemeToggle{padding:7px 9px;margin:6px 0 0 6px}.top{flex-wrap:wrap;gap:8px}}

/* DRIVER PORTAL HEADER REPAIR — one consistent professional header on every page */
.ops-driver-header{
  min-height:60px!important;
  padding:10px 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  flex-wrap:nowrap!important;
  background:linear-gradient(90deg,#0b4f8a,#176fb7)!important;
}
.ops-driver-brand{
  flex:0 0 auto!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.ops-driver-menu{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
.ops-driver-menu a{
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:7px 11px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.ops-driver-menu a:hover{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.35)!important}
.ops-driver-menu #opsPortalThemeToggle{
  order:20!important;
  margin:0 0 0 3px!important;
  min-height:36px!important;
  padding:7px 11px!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#10283a!important;
  border:1px solid rgba(255,255,255,.75)!important;
  font-size:14px!important;
}
.ops-page-heading{margin:0 0 18px!important;padding:0!important}
.ops-page-heading h1{margin:0 0 5px!important;font-size:26px!important;color:#78caff!important}
@media(max-width:1100px){
 .ops-driver-header{align-items:flex-start!important;flex-wrap:wrap!important;padding:10px 18px!important}
 .ops-driver-menu{width:100%!important;margin-left:0!important;justify-content:flex-start!important}
}
@media(max-width:700px){
 .ops-driver-header{position:relative!important;padding:10px 12px!important;gap:8px!important}
 .ops-driver-brand{font-size:15px!important}
 .ops-driver-menu{gap:5px!important}
 .ops-driver-menu a{font-size:12px!important;padding:7px 8px!important;min-height:34px!important}
 .ops-driver-menu #opsPortalThemeToggle{margin:0!important;font-size:12px!important;min-height:34px!important}
}

/* DRIVER PORTAL READABILITY REPAIR — preserve layout/logic, improve contrast */
/* Chat message bubbles always use readable white text on their deep backgrounds. */
.messages .bubble,
.messages .bubble > div:not(.who):not(.time){color:#f7fbff!important}
.messages .bubble .who{color:#bfe7ff!important}
.messages .bubble .time{color:#a9cee3!important}

/* Status / alert pills need explicit foreground colours in both themes. */
.status,.badge{color:#f7fbff!important}

/* Dark-theme operational secondary text. */
.meta,.results,.field label,.time{color:#b8d5e8!important}
.open{color:#73d0ff!important}

/* Light theme: headings and secondary copy must remain legible on pale surfaces. */
html[data-ops-portal-theme="light"] h1,
html[data-ops-portal-theme="light"] h2,
html[data-ops-portal-theme="light"] .portal-title,
html[data-ops-portal-theme="light"] .section-title,
html[data-ops-portal-theme="light"] .ops-page-heading h1{color:#0b67a3!important;text-shadow:none!important}
html[data-ops-portal-theme="light"] .hello h1{color:#0b67a3!important}
html[data-ops-portal-theme="light"] .muted,
html[data-ops-portal-theme="light"] .note,
html[data-ops-portal-theme="light"] .meta,
html[data-ops-portal-theme="light"] .results,
html[data-ops-portal-theme="light"] .field label,
html[data-ops-portal-theme="light"] .time{color:#46677e!important}
html[data-ops-portal-theme="light"] .open{color:#0872ad!important}
html[data-ops-portal-theme="light"] .status{background:#0c526f!important;border-color:#176f91!important;color:#fff!important}
html[data-ops-portal-theme="light"] .badge{color:#fff!important}
html[data-ops-portal-theme="light"] .messages .bubble,
html[data-ops-portal-theme="light"] .messages .bubble > div:not(.who):not(.time){color:#f7fbff!important}
html[data-ops-portal-theme="light"] .messages .bubble .who{color:#bfe7ff!important}
html[data-ops-portal-theme="light"] .messages .bubble .time{color:#a9cee3!important}

/* DRIVER HOURS / WTD — NO DATA pill contrast repair */
.status.NO\ DATA .badge,
.status.NO\\\ DATA .badge,
.card.status .badge{
  background:#176fb7!important;
  border:1px solid #58b9f0!important;
  color:#ffffff!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-shadow:none!important;
}
html[data-ops-portal-theme="light"] .status.NO\ DATA .badge,
html[data-ops-portal-theme="light"] .status.NO\\\ DATA .badge,
html[data-ops-portal-theme="light"] .card.status .badge{
  background:#176fb7!important;
  border-color:#0b5f9c!important;
  color:#ffffff!important;
}

/* DRIVER HOURS / WTD — threshold guidance readability repair */
.card.status .note{
  color:#e9f7ff!important;
  opacity:1!important;
  font-weight:500!important;
  text-shadow:none!important;
}
html[data-ops-portal-theme="light"] .card.status .note{
  color:#e9f7ff!important;
  opacity:1!important;
}


/* CUSTOMER PORTAL — match Driver Portal corporate header/menu and gradient theme */
.ops-customer-header{
 min-height:60px!important;padding:10px 28px!important;display:flex!important;align-items:center!important;
 justify-content:space-between!important;gap:20px!important;flex-wrap:nowrap!important;
 background:linear-gradient(90deg,#0b4f8a,#176fb7)!important;border-bottom:1px solid #2e6d99!important;
 box-shadow:0 4px 16px rgba(0,0,0,.18)!important;color:#fff!important;
}
.ops-customer-brand{flex:0 0 auto!important;color:#fff!important;font-size:16px!important;font-weight:800!important;white-space:nowrap!important}
.ops-customer-menu{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important}
.ops-customer-menu a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:7px 11px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:7px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;text-decoration:none!important;font-size:14px!important;font-weight:600!important;line-height:1.15!important;white-space:nowrap!important}
.ops-customer-menu a:hover{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.35)!important}
.ops-customer-menu #opsPortalThemeToggle{order:20!important;margin:0 0 0 3px!important;min-height:36px!important;padding:7px 11px!important;border-radius:7px!important;background:#fff!important;color:#10283a!important;border:1px solid rgba(255,255,255,.75)!important;font-size:14px!important}
/* Old per-page top bar becomes a clean page heading, not a second header. */
.ops-customer-header + main > .top{background:transparent!important;border:0!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
.ops-customer-header + main > .top > a.b.a[href*="logout"]{display:none!important}
.ops-customer-header + main > .nav{display:none!important}
/* Customer KPI cards retain deep brand colours and readable text. */
.ops-customer-header + main .g > .c:nth-child(3n+1){background:linear-gradient(135deg,#0b4f8a,#1677b8)!important;color:#fff!important}
.ops-customer-header + main .g > .c:nth-child(3n+2){background:linear-gradient(135deg,#075e54,#087565)!important;color:#fff!important}
.ops-customer-header + main .g > .c:nth-child(3n+3){background:linear-gradient(135deg,#49348f,#7254d4)!important;color:#fff!important}
.ops-customer-header + main .g > .c h1,.ops-customer-header + main .g > .c h2,.ops-customer-header + main .g > .c .m{color:#fff!important;text-shadow:none!important}
/* Text visibility across customer tables/forms/cards. */
html[data-ops-portal-theme="dark"] .ops-customer-header + main .c{background:rgba(15,43,62,.95)!important;color:#eef8ff!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main th,html[data-ops-portal-theme="dark"] .ops-customer-header + main td{color:#eef8ff!important;border-bottom-color:#31556d!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main .m{color:#b8d5e8!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .c{background:rgba(255,255,255,.94)!important;color:#10283a!important;border-color:#b8d5e8!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main th,html[data-ops-portal-theme="light"] .ops-customer-header + main td{color:#10283a!important;border-bottom-color:#d5e4ee!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .m{color:#46677e!important}
@media(max-width:1100px){.ops-customer-header{align-items:flex-start!important;flex-wrap:wrap!important;padding:10px 18px!important}.ops-customer-menu{width:100%!important;margin-left:0!important;justify-content:flex-start!important}}
@media(max-width:700px){.ops-customer-header{padding:10px 12px!important;gap:8px!important}.ops-customer-brand{font-size:15px!important}.ops-customer-menu{gap:5px!important}.ops-customer-menu a{font-size:12px!important;padding:7px 8px!important;min-height:34px!important}.ops-customer-menu #opsPortalThemeToggle{margin:0!important;font-size:12px!important;min-height:34px!important}}

/* Customer Portal legibility repair — scoped to customer pages only. */
html[data-ops-portal-theme="light"] .ops-customer-header + main label,
html[data-ops-portal-theme="light"] .ops-customer-header + main .field label,
html[data-ops-portal-theme="light"] .ops-customer-header + main .ops-sector-box label{color:#173b55!important;opacity:1!important;text-shadow:none!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .ops-sector-box{background:#e6f1f9!important;border:1px solid #9fc5dd!important;color:#15364e!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .ops-sector-box h3{color:#075c96!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .c .m,
html[data-ops-portal-theme="light"] .ops-customer-header + main .c .src{color:#34566d!important;opacity:1!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .c th{background:#dcebf5!important;color:#15364e!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .c td{background:transparent!important;color:#15364e!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .c tr:nth-child(even) td{background:#f0f6fb!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .pill{background:#12577f!important;color:#fff!important;border:1px solid #0d476b!important;font-weight:700!important;opacity:1!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .g > .c .m,
html[data-ops-portal-theme="light"] .ops-customer-header + main .g > .c .src,
html[data-ops-portal-theme="light"] .ops-customer-header + main .g > .c strong,
html[data-ops-portal-theme="light"] .ops-customer-header + main .g > .c h2{color:#fff!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .ops-address-option{background:#fff!important;color:#122e43!important}
html[data-ops-portal-theme="light"] .ops-customer-header + main .ops-address-option:hover{background:#dcefff!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main label{color:#e4f4ff!important;opacity:1!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main .ops-sector-box{background:#123b56!important;color:#f1f8ff!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main .ops-sector-box h3{color:#b3e5ff!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main .pill{background:#11648c!important;color:#fff!important;font-weight:700!important;opacity:1!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main .c td{color:#edf8ff!important;opacity:1!important}
html[data-ops-portal-theme="dark"] .ops-customer-header + main .c th{color:#fff!important}
/* Autocomplete stays above form elements and remains readable. */
.ops-customer-header + main .ops-address-wrap{overflow:visible!important}
.ops-customer-header + main .ops-address-results{z-index:150!important}

/* CUSTOMER PORTAL — global wide responsive workspace */
body:has(.ops-customer-header) main,
.ops-customer-header + main{
  width:94%!important;
  max-width:1560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.ops-customer-header + main .table,
.ops-customer-header + main .table-wrap,
.ops-customer-header + main .table-responsive{
  width:100%!important;
  max-width:none!important;
  overflow-x:auto!important;
}
.ops-customer-header + main table{width:100%!important;max-width:none!important}
@media(min-width:900px){
  .ops-customer-header + main table th,
  .ops-customer-header + main table td{white-space:nowrap!important}
}
@media(max-width:899px){
  body:has(.ops-customer-header) main,
  .ops-customer-header + main{width:calc(100% - 24px)!important;max-width:none!important}
  .ops-customer-header + main table{min-width:760px!important}
}

/* OPS PRO SUITE unified professional portal login */
.ops-login-page{margin:0;min-height:100vh;font-family:Arial,Helvetica,sans-serif;color:#eaf5ff;background:radial-gradient(circle at 50% 8%,#174f79 0,#0b2b47 30%,#061522 67%,#030b12 100%);display:flex;align-items:center;justify-content:center;padding:28px;position:relative;overflow-x:hidden}
.ops-login-page:before{content:"";position:fixed;inset:0;background:linear-gradient(115deg,rgba(0,130,220,.12),transparent 38%,rgba(0,0,0,.26));pointer-events:none}
.ops-login-shell{position:relative;z-index:2;width:min(94vw,520px)}
.ops-login-brand{display:flex;align-items:center;gap:13px;margin:0 0 14px 4px}.ops-login-mark{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#1596ed,#07538e);box-shadow:0 9px 25px rgba(0,0,0,.28);font-size:15px;font-weight:900;color:#fff;letter-spacing:.5px}.ops-login-brandcopy{display:flex;flex-direction:column}.ops-login-brandcopy strong{font-size:19px;letter-spacing:.4px;color:#fff}.ops-login-brandcopy span{font-size:12px;color:#a8c7dc;margin-top:3px}
.ops-login-card{background:linear-gradient(145deg,rgba(9,31,49,.985),rgba(5,18,30,.99));border:1px solid rgba(83,157,207,.52);border-radius:20px;padding:34px 36px 28px;box-shadow:0 28px 70px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.05)}
.ops-login-kicker{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#6ec6ff;margin-bottom:10px}.ops-login-card h1{margin:0;color:#fff;font-size:30px;line-height:1.15}.ops-login-sub{margin:8px 0 25px;color:#b8ccda;font-size:14px;line-height:1.5}
.ops-login-form label{display:block;color:#e7f3fb;font-size:13px;font-weight:800;margin:15px 0 7px}.ops-login-input{height:50px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #9bc4df;border-radius:10px;padding:0 12px;box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}.ops-login-input>span{color:#176ca6;font-size:13px}.ops-login-input input{min-width:0;flex:1;height:46px;border:0!important;outline:0!important;background:transparent!important;color:#10283b!important;font-size:15px;padding:0!important;margin:0!important;box-shadow:none!important}.ops-login-input input::placeholder{color:#748b9b}.ops-password-toggle{border:0;background:transparent;color:#0c69a7;font-weight:800;cursor:pointer;padding:7px;font-size:12px}
.ops-login-submit{width:100%;border:0;border-radius:10px;padding:14px 18px;margin-top:22px;background:linear-gradient(135deg,#1596ed,#0875c7);color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(0,105,180,.3)}.ops-login-submit:hover{filter:brightness(1.07)}
.ops-login-security{text-align:center;color:#9fb8c9;font-size:12px;margin-top:18px}.ops-login-security span{color:#42b883;margin-right:4px}.ops-login-foot{text-align:center;color:#6f94ad;font-size:11px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(120,174,210,.16)}.ops-login-alert{padding:11px 13px;border-radius:9px;margin:0 0 16px;font-size:13px}.ops-login-alert.error{background:#54252b;border:1px solid #9c4751;color:#ffe9ec}.ops-login-alert.success{background:#153f32;border:1px solid #328267;color:#e6fff5}
body.ops-light.ops-login-page,body[data-theme="light"].ops-login-page{background:radial-gradient(circle at 50% 8%,#d7edfb 0,#c5e2f5 34%,#eaf4fa 72%,#f4f9fc 100%);color:#17364d}.ops-light .ops-login-brandcopy strong,[data-theme="light"] .ops-login-brandcopy strong{color:#0c5f98}.ops-light .ops-login-brandcopy span,[data-theme="light"] .ops-login-brandcopy span{color:#54758b}.ops-light .ops-login-card,[data-theme="light"] .ops-login-card{background:rgba(255,255,255,.96);border-color:#b8d4e6;box-shadow:0 24px 60px rgba(30,73,101,.18)}.ops-light .ops-login-card h1,[data-theme="light"] .ops-login-card h1{color:#0c659f}.ops-light .ops-login-sub,[data-theme="light"] .ops-login-sub{color:#557387}.ops-light .ops-login-form label,[data-theme="light"] .ops-login-form label{color:#244a64}.ops-light .ops-login-security,[data-theme="light"] .ops-login-security{color:#5d7a8e}.ops-light .ops-login-foot,[data-theme="light"] .ops-login-foot{color:#7290a4;border-top-color:#d8e7f0}
@media(max-width:600px){.ops-login-page{padding:18px}.ops-login-shell{width:100%}.ops-login-card{padding:27px 22px 23px;border-radius:17px}.ops-login-card h1{font-size:27px}.ops-login-brand{margin-left:2px}.ops-login-brandcopy span{display:none}}


/* PORTAL LOGIN BRAND VISIBILITY + TRUE LIGHT/DARK THEME */
.ops-login-brand{align-items:center!important;gap:18px!important;margin:0 0 18px 2px!important}
.ops-login-logo{display:block!important;width:142px!important;height:64px!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.28))!important}
.ops-login-brandcopy strong{font-size:28px!important;line-height:1!important;letter-spacing:.7px!important;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.35)!important}
.ops-login-brandcopy span{display:block!important;font-size:12px!important;line-height:1.25!important;letter-spacing:1.35px!important;font-weight:800!important;color:#9ed8ff!important;margin-top:7px!important}
.ops-login-page #opsPortalThemeToggle{position:fixed!important;top:22px!important;right:24px!important;z-index:50!important;margin:0!important;min-width:112px!important;justify-content:center!important;box-shadow:0 8px 24px rgba(0,0,0,.25)!important}

/* Explicit DARK login state */
html[data-ops-portal-theme="dark"] body.ops-login-page{background:radial-gradient(circle at 50% 8%,#174f79 0,#0b2b47 30%,#061522 67%,#030b12 100%)!important;color:#eaf5ff!important}
html[data-ops-portal-theme="dark"] .ops-login-card{background:linear-gradient(145deg,rgba(9,31,49,.985),rgba(5,18,30,.99))!important;border-color:rgba(83,157,207,.52)!important}
html[data-ops-portal-theme="dark"] .ops-login-brandcopy strong{color:#fff!important}
html[data-ops-portal-theme="dark"] .ops-login-brandcopy span{color:#9ed8ff!important}
html[data-ops-portal-theme="dark"] .ops-login-card h1{color:#31a9f4!important}
html[data-ops-portal-theme="dark"] .ops-login-sub{color:#c6d9e7!important}
html[data-ops-portal-theme="dark"] .ops-login-form label{color:#f2f8fc!important}
html[data-ops-portal-theme="dark"] .ops-login-security{color:#b8ccda!important}
html[data-ops-portal-theme="dark"] .ops-login-foot{color:#8fb2c9!important}

/* Explicit LIGHT login state — visually different, not merely a button label */
html[data-ops-portal-theme="light"] body.ops-login-page{background:radial-gradient(circle at 50% 8%,#ffffff 0,#e9f5fd 31%,#cce7f8 67%,#edf7fc 100%)!important;color:#17364d!important}
html[data-ops-portal-theme="light"] body.ops-login-page:before{background:linear-gradient(115deg,rgba(19,127,201,.06),transparent 45%,rgba(255,255,255,.24))!important}
html[data-ops-portal-theme="light"] .ops-login-card{background:rgba(255,255,255,.97)!important;border:1px solid #9fc8e2!important;box-shadow:0 26px 65px rgba(35,88,124,.20)!important}
html[data-ops-portal-theme="light"] .ops-login-brandcopy strong{color:#075f9b!important;text-shadow:none!important}
html[data-ops-portal-theme="light"] .ops-login-brandcopy span{color:#326d93!important}
html[data-ops-portal-theme="light"] .ops-login-kicker{color:#0874ba!important}
html[data-ops-portal-theme="light"] .ops-login-card h1{color:#075f9b!important}
html[data-ops-portal-theme="light"] .ops-login-sub{color:#466b83!important}
html[data-ops-portal-theme="light"] .ops-login-form label{color:#173f5a!important}
html[data-ops-portal-theme="light"] .ops-login-security{color:#476b82!important}
html[data-ops-portal-theme="light"] .ops-login-foot{color:#5d8199!important;border-top-color:#d2e5f1!important}
html[data-ops-portal-theme="light"] .ops-login-page #opsPortalThemeToggle{background:#0b5f9f!important;color:#fff!important;border-color:#0b5f9f!important}
@media(max-width:600px){
 .ops-login-logo{width:104px!important;height:50px!important}
 .ops-login-brandcopy strong{font-size:21px!important}
 .ops-login-brandcopy span{display:block!important;font-size:9px!important;letter-spacing:.8px!important}
 .ops-login-page #opsPortalThemeToggle{top:12px!important;right:12px!important;min-width:92px!important}
}

/* OPS 26 October: keep form text paired with its surface in both themes. */
html[data-ops-portal-theme="light"] .wrap>.stat,
html[data-ops-portal-theme="light"] #ops-gps-panel{background:#fff!important;color:#10283a!important;border-color:#abc8dc!important}
html[data-ops-portal-theme="light"] #ops-gps-panel strong,
html[data-ops-portal-theme="light"] #ops-gps-panel p,
html[data-ops-portal-theme="light"] #ops-gps-panel label{color:#17364c!important}
html[data-ops-portal-theme="dark"] #ops-gps-panel{background:#122b3d!important;color:#edf7ff!important}
html[data-ops-portal-theme="dark"] #ops-gps-panel strong,
html[data-ops-portal-theme="dark"] #ops-gps-panel p,
html[data-ops-portal-theme="dark"] #ops-gps-panel label{color:#edf7ff!important}
html[data-ops-portal-theme="light"] .field label,
html[data-ops-portal-theme="light"] .filters label{color:#36546a!important}
html[data-ops-portal-theme="dark"] .field label,
html[data-ops-portal-theme="dark"] .filters label{color:#c7e1f2!important}
html[data-ops-portal-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html[data-ops-portal-theme="light"] select,
html[data-ops-portal-theme="light"] textarea{background:#fff!important;color:#10283a!important;-webkit-text-fill-color:#10283a!important;caret-color:#10283a; color-scheme:light}
html[data-ops-portal-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html[data-ops-portal-theme="dark"] select,
html[data-ops-portal-theme="dark"] textarea{background:#0a1f2e!important;color:#eef8ff!important;-webkit-text-fill-color:#eef8ff!important;caret-color:#eef8ff; color-scheme:dark}
html[data-ops-portal-theme="light"] select option{background:#fff;color:#10283a}
html[data-ops-portal-theme="dark"] select option{background:#0a1f2e;color:#eef8ff}
html[data-ops-portal-theme] input:disabled,html[data-ops-portal-theme] select:disabled,html[data-ops-portal-theme] textarea:disabled{opacity:1;border-style:dashed}
html[data-ops-portal-theme="light"] input::placeholder,html[data-ops-portal-theme="light"] textarea::placeholder{color:#536b82!important;-webkit-text-fill-color:#536b82!important;opacity:1}
html[data-ops-portal-theme="dark"] input::placeholder,html[data-ops-portal-theme="dark"] textarea::placeholder{color:#b1cddd!important;-webkit-text-fill-color:#b1cddd!important;opacity:1}
