:root{color-scheme:light dark;--bg0: #0b1a2b;--bg1: #12263d;--bg2: #1a3552;--text: #e8f1ff;--muted: #9bb0c9;--accent: #3d8bfd;--accent-2: #5eead4;--danger: #ff6b6b;--ok: #6ee7b7;--radius: 16px;--font: "Segoe UI", "Trebuchet MS", "Gill Sans", sans-serif;--display: "Trebuchet MS", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#1e3a5f 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#0f3d4a 0%,transparent 50%),linear-gradient(165deg,var(--bg0),var(--bg1) 45%,#0a1522);color:var(--text)}.screen{min-height:100dvh;display:flex;flex-direction:column;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));max-width:480px;margin:0 auto}.center{align-items:center;justify-content:center;text-align:center}.login{justify-content:center}.login-card{background:color-mix(in srgb,var(--bg2) 80%,transparent);border:1px solid color-mix(in srgb,#fff 12%,transparent);border-radius:var(--radius);padding:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-family:var(--display);font-size:1.75rem;font-weight:700;letter-spacing:.04em;margin:0 0 .25rem;color:var(--accent-2)}.login-card h1{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}label{display:flex;flex-direction:column;gap:.35rem;margin:.85rem 0;font-size:.9rem;color:var(--muted)}input,select{font:inherit;padding:.85rem 1rem;border-radius:12px;border:1px solid color-mix(in srgb,#fff 18%,transparent);background:color-mix(in srgb,#000 35%,var(--bg1));color:var(--text)}.btn{font:inherit;border:none;border-radius:14px;padding:.95rem 1.1rem;cursor:pointer;width:100%;min-height:52px;font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--accent),#2563eb);color:#fff}.btn.primary.huge{min-height:64px;font-size:1.15rem}.btn.secondary{background:color-mix(in srgb,#fff 10%,transparent);color:var(--text);border:1px solid color-mix(in srgb,#fff 16%,transparent);margin-top:.65rem}.btn.ghost{background:transparent;color:var(--muted);border:1px solid color-mix(in srgb,#fff 14%,transparent)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.topbar-main{min-width:0;flex:1}.topbar-status-line{display:flex;align-items:center;gap:.55rem}.app-version{margin:0;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.03em}.state-pill{margin:0;display:inline-block;padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--accent-2) 18%,transparent);color:var(--accent-2);font-size:.85rem;font-weight:600}.route-line{margin:.4rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .45rem;line-height:1.25}.route-name{margin:0;font-size:1.05rem;font-weight:600}.route-sep{color:var(--muted)}.work-date{color:var(--muted);font-size:.9rem;font-weight:500}.icon-btn{background:color-mix(in srgb,#fff 8%,transparent);border:1px solid color-mix(in srgb,#fff 12%,transparent);color:var(--text);width:44px;height:44px;border-radius:12px;font-size:1.25rem}.menu-panel{background:var(--bg2);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;border:1px solid color-mix(in srgb,#fff 10%,transparent)}.menu-btn:disabled{opacity:.5;cursor:not-allowed}.undo-toast{display:flex;flex-direction:column;gap:.55rem;background:var(--bg2);border:1px solid color-mix(in srgb,#fff 14%,transparent);border-radius:var(--radius);padding:.75rem .85rem .55rem;margin-bottom:.75rem;overflow:hidden}.undo-toast-row{display:flex;align-items:flex-start;gap:.5rem}.undo-toast-text{flex:1;margin:0;font-size:.9rem;line-height:1.35;min-width:0;overflow-wrap:anywhere}.undo-toast-text strong{font-weight:700}.undo-toast-action{width:100%;min-height:44px;border:1px solid color-mix(in srgb,var(--accent-2) 45%,transparent);background:color-mix(in srgb,var(--accent-2) 16%,transparent);color:var(--text);border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.undo-toast-action:disabled{opacity:.5;cursor:not-allowed}.undo-toast-close{border:none;background:transparent;color:var(--muted);font-size:1.35rem;line-height:1;padding:0 .15rem;cursor:pointer;flex-shrink:0}.undo-toast-progress{height:3px;margin:.15rem -.85rem -.55rem;background:color-mix(in srgb,#fff 8%,transparent);overflow:hidden}.undo-toast-progress-fill{height:100%;width:100%;transform-origin:left center;background:var(--accent-2);animation-name:undo-toast-drain;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes undo-toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.shift-main{flex:1}.actions{position:sticky;bottom:0;padding-top:1rem;background:linear-gradient(transparent,var(--bg0) 30%)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.status-ok{color:var(--ok)}.gps-msg{color:var(--danger);font-size:.9rem}.meta{color:var(--muted)}.route-picker,.trip-info,.done-box{background:color-mix(in srgb,var(--bg2) 70%,transparent);border-radius:var(--radius);padding:1rem;margin:.75rem 0;border:1px solid color-mix(in srgb,#fff 8%,transparent)}.dest-title{margin:0 0 .65rem;font-weight:600;font-size:.95rem}.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.dest-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-height:3.4rem;padding:.7rem .75rem;border-radius:12px;border:1px solid color-mix(in srgb,#fff 14%,transparent);background:color-mix(in srgb,var(--bg1) 80%,transparent);color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.dest-btn:disabled{opacity:.55}.dest-btn-selected{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 18%,var(--bg2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-2) 40%,transparent)}.dest-btn-home{grid-column:1 / -1}.dest-btn-name{font-weight:650;font-size:.95rem;line-height:1.2}.dest-btn-meta{font-size:.75rem;color:var(--muted)}.next-stage{font-style:italic;opacity:.85}.warehouse-meta{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.btn.compact{min-height:44px;padding:.55rem .85rem;font-size:.9rem}.menu-link{display:block;color:var(--accent-2);text-decoration:none;font-weight:600;padding:.65rem 0;border:none;background:none;font-family:inherit;font-size:inherit;text-align:left;width:100%;cursor:pointer}.back-link{color:var(--accent-2);text-decoration:none;font-weight:600}.brand-inline{margin:0;font-weight:700;color:var(--accent-2)}.location-page{gap:.8rem}.location-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.location-header h1{margin:.2rem 0 0;font-size:1.15rem}.vehicle-map-wrap{height:min(50dvh,420px);min-height:300px;overflow:hidden;border-radius:var(--radius);border:1px solid color-mix(in srgb,#fff 14%,transparent);background:var(--bg2)}.vehicle-map{width:100%;height:100%;border:0;display:block}.location-card{background:color-mix(in srgb,var(--bg2) 78%,transparent);border:1px solid color-mix(in srgb,#fff 10%,transparent);border-radius:var(--radius);padding:1rem}.location-empty{text-align:center;padding:2rem 1rem}.location-status-row{display:flex;align-items:center;gap:.55rem}.location-dot{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 15%,transparent)}.location-dot.stale{background:#fbbf24;box-shadow:0 0 0 4px color-mix(in srgb,#fbbf24 15%,transparent)}.location-time{margin:.45rem 0 .8rem;color:var(--muted);font-size:.85rem}.location-details{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0 0 .8rem}.location-details div{background:color-mix(in srgb,#000 18%,transparent);border-radius:10px;padding:.65rem}.location-details dt{color:var(--muted);font-size:.75rem}.location-details dd{margin:.2rem 0 0;font-weight:600;font-size:.9rem}.map-external-link{color:var(--accent-2);text-decoration:none;font-weight:600;font-size:.9rem}.tracker-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tracker-card p{margin:.25rem 0 0}.tracker-toggle{flex:0 0 auto;width:54px;height:31px;border:0;border-radius:999px;padding:3px;background:color-mix(in srgb,#fff 18%,transparent);cursor:pointer;transition:background .16s ease}.tracker-toggle span{display:block;width:25px;height:25px;border-radius:50%;background:#fff;transform:translate(0);transition:transform .16s ease}.tracker-toggle.on{background:var(--accent)}.tracker-toggle.on span{transform:translate(23px)}.location-note{margin:.1rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.location-error{margin:0;padding:.75rem;background:color-mix(in srgb,var(--danger) 12%,transparent);border-radius:12px}.vehicle-select-label{margin:0}.device-card p{margin:.45rem 0 0;line-height:1.45}.device-status-title{display:flex;align-items:center;gap:.55rem}.device-pair-button{margin-top:.85rem}.calendar .cal-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.5rem 0 1rem}.cal-title{margin:0;font-size:1.1rem;text-transform:capitalize;text-align:center;flex:1}.cal-month-average{display:grid;gap:.15rem;margin-bottom:1rem;padding:.75rem .9rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,transparent)}.cal-month-average strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.35rem;text-align:center;color:var(--muted);font-size:.75rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.cal-cell{aspect-ratio:1;border:none;border-radius:12px;background:color-mix(in srgb,#fff 6%,transparent);color:var(--text);position:relative;font:inherit;padding:.25rem}.cal-cell.empty{background:transparent}.cal-num{font-size:.85rem;font-weight:600}.cal-badge{position:absolute;right:4px;bottom:4px;font-size:.65rem;opacity:.9}.cal-green{background:color-mix(in srgb,#22c55e 35%,transparent)}.cal-green-active{background:color-mix(in srgb,#22c55e 55%,transparent);box-shadow:inset 0 0 0 2px #86efac}.cal-yellow{background:color-mix(in srgb,#eab308 40%,transparent)}.cal-red{background:color-mix(in srgb,#ef4444 35%,transparent)}.cal-gray{background:color-mix(in srgb,#fff 6%,transparent);opacity:.7}.cal-legend{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem;align-items:center}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:.2rem}.dot.green{background:#22c55e}.dot.green-active{background:#86efac}.dot.yellow{background:#eab308}.dot.red{background:#ef4444}.dot.gray{background:#64748b}.day-detail{margin-top:1rem;padding:1rem;border-radius:var(--radius);background:color-mix(in srgb,var(--bg2) 80%,transparent);border:1px solid color-mix(in srgb,#fff 10%,transparent)}.day-detail h2{margin:0 0 .5rem;font-size:1rem}.day-detail-range{margin-left:.35rem;color:var(--muted);font-variant-numeric:tabular-nums}.shift-card{padding:.65rem 0;border-top:1px solid color-mix(in srgb,#fff 8%,transparent)}.shift-card-range{margin:0 0 .25rem;font-weight:650}.presence-total{margin:0 0 .75rem;font-weight:700}.btn.danger-ghost{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);margin-top:.35rem}.cal-events{list-style:none;margin:.5rem 0 0;padding:0}.cal-event{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.88rem}.cal-event.voided{opacity:.55;text-decoration:line-through}.cal-event-main{flex:1}.cal-event-time{color:var(--muted);font-variant-numeric:tabular-nums}.gps-panel{margin:.75rem 0;padding:1rem;border-radius:var(--radius);background:color-mix(in srgb,#0ea5e9 12%,var(--bg2));border:1px solid color-mix(in srgb,#38bdf8 35%,transparent)}.gps-panel-title{margin:0 0 .35rem;font-weight:700}.gps-fail{margin-top:.65rem}.gps-diag{margin-top:.75rem;color:var(--muted)}.gps-diag ul{margin:.35rem 0 0;padding-left:1.1rem}.eta-hero{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(800px 500px at 50% 30%,#1a4a5c 0%,transparent 60%),linear-gradient(165deg,#0b1a2b,#12263d 50%,#0a1522);animation:eta-hero-in .45s ease-out}.eta-hero-label{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--muted)}.eta-hero-time{margin:.35rem 0;font-family:var(--display);font-size:clamp(3.5rem,18vw,5.5rem);font-weight:700;line-height:1;color:var(--accent-2);animation:eta-time-pop .55s ease-out .15s both}.eta-hero-dest{margin:.5rem 0 0;font-size:1.15rem;font-weight:600}.eta-hero-meta,.eta-hero-basis{margin:.35rem 0 0;color:var(--muted);text-align:center;max-width:22rem}.eta-compact{margin:0 0 1rem;padding:.9rem 1rem;border-radius:var(--radius);background:color-mix(in srgb,var(--accent-2) 10%,var(--bg2));border:1px solid color-mix(in srgb,var(--accent-2) 28%,transparent);transition:opacity .35s ease,transform .45s ease}.eta-compact-hidden{opacity:0;transform:translateY(12px);pointer-events:none}.eta-compact-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.eta-compact-label{margin:0;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.eta-compact-time{margin:.1rem 0 0;font-family:var(--display);font-size:2.1rem;font-weight:700;line-height:1;color:var(--accent-2);animation:eta-digit .35s ease}.eta-remaining{margin:0;font-weight:600;text-align:right}.eta-compact-right{text-align:right}.eta-progress{position:relative;margin:.85rem 0 .4rem;height:8px;border-radius:999px;background:color-mix(in srgb,#fff 10%,transparent);overflow:visible}.eta-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2a6f8f,var(--accent-2));transition:width .6s ease}.eta-progress-marker{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;margin-top:-7px;border-radius:50%;background:var(--text);border:2px solid var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 25%,transparent);transition:left .6s ease}.eta-basis{margin:0}.shift-summary-hero .summary-date{font-size:clamp(2.4rem,12vw,3.6rem)}.summary-stats{display:grid;grid-template-columns:1fr;gap:.75rem;width:min(22rem,100%);margin:1.25rem 0 1rem}.summary-stat{display:flex;flex-direction:column;align-items:center;padding:.65rem .75rem;border-radius:12px;background:color-mix(in srgb,#fff 8%,transparent)}.summary-stat-value{font-family:var(--display);font-size:1.45rem;font-weight:700;color:var(--accent-2)}.summary-stat-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.summary-routes{list-style:none;margin:0 0 1.25rem;padding:0;text-align:center;color:var(--muted);font-size:.9rem}.summary-routes li{margin:.2rem 0}.shift-summary-hero .btn.primary{min-width:10rem}@keyframes eta-hero-in{0%{opacity:0}to{opacity:1}}@keyframes eta-time-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes eta-digit{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.eta-hero,.eta-hero-time,.eta-compact-time,.eta-progress-fill,.eta-progress-marker,.eta-compact,.opp-hero,.arrival-hero{animation:none!important;transition:none!important}}.opp-banner{margin:.75rem 0;padding:1rem 1rem .85rem;border-radius:var(--radius);background:linear-gradient(145deg,color-mix(in srgb,#f59e0b 22%,var(--bg2)),var(--bg2));border:1px solid color-mix(in srgb,#fbbf24 45%,transparent);overflow:hidden}.opp-approach{background:color-mix(in srgb,#38bdf8 14%,var(--bg2));border-color:color-mix(in srgb,#38bdf8 40%,transparent)}.opp-active.opp-enter{animation:opp-pop .55s ease-out}.opp-over,.opp-band-critical{border-color:color-mix(in srgb,var(--danger) 55%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--danger) 28%,var(--bg2)),var(--bg2))}.opp-band-warn{border-color:color-mix(in srgb,#f59e0b 55%,transparent);background:linear-gradient(145deg,color-mix(in srgb,#f59e0b 22%,var(--bg2)),var(--bg2))}.opp-eyebrow{margin:0;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.opp-title{margin:.2rem 0 .65rem;font-family:var(--display);font-size:1.25rem;font-weight:800}.opp-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-bottom:.65rem}.opp-stat-label{margin:0;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.opp-stat-value{margin:.1rem 0 0;font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.opp-stat-value.warn,.opp-stat-value.band-warn{color:#fbbf24}.opp-stat-value.band-critical{color:var(--danger)}.opp-unit{font-size:.75rem;font-weight:600;color:var(--muted)}.opp-progress{height:6px;border-radius:999px;background:color-mix(in srgb,#fff 10%,transparent);overflow:hidden}.opp-progress-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);transition:width .35s linear}.opp-band-warn .opp-progress-fill{background:linear-gradient(90deg,#fcd34d,#f59e0b)}.opp-over .opp-progress-fill,.opp-band-critical .opp-progress-fill{background:linear-gradient(90deg,#fb7185,var(--danger))}.opp-meta{margin:.45rem 0 0}@keyframes opp-pop{0%{opacity:0;transform:translateY(12px) scale(.96)}60%{opacity:1;transform:translateY(-2px) scale(1.02)}to{opacity:1;transform:none}}.arrival-prompt{margin:.75rem 0;padding:1rem;border-radius:var(--radius);background:color-mix(in srgb,var(--ok) 12%,var(--bg2));border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}.arrival-prompt.arrival-ready{animation:opp-pop .45s ease-out;border-color:color-mix(in srgb,var(--ok) 55%,transparent)}.arrival-eyebrow{margin:0;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.arrival-title{margin:.25rem 0 .35rem;font-weight:800;font-size:1.15rem}.arrival-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.arrival-prompt .btn.primary,.arrival-prompt .arrival-reject-btn{width:100%}.arrival-confirm-btn{position:relative;overflow:hidden;isolation:isolate;animation:arrival-confirm-pulse 1.4s ease-in-out infinite}.arrival-confirm-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--arrival-progress, 0) * 100%);background:color-mix(in srgb,#fff 22%,transparent);pointer-events:none;z-index:0;transition:width .08s linear}.arrival-confirm-label{position:relative;z-index:1}.arrival-reject-btn{font-weight:600}@keyframes arrival-confirm-pulse{0%,to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--ok) 45%,transparent)}50%{transform:scale(1.02);box-shadow:0 0 0 8px color-mix(in srgb,var(--ok) 0%,transparent)}}@media (prefers-reduced-motion: reduce){.arrival-confirm-btn{animation:none}}.opp-compact-hidden,.arrival-compact-hidden{opacity:0;pointer-events:none;max-height:0;margin:0;padding-top:0;padding-bottom:0;overflow:hidden;border:none}.opp-hero .opp-hero-limit{color:#fbbf24}.opp-hero-live{gap:.35rem}.opp-hero-live.opp-hero-pop{animation:eta-hero-in .45s ease-out,opp-live-pulse .7s ease-out}.opp-hero-live.opp-band-ok{background:radial-gradient(800px 500px at 50% 30%,#0f3d2e 0%,transparent 60%),linear-gradient(165deg,#0b1a2b,#12263d 50%,#0a1522)}.opp-hero-live.opp-band-warn{background:radial-gradient(800px 500px at 50% 30%,#5c3d12 0%,transparent 60%),linear-gradient(165deg,#1a1408,#2a1f0c 50%,#120e06)}.opp-hero-live.opp-band-critical,.opp-hero-live.opp-hero-over{background:radial-gradient(800px 500px at 50% 30%,#5c1a2a 0%,transparent 60%),linear-gradient(165deg,#0b1a2b,#12263d 50%,#0a1522)}.opp-hero-name{margin-top:.15rem!important;font-size:1.05rem!important}.opp-hero-avg-block{text-align:center;margin:.5rem 0 .75rem}.opp-hero-avg-label{margin:0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.opp-hero-avg{margin:.1rem 0!important;color:var(--accent-2)}.opp-hero-avg.band-ok{color:var(--ok)}.opp-hero-avg.band-warn,.opp-hero-avg.warn{color:#fbbf24}.opp-hero-avg.band-critical{color:var(--danger)}.opp-band-hint{margin:.35rem 0 0;font-size:.85rem;font-weight:600;color:var(--muted)}.opp-hero-avg-unit{margin:0;font-size:1rem;color:var(--muted);font-weight:600}.opp-hero-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;width:min(100%,22rem);margin:.5rem 0 1rem}.opp-hero-chip{flex:1 1 5.5rem;min-width:5rem;padding:.55rem .65rem;border-radius:12px;background:color-mix(in srgb,#fff 8%,transparent);border:1px solid color-mix(in srgb,#fff 12%,transparent);text-align:center}.opp-hero-chip-label{display:block;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.opp-hero-chip-value{display:block;margin-top:.2rem;font-weight:800;font-variant-numeric:tabular-nums;font-size:1.05rem}.opp-hero-progress-wrap{width:min(100%,22rem)}.opp-hero-progress{height:10px;border-radius:999px;background:color-mix(in srgb,#fff 12%,transparent);overflow:hidden}.opp-hero-progress-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);transition:width .4s linear}.opp-band-warn .opp-hero-progress-fill{background:linear-gradient(90deg,#fcd34d,#f59e0b)}.opp-band-critical .opp-hero-progress-fill,.opp-hero-over .opp-hero-progress-fill{background:linear-gradient(90deg,#fb7185,var(--danger))}.opp-exit-dismiss{margin-top:.75rem}.opp-exit-progress{height:6px}.opp-exit-progress-fill{background:color-mix(in srgb,#fff 45%,transparent)!important;transition:none}.opp-exit-close{width:100%;margin-top:.75rem;border-color:color-mix(in srgb,#fff 28%,transparent)}.opp-hero-progress-meta{margin:.4rem 0 0;text-align:center;font-size:.85rem;color:var(--muted)}.opp-route-action{margin-top:.8rem;border-color:color-mix(in srgb,var(--accent-2) 42%,transparent)}.opp-expand{float:right;border:none;background:transparent;color:var(--accent-2);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;padding:0}@keyframes opp-live-pulse{0%{transform:scale(.98)}40%{transform:scale(1.01)}to{transform:none}}.arrival-hero .arrival-hero-name,.arrival-confirmed-hero .arrival-hero-name{color:var(--ok);font-size:clamp(3rem,16vw,4.5rem)}.arrival-confirmed-hero{background:radial-gradient(800px 500px at 50% 28%,#0f3d2e 0%,transparent 58%),linear-gradient(165deg,#0b1a2b,#12263d 50%,#0a1522)}.arrival-confirmed-progress-wrap{width:min(100%,18rem);margin-top:1.25rem}.arrival-confirmed-progress{height:6px;border-radius:999px;background:color-mix(in srgb,#fff 14%,transparent);overflow:hidden}.arrival-confirmed-progress-fill{height:100%;width:calc(var(--arrival-confirmed-progress, 0) * 100%);background:linear-gradient(90deg,#6ee7b7,#34d399);transition:none}.demo-chip{margin:.35rem 0 0;padding:.35rem .6rem;border-radius:8px;background:color-mix(in srgb,#fbbf24 18%,transparent);border:1px dashed color-mix(in srgb,#fbbf24 50%,transparent)}
