/* ===========================================================================
   WWS RE LEUCHTET v3.17.4 · LIVE NEON OPS (real interactive DOM components)
   Corrected contrast: every employee information surface DARK; clear light text.
   No layout screenshot is used as a background. Hero photography is decorative.
   Only employee night mode is affected; admin and light-mode unchanged.
   =========================================================================== */
html[data-theme="dark"] .night-ops{
 --ops-base:#060c15;--ops-surface:#0c1726;--ops-raised:#101d2e;--ops-border:#465c74;
 --ops-white:#f7faff;--ops-muted:#c6d5ea;--ops-hot:#ff355a;
 background:transparent!important;color:var(--ops-white)!important;
 line-height:1.5;max-width:920px;
}
html[data-theme="dark"] .app-shell:has(.night-ops){background:#060c15!important;color:#f7faff;}
html[data-theme="dark"] .app-shell:has(.night-ops) .topbar{background:#091322!important;box-shadow:0 0 22px #ff1d4631;border-bottom-color:#ff486b7d!important;}
html[data-theme="dark"] .night-ops .ops-nav-icon{display:inline-flex}
.ops-nav-icon{display:none}
/* Do not allow inherited light backgrounds, pale info cards or light text on them. */
html[data-theme="dark"] .night-ops .route-auto-card,
html[data-theme="dark"] .night-ops .route-auto-note,
html[data-theme="dark"] .night-ops .staff-journey-hint,
html[data-theme="dark"] .night-ops .guided-zero-notice,
html[data-theme="dark"] .night-ops .guided-setup-warning,
html[data-theme="dark"] .night-ops .staff-arrival-scan,
html[data-theme="dark"] .night-ops .staff-map-unknown,
html[data-theme="dark"] .night-ops .route-release-notice,
html[data-theme="dark"] .night-ops .staff-faq-answer,
html[data-theme="dark"] .night-ops .staff-dashboard-empty,
html[data-theme="dark"] .night-ops .staff-quickrules,
html[data-theme="dark"] .night-ops .guided-logpro{
 background:#101d2d!important;background-image:none!important;
 border:1px solid #526984!important;color:#edf3fd!important;
 box-shadow:inset 0 1px #ffffff18,0 12px 24px #0006;
}
html[data-theme="dark"] .night-ops .route-auto-card,
html[data-theme="dark"] .night-ops .route-auto-note {border-color:#ff42658c!important;box-shadow:0 0 0 1px #fa3a5638,0 0 24px #ff214438,inset 0 1px #ff94a51c;}
html[data-theme="dark"] .night-ops .route-auto-card{padding:21px 17px;align-items:center;gap:18px;position:relative;overflow:hidden;margin:19px 0 23px;}
html[data-theme="dark"] .night-ops .route-auto-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,#fe3c5617 100%),repeating-linear-gradient(90deg,transparent 0 62px,#f835490a 62px 63px);}
html[data-theme="dark"] .night-ops .route-auto-icon{width:60px;height:60px;border:1px solid #ff7a90;color:#fff;background:linear-gradient(130deg,#81112f,#d8163e)!important;box-shadow:0 0 22px #ff285c74,inset 0 1px #ffcedd70;font-size:29px;}
html[data-theme="dark"] .night-ops .route-auto-card>div:last-child{min-width:0;position:relative;}
html[data-theme="dark"] .night-ops .route-auto-card h3{color:#fff!important;font-size:clamp(18px,4.8vw,23px);line-height:1.22;font-weight:900;text-shadow:0 0 18px #ff58793b;overflow-wrap:anywhere;}
html[data-theme="dark"] .night-ops .route-auto-card p,
html[data-theme="dark"] .night-ops .route-auto-note,
html[data-theme="dark"] .night-ops .ops-route-prepare>.hint,
html[data-theme="dark"] .night-ops .ops-route-prepare p{color:#e2eaf8!important;font-size:clamp(12px,3.4vw,14px);line-height:1.68;}
html[data-theme="dark"] .night-ops .ops-route-prepare{position:relative;overflow:hidden;padding:clamp(18px,4.5vw,28px)!important;background:linear-gradient(145deg,#0c1625,#0a1120)!important;border:1px solid #f74265b8!important;border-radius:23px;box-shadow:0 0 0 1px #ff285120,0 0 30px #f91b403d,0 14px 35px #0009;}
html[data-theme="dark"] .night-ops .ops-route-prepare:before{content:"";position:absolute;left:10px;right:10px;top:0;height:2px;background:linear-gradient(90deg,transparent,#ff3357,transparent);box-shadow:0 0 17px #fc294e;pointer-events:none;}
html[data-theme="dark"] .night-ops .ops-route-prepare h2{font-size:clamp(20px,5.8vw,31px);line-height:1.27;letter-spacing:-.03em;overflow-wrap:anywhere;}
html[data-theme="dark"] .night-ops .ops-route-prepare .meta-row{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 8px;}
html[data-theme="dark"] .night-ops .ops-route-prepare .meta{padding:11px 13px!important;border-radius:11px!important;background:#14243a!important;color:#fff!important;border:1px solid #60758f!important;font-weight:800;}
html[data-theme="dark"] .night-ops .ops-route-prepare .btn.primary{min-height:62px;font-size:clamp(14px,3.7vw,17px);border:1px solid #ffc1ce!important;box-shadow:0 0 0 1px #ff3d5d70,0 0 35px #fa244e7f,inset 0 1px #fff5;}
/* All employee text has guaranteed contrast on dark panels. */
html[data-theme="dark"] .night-ops .staff-journey-hint *,
html[data-theme="dark"] .night-ops .guided-setup-warning *,
html[data-theme="dark"] .night-ops .staff-arrival-scan *,
html[data-theme="dark"] .night-ops .route-release-notice *,
html[data-theme="dark"] .night-ops .guided-logpro *,
html[data-theme="dark"] .night-ops .guided-zero-notice *{color:#eef4ff;}
html[data-theme="dark"] .night-ops .route-auto-card h3,
html[data-theme="dark"] .night-ops .route-auto-card p{opacity:1;}
html[data-theme="dark"] .night-ops .hint,
html[data-theme="dark"] .night-ops .muted,
html[data-theme="dark"] .night-ops .staff-estimate-footnote,
html[data-theme="dark"] .night-ops .staff-map-caption{color:#d2e0f3!important;}
html[data-theme="dark"] .night-ops .staff-map-panel .staff-location-map,
html[data-theme="dark"] .night-ops .staff-map-panel .leaflet-container{background:#1a2a3c!important;}
/* An actual live dashboard: the content and CTA are the existing app actions. */
html[data-theme="dark"] .night-ops.staff-view-dashboard .welcome-mini{min-height:245px;padding:30px 22px 26px;align-items:flex-end;background:linear-gradient(0deg,#050a13 0%,#060e1ca6 50%,#060f1e42 100%),url('/live-hero.webp') 50% 27%/cover no-repeat!important;border:1px solid #ff46667e!important;box-shadow:0 0 38px #ff1e403d,0 20px 38px #000a;}
html[data-theme="dark"] .night-ops.staff-view-dashboard .welcome-mini h1{font-size:clamp(26px,6.8vw,44px);margin:7px 0 8px;line-height:1.04;}
html[data-theme="dark"] .night-ops.staff-view-dashboard .welcome-mini .eyebrow{color:#ffc2cb!important;}
html[data-theme="dark"] .night-ops .staff-dashboard-hero{min-height:0;padding:21px 20px;background:linear-gradient(140deg,#101e31,#0b1827 70%)!important;border:1px solid #ff43665e;border-radius:20px;box-shadow:0 0 25px #ff315428,0 13px 35px #0008;}
html[data-theme="dark"] .night-ops .staff-dashboard-hero h2 span{color:#ff4c6a;text-shadow:0 0 20px #ff294b66;}
html[data-theme="dark"] .night-ops .staff-dashboard-hero>p{color:#ecf3ff!important;}
html[data-theme="dark"] .night-ops .staff-dashboard-stats{margin-top:17px;}
html[data-theme="dark"] .night-ops .staff-dashboard-stats>div{border:1px solid #4a6077;background:#091626;box-shadow:0 0 16px #f5263b1a;min-width:0;}
html[data-theme="dark"] .night-ops .staff-dashboard-stats span{color:#d4e1f2!important;}
html[data-theme="dark"] .night-ops .staff-dashboard .ops-focus-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;border:1px solid #fa456b;border-radius:22px;background:linear-gradient(125deg,#121729,#0a1726 68%)!important;box-shadow:inset 0 1px #ff8b9b69,0 0 0 1px #fa284b3e,0 0 32px #ff224a66,0 16px 40px #000b;padding:21px;}
html[data-theme="dark"] .night-ops .ops-focus-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 87% 35%,#c80f3840,transparent 55%),repeating-linear-gradient(0deg,transparent 0 34px,#f2223c09 35px 36px);}
html[data-theme="dark"] .night-ops .ops-focus-content{position:relative;z-index:2;}
html[data-theme="dark"] .night-ops .ops-focus-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
html[data-theme="dark"] .night-ops .ops-focus-status{display:inline-flex;gap:7px;align-items:center;padding:6px 10px;border:1px solid #7588a0;background:#192c41;border-radius:999px;font:850 10px system-ui;color:#d6e4f4;letter-spacing:.06em;}
html[data-theme="dark"] .night-ops .ops-focus-status.is-live{color:#9effd1;border-color:#27d996;background:#0e3027;}
html[data-theme="dark"] .night-ops .ops-focus-status span{background:#f2c464;width:8px;height:8px;border-radius:50%;}
html[data-theme="dark"] .night-ops .ops-focus-status.is-live span{background:#25ed9c;box-shadow:0 0 12px #0dffa8;}
html[data-theme="dark"] .night-ops .ops-focus-card h3{font:900 clamp(21px,5.7vw,33px)/1.16 Manrope,system-ui,sans-serif;color:white;max-width:68%;letter-spacing:-.04em;margin:22px 0;overflow-wrap:anywhere;text-shadow:0 2px 12px #000a;}
html[data-theme="dark"] .night-ops .ops-focus-facts{display:flex;align-items:center;gap:9px 15px;flex-wrap:wrap;color:#e9f3ff;font-size:12px;font-weight:750;max-width:66%;}
html[data-theme="dark"] .night-ops .ops-focus-action{margin-top:25px;position:relative;z-index:4;min-height:62px;display:flex;align-items:center;justify-content:center;gap:18px;}
html[data-theme="dark"] .night-ops .ops-focus-action span{font-size:22px;}
html[data-theme="dark"] .night-ops .ops-route-art{position:absolute;right:-21px;top:28px;width:min(46%,250px);filter:drop-shadow(0 0 15px #ff274e);opacity:.92;z-index:0;pointer-events:none;}
html[data-theme="dark"] .night-ops .ops-route-art svg{width:100%;height:auto;}
html[data-theme="dark"] .night-ops .ops-no-route{border:1px solid #5b7188;background:#111c2a;padding:20px;color:#edf4fe;border-radius:15px;font-size:14px;}
html[data-theme="dark"] .night-ops .staff-day-route:hover,html[data-theme="dark"] .night-ops .route-option:hover{border-color:#ff5c7b!important;box-shadow:0 0 20px #ff365138;}
html[data-theme="dark"] .night-ops .staff-dashboard-active .btn.primary{box-shadow:0 0 24px #ff314957;}
/* Real, working five-destination mobile navigation (no fake maps/profile links). */
html[data-theme="dark"] .night-ops .capture-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:5px;background:#0a1422!important;border:1px solid #ff446657!important;}
html[data-theme="dark"] .night-ops .capture-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:clamp(10px,2.7vw,12px);line-height:1.3;min-width:0;min-height:53px;font-weight:750;padding:6px 1px;color:#d7e1ef!important;}
html[data-theme="dark"] .night-ops .capture-nav .ops-nav-icon{font:600 25px/1 system-ui,Arial;}
html[data-theme="dark"] .night-ops .capture-nav button.active{background:#18293e!important;color:#fff!important;box-shadow:inset 0 -3px #fa3257,0 0 16px #ff214939!important;}
html[data-theme="dark"] .night-ops .capture-nav button.active .ops-nav-icon{color:#ff526e;text-shadow:0 0 13px #ff2d57;}
html[data-theme="dark"] .night-ops .staff-route-back .btn.outline{color:#fff!important;background:#152238!important;border:1px solid #5c7796!important;}
html[data-theme="dark"] .night-ops .card h2,html[data-theme="dark"] .night-ops .card h3{color:#fff!important;}
html[data-theme="dark"] .night-ops .card{background:#0b1625!important;border-color:#93415c!important;color:#fff!important;}
html[data-theme="dark"] .night-ops .card .section-title h2{color:#fff!important;}
html[data-theme="dark"] .night-ops .card .btn.outline{color:#f7faff!important;background:#18293d!important;border-color:#647c96!important;}
html[data-theme="dark"] .night-ops .card .route-option{border:1px solid #506985!important;background:#121f30!important;color:#fff!important;}
html[data-theme="dark"] .night-ops .card .route-option small{color:#d5e4f4!important;}
/* Warn colors always pair with appropriate dark contrast, no pastel backgrounds */
html[data-theme="dark"] .night-ops .guided-alert,html[data-theme="dark"] .night-ops .wks-persistent{background:#422719!important;color:#fff0d1!important;border-color:#f6a14a!important;}
html[data-theme="dark"] .night-ops .guided-alert *{color:#fff0d1!important;}
html[data-theme="dark"] .night-ops .staff-check-intro{background:#0d2c28!important;color:#d7ffed!important;}
/* Keyboard/motion/visibility */
html[data-theme="dark"] .night-ops button:focus-visible{outline:3px solid white!important;outline-offset:3px;}
html[data-theme="dark"] .night-ops button:active:not(:disabled){filter:brightness(1.12);}
@media(max-width:600px){
 html[data-theme="dark"] .night-ops{padding-bottom:112px!important;}
 html[data-theme="dark"] .night-ops .capture-nav{position:fixed;z-index:90;left:0;right:0;bottom:0;margin:0!important;border-radius:17px 17px 0 0;border-left:0!important;border-right:0!important;box-shadow:0 -9px 35px #000e,0 -2px 19px #ff22562a;padding:7px 7px max(8px,env(safe-area-inset-bottom));}
 html[data-theme="dark"] .night-ops .capture-nav button{min-height:57px;}
 html[data-theme="dark"] .night-ops .ops-focus-card h3,html[data-theme="dark"] .night-ops .ops-focus-facts{max-width:72%;}
 html[data-theme="dark"] .night-ops .ops-route-prepare .section-title{align-items:flex-start;}
 html[data-theme="dark"] .night-ops .ops-route-prepare .section-title h2{max-width:100%;}
 html[data-theme="dark"] .night-ops .route-auto-card{padding:15px 13px;gap:12px;}
 html[data-theme="dark"] .night-ops .route-auto-icon{width:49px;height:49px;}
}
@media(prefers-reduced-motion:reduce){html[data-theme="dark"] .night-ops .ops-focus-card *{animation:none!important;}}
/* Contrast correction for RFID badge and in-flow help panels from older layouts */
html[data-theme="dark"] .night-ops .logpro-callout .badge-rfid{
 background:#2b1731!important;color:#fff!important;border:1px solid #ff617e!important;
 box-shadow:0 0 17px #ff2d5444;opacity:1;text-shadow:none;font-weight:900;
}
html[data-theme="dark"] .night-ops .guided-logpro b,
html[data-theme="dark"] .night-ops .guided-logpro small{color:#edf4ff!important;opacity:1;}
html[data-theme="dark"] .night-ops .staff-journey-photo-empty,
html[data-theme="dark"] .night-ops .staff-journey-photo-empty *,
html[data-theme="dark"] .night-ops .staff-journey-photo-caption *,
html[data-theme="dark"] .night-ops .staff-map-panel .staff-map-caption{color:#d8e5f7!important;}
html[data-theme="dark"] .night-ops .staff-journey-photo-empty{background:#1a2739!important;}
html[data-theme="dark"] .night-ops .staff-journey-photo-empty>span{color:#ff6a8c!important;}
html[data-theme="dark"] .app-shell:has(.night-ops)~#toast{bottom:100px;}
@media(max-width:600px){body:has(.night-ops) #toast{bottom:calc(91px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:none;text-align:center;}}
@media(max-width:360px){
 html[data-theme="dark"] .night-ops .capture-nav button>span:last-child{font-size:9px;letter-spacing:-.045em;white-space:nowrap;}
 html[data-theme="dark"] .night-ops .capture-nav button{gap:4px;padding:6px 0;}
 html[data-theme="dark"] .night-ops .capture-nav .ops-nav-icon{font-size:22px;}
}
