.demo-onboarding{background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);min-height:100vh;font-family:var(--font-grotesk), system-ui, -apple-system, sans-serif;flex-direction:column;display:flex}.onboarding-header{border-bottom:1px solid var(--border);background:var(--bg-card);padding:24px 0}.onboarding-header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1180px;margin:0 auto;padding:0 24px;display:flex}.onboarding-intro{text-align:center;max-width:600px;margin:0 auto 20px}.onboarding-intro h2{color:var(--text-primary);margin-bottom:12px;font-size:2rem;font-weight:700}.onboarding-intro p{color:var(--text-secondary);font-size:1rem;line-height:1.7}.step-label{color:var(--text-primary);margin-bottom:16px;font-size:1rem;font-weight:600}.route-industry{color:var(--gold);white-space:nowrap;background:#c9a22714;border-radius:999px;padding:4px 10px;font-size:.8rem}.logo-container{align-items:center;gap:12px;display:flex}.logo-container svg{width:24px;height:24px;color:var(--gold);flex-shrink:0}.logo-container h1{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700}.btn-site-back{border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .25s}.btn-site-back:hover{border-color:var(--gold);color:var(--gold);background:#c9a2270d}.onboarding-content{flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.onboarding-container{flex-direction:column;gap:48px;width:100%;max-width:900px;display:flex}.onboarding-section{animation:.6s cubic-bezier(.16,1,.3,1) fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.demo-onboarding .section-header{margin-bottom:28px}.demo-onboarding .section-header h2{color:var(--text-primary);margin:0 0 8px;font-size:1.8rem;font-weight:700}.demo-onboarding .section-header p{color:var(--text-secondary);margin:0;font-size:1.05rem}.industry-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.industry-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.industry-card:hover{border-color:var(--gold);box-shadow:var(--shadow-gold);transform:translateY(-4px)}.industry-card.selected{border-color:var(--gold);box-shadow:var(--shadow-gold);background:linear-gradient(135deg,#c9a22714,#c9a2270a)}.industry-icon{border-radius:var(--radius-md);width:56px;height:56px;color:var(--gold);background:#c9a2271a;border:1px solid #c9a22733;justify-content:center;align-items:center;transition:all .3s;display:flex}.industry-card:hover .industry-icon{background:#c9a22726;border-color:#c9a22759}.industry-card.selected .industry-icon{border-color:var(--gold);color:var(--gold);background:#c9a22733}.industry-icon svg{width:28px;height:28px;color:inherit;display:block}.industry-card h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.industry-card p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.selected-badge{background:var(--gold);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;animation:.3s scaleIn;display:flex;position:absolute;top:12px;right:12px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.route-list{flex-direction:column;gap:12px;display:flex}.route-item{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:20px 24px;transition:all .3s;display:flex;position:relative}.route-item:hover{border-color:var(--gold);box-shadow:var(--shadow-md);transform:translate(4px)}.route-item.selected{border-color:var(--gold);box-shadow:var(--shadow-gold);background:linear-gradient(135deg,#c9a22714,#c9a2270a)}.route-header{flex:1;justify-content:space-between;align-items:center;gap:16px;display:flex}.route-header h4{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.route-distance{color:var(--text-secondary);white-space:nowrap;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:6px 12px;font-size:.85rem}.route-item.selected .route-distance{color:var(--gold);background:#c9a22726;font-weight:600}.route-selected-indicator{background:var(--gold);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;animation:.3s scaleIn;display:flex}.route-selected-indicator svg{width:16px;height:16px}.onboarding-action{background:linear-gradient(135deg, var(--gold-glow), #c9a22714);border:1px solid var(--gold-light);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:16px;padding:40px;animation:.6s cubic-bezier(.16,1,.3,1) .2s both fadeInUp;display:flex}.btn-launch{background:var(--gold);border-radius:var(--radius-md);color:#0d0d0b;cursor:pointer;box-shadow:var(--shadow-gold);border:none;align-items:center;gap:10px;padding:16px 40px;font-size:1rem;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-launch:hover{background:var(--gold-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-launch:active{transform:translateY(0)}.btn-launch svg{width:16px;height:16px}.action-hint{color:var(--text-secondary);margin:0;font-size:.9rem}.onboarding-hint{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 40px;display:flex}.onboarding-hint svg{opacity:.3}.onboarding-hint p{margin:0;font-size:1rem}@media (max-width:768px){.onboarding-content{padding:40px 16px}.onboarding-container{gap:32px}.header-content{flex-direction:column;justify-content:center;padding:0 16px}.logo-container h1{font-size:1.1rem}.demo-onboarding .section-header h2{font-size:1.4rem}.industry-grid{grid-template-columns:repeat(2,1fr);gap:16px}.industry-card{gap:12px;padding:24px 16px}.industry-icon{width:48px;height:48px}.industry-card h3{font-size:.95rem}.industry-card p{font-size:.8rem}.route-item{padding:16px}.route-header{flex-direction:column;align-items:flex-start;gap:8px}.onboarding-action{padding:24px}.btn-launch{justify-content:center;width:100%}}@media (max-width:480px){.onboarding-content{padding:24px 12px}.onboarding-container{gap:24px}.logo-container{gap:8px}.logo-container svg{width:20px;height:20px}.logo-container h1{font-size:1rem}.btn-site-back{padding:8px 16px;font-size:.8rem}.demo-onboarding .section-header h2{font-size:1.2rem}.demo-onboarding .section-header p{font-size:.9rem}.industry-grid{grid-template-columns:1fr}.industry-card{padding:20px 16px}.route-list{gap:10px}.route-item{padding:14px}.route-header h4{font-size:.95rem}.route-distance{padding:4px 8px;font-size:.8rem}.onboarding-action{gap:12px;padding:20px 16px}.btn-launch{padding:14px 24px;font-size:.95rem}.action-hint{font-size:.8rem}}.dark .onboarding-header{background:#181816;border-bottom-color:#2a2a27}.dark .industry-card{background:#1e1e1c;border-color:#333330}.dark .industry-card:hover{border-color:var(--gold)}.dark .industry-card.selected{border-color:var(--gold);background:#c9a22714}.dark .industry-card h3,.dark .industry-card h4{color:#eaeae5}.dark .industry-card p{color:#a0a09a}.dark .industry-icon{color:var(--gold);background:#c9a2271a;border-color:#c9a22740}.dark .industry-card.selected .industry-icon{background:#c9a22733}.dark .route-item{background:#1e1e1c;border-color:#333330}.dark .route-item:hover{border-color:var(--gold)}.dark .route-item.selected{border-color:var(--gold);background:#c9a22714}.dark .route-header h4{color:#eaeae5}.dark .route-distance{color:#a0a09a;background:#2a2a27}.dark .route-item.selected .route-distance{color:var(--gold);background:#c9a22726}.dark .btn-site-back{color:#eaeae5;border-color:#333330}.dark .btn-site-back:hover{border-color:var(--gold);color:var(--gold)}.dark .onboarding-intro h2{color:#eaeae5}.dark .onboarding-intro p{color:#a0a09a}.dark .step-label{color:#eaeae5}.dark .onboarding-action{background:#c9a2270f;border-color:#c9a22733}.dark .action-hint{color:#8a8a85}
.sensor-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.sensor-card:hover{background:var(--bg-elevated);border-color:var(--gold);box-shadow:0 0 12px #c9a2271a}.sensor-card.expanded{grid-column:1/-1;align-items:flex-start;min-height:120px;padding:16px}.sensor-icon{border-radius:var(--radius-sm);background:var(--bg-secondary);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sensor-icon svg{width:20px;height:20px}.sensor-content{flex:1;min-width:0}.sensor-value{color:var(--text-primary);align-items:baseline;gap:4px;font-size:1.1rem;font-weight:600;display:flex}.sensor-unit{color:var(--text-secondary);font-size:.75rem;font-weight:500}.sensor-label{color:var(--text-muted);margin-top:2px;font-size:.8rem}.sensor-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.sensor-status-dot.critical{animation:1.5s ease-in-out infinite pulse-critical}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.4}}.sensor-detail{flex-direction:column;flex:1;gap:8px;animation:.3s cubic-bezier(.16,1,.3,1) expandIn;display:flex}@keyframes expandIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sensor-detail-value{color:var(--text-primary);align-items:baseline;gap:6px;font-size:1.6rem;font-weight:700;display:flex}.sensor-detail-unit{color:var(--text-secondary);font-size:.9rem;font-weight:500}.sensor-detail-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.sensor-detail-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.sensor-detail-status{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.sensor-chart{margin-top:4px}.sparkline{width:100%;height:48px;display:block}.sensor-chart-labels{color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono), monospace;justify-content:space-between;margin-top:2px;display:flex}.sensor-detail-hint{color:var(--text-muted);margin-top:2px;font-size:.7rem}
.risk-gauge-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.risk-gauge-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.risk-gauge{width:140px;height:140px;transform:rotate(-90deg)}.gauge-bg{fill:none;stroke:var(--border);stroke-width:6px}.gauge-fill{fill:none;stroke-width:6px;stroke-linecap:round;stroke-dasharray:282.74;stroke-dashoffset:282.74px;transition:stroke .3s,stroke-dashoffset .6s cubic-bezier(.16,1,.3,1)}.risk-gauge-value{align-items:baseline;gap:4px;display:flex}.risk-number{color:var(--text-primary);font-size:3.2rem;font-weight:700;line-height:1}.risk-percent{color:var(--text-muted);margin-bottom:4px;font-size:1.2rem}.risk-gauge-status{justify-content:center;gap:8px;display:flex}.risk-label-text{background:var(--bg-secondary);border-radius:var(--radius-sm);color:#4ade80;text-transform:uppercase;letter-spacing:.03em;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-block}.risk-label-text.warning{color:#facc15}.risk-label-text.critical{color:#f87171}
.alert-feed{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;height:100%;display:flex;overflow:hidden}.alert-feed-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.alert-feed-header h3{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:600}.alert-count{min-width:24px;height:24px;color:var(--gold);background:#c9a22726;border-radius:12px;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}.alert-feed-list{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.alert-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.alert-item{background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid #4ade80;gap:12px;padding:12px;transition:background .2s;display:flex}.alert-item:hover{background:var(--bg-elevated)}.alert-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.alert-content{flex:1;min-width:0}.alert-time{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono), monospace;margin-bottom:4px}.alert-message{color:var(--text-primary);word-break:break-word;font-size:.85rem;line-height:1.4}.alert-feed-list::-webkit-scrollbar{width:4px}.alert-feed-list::-webkit-scrollbar-track{background:0 0}.alert-feed-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.alert-feed-list::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}
.evidence-log{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;height:100%;display:flex;overflow:hidden}.evidence-log-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.evidence-log-header h3{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:600}.evidence-count{min-width:24px;height:24px;color:var(--gold);background:#c9a22726;border-radius:12px;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}.evidence-log-list{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.evidence-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.evidence-item{background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--gold);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;transition:all .3s cubic-bezier(.16,1,.3,1);display:grid}.evidence-item:hover{background:var(--bg-elevated)}.evidence-item.expanded{grid-template-columns:auto 1fr auto;align-items:flex-start;gap:12px;padding:16px}.evidence-block-num{background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:8px;display:flex}.block-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem;font-weight:600}.block-number{color:var(--gold);font-size:.85rem;font-weight:700;font-family:var(--font-mono), monospace}.evidence-content{flex:1;min-width:0}.evidence-time{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono), monospace;margin-bottom:4px}.evidence-hash-container{align-items:baseline;gap:6px;font-size:.8rem;display:flex}.evidence-hash-label{color:var(--text-secondary);flex-shrink:0}.evidence-hash{font-family:var(--font-mono), monospace;color:var(--gold);background:var(--bg-primary);letter-spacing:.02em;border-radius:3px;padding:3px 6px;font-size:.75rem}.evidence-status{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.evidence-checkmark{animation:.3s checkmark-appear}@keyframes checkmark-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.evidence-pending{animation:2s ease-in-out infinite pulse}.evidence-log-list::-webkit-scrollbar{width:4px}.evidence-log-list::-webkit-scrollbar-track{background:0 0}.evidence-log-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.evidence-log-list::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}.evidence-detail{flex-direction:column;flex:1;gap:10px;animation:.3s cubic-bezier(.16,1,.3,1) expandIn;display:flex}@keyframes expandIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.evidence-detail-row{flex-direction:column;gap:4px;display:flex}.evidence-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.evidence-detail-value{color:var(--text-primary);font-size:.8rem;font-family:var(--font-mono), monospace;word-break:break-all}.evidence-detail-prev{color:var(--gold)}.evidence-detail-hint{color:var(--text-muted);margin-top:4px;font-size:.7rem;font-style:italic}
.demo-dashboard{background:var(--bg-primary);height:100vh;color:var(--text-primary);font-family:var(--font-grotesk), system-ui, -apple-system, sans-serif;flex-direction:column;display:flex;overflow:hidden}.dashboard-topbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;height:64px;padding:16px 24px;display:flex}.topbar-left{flex:none;align-items:center;gap:24px;display:flex}.logo-section{align-items:center;gap:8px;display:flex}.logo-section svg{color:var(--gold)}.logo-text{color:var(--text-primary);font-size:.9rem;font-weight:600}.route-info{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.route-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.route-name{color:var(--gold);font-size:.85rem;font-weight:600}.topbar-center{flex:1;min-width:200px}.progress-container{align-items:center;gap:12px;display:flex}.progress-label{color:var(--text-secondary);text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:600}.progress-bar{background:var(--border);border-radius:2px;flex:1;min-width:80px;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--gold), var(--gold-light));border-radius:2px;height:100%;transition:width .3s}.progress-percent{color:var(--gold);white-space:nowrap;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.topbar-right{flex:none}.btn-back{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:0 0;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.btn-back:hover{border-color:var(--gold);color:var(--gold);background:#c9a2271a}.dashboard-main{background:var(--border);flex:1;gap:1px;display:flex;overflow:hidden}.dashboard-left{background:var(--bg-primary);border-right:1px solid var(--border);flex-direction:column;flex:1;display:flex}.demo-map{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);border:1px solid var(--border);flex:1;justify-content:center;align-items:center;display:flex}.shipment-marker{width:20px;height:20px;position:relative}.marker-dot{background:var(--gold);border:2px solid var(--bg-primary);z-index:2;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.marker-pulse{z-index:1;background:#c9a2274d;border-radius:50%;width:28px;height:28px;animation:2s ease-out infinite markerPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes markerPulse{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}.map-coords{font-family:var(--font-mono), monospace;color:var(--gold);margin-top:8px;font-size:.8rem}.topbar-logo{object-fit:contain;width:24px;height:24px}.map-placeholder{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.map-placeholder svg{opacity:.4}.dashboard-right{background:var(--bg-primary);flex-direction:column;flex:0 0 380px;display:flex;overflow:hidden}.panel-tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;gap:0;padding:0;display:flex}.tab-button{color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;flex:1;padding:12px 16px;font-size:.8rem;font-weight:600;transition:all .2s;position:relative}.tab-button:hover{color:var(--text-primary);background:#c9a2270d}.tab-button.active{color:var(--gold)}.tab-button.active:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:0;left:0;right:0}.panel-content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.sensors-section{flex-direction:column;flex:1;display:flex}.sensors-grid{auto-rows:max-content;grid-template-columns:1fr 1fr;gap:10px;display:grid}.risk-section{flex-direction:column;flex:1;gap:16px;display:flex}.evidence-section{flex-direction:column;flex:1;display:flex}.dashboard-bottombar{background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:12px 24px;display:flex;overflow-x:auto}.incident-label{text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.incident-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.incident-btn svg{width:16px;height:16px;color:var(--gold)}.incident-btn:hover{border-color:var(--gold);color:var(--gold);background:#c9a2271a}.incident-btn:active{transform:scale(.95)}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:0 0}.panel-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}.journey-complete-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.journey-complete-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:420px;padding:48px 40px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 20px 80px #0006}@keyframes slideUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.journey-complete-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 16px;font-size:2rem;font-weight:700}.journey-complete-summary{color:var(--text-secondary);margin:0 0 24px;font-size:1rem;line-height:1.6}.journey-complete-risk{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:12px;margin-bottom:28px;padding:20px;display:flex}.journey-complete-risk-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.journey-complete-risk-value{color:var(--gold);font-size:1.8rem;font-weight:700}.journey-complete-actions{flex-direction:column;gap:12px;display:flex}.btn-run-again{background:var(--gold);border-radius:var(--radius-md);color:#0d0d0b;cursor:pointer;box-shadow:var(--shadow-gold);border:none;padding:14px 28px;font-size:.95rem;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-run-again:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 12px 40px #c9a22740}.btn-run-again:active{transform:translateY(0)}.btn-back-to-site{border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:0 0;padding:14px 28px;font-size:.95rem;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-back-to-site:hover{border-color:var(--gold);color:var(--gold);background:#c9a2270d}.btn-back-to-site:active{transform:scale(.98)}.aoi-zone-strip{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:10px 20px;display:flex}.zone-strip-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em;font-size:.7rem;font-weight:600}.zone-strip-name{color:var(--gold);font-size:.85rem;font-weight:600;font-family:var(--font-mono), monospace}.zone-strip-type{text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:2px 8px;font-size:.65rem;font-weight:700}.zone-type-perimeter{color:#f87171;background:#f8717126}.zone-type-interior{color:#60a5fa;background:#60a5fa26}.zone-type-exterior{color:#fbbf24;background:#fbbf2426}.zones-panel{flex-direction:column;gap:10px;display:flex}.zones-panel-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.zones-panel-header h4{color:var(--text-primary);margin:0;font-size:.85rem;font-weight:700}.zones-count{font-size:.7rem;font-family:var(--font-mono), monospace;color:var(--gold);font-weight:600}.zone-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:12px 14px;transition:all .25s;display:flex}.zone-card-active{border-color:var(--gold);background:#c9a2270f;box-shadow:0 0 12px #c9a2271a}.zone-card-header{align-items:center;gap:10px;display:flex}.zone-card-name{color:var(--text-primary);font-size:.8rem;font-weight:600}.zone-card-type{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:1px 6px;font-size:.6rem;font-weight:700}.zone-scanning{font-size:.7rem;font-family:var(--font-mono), monospace;color:var(--gold);font-weight:600;animation:1.2s ease-in-out infinite zonePulseText}@keyframes zonePulseText{0%,to{opacity:1}50%{opacity:.4}}.zone-clear{font-size:.7rem;font-family:var(--font-mono), monospace;color:#4ade80;font-weight:600}.zone-pending{font-size:.7rem;font-family:var(--font-mono), monospace;color:var(--text-muted)}.aoi-facility-fallback{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:400px;display:flex}.facility-svg{width:100%;height:auto}.facility-label{font-size:.75rem;font-family:var(--font-mono), monospace;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.zone-marker{cursor:pointer;flex-direction:column;align-items:center;gap:2px;display:flex}.zone-marker-ring{background:#c9a2271a;border:2px solid #c9a22780;border-radius:50%;width:24px;height:24px;transition:all .3s}.zone-active .zone-marker-ring{background:#c9a2274d;border-color:#c9a227;box-shadow:0 0 16px #c9a22766}.zone-marker-label{font-size:9px;font-family:var(--font-mono), monospace;color:#c9a227;white-space:nowrap;text-shadow:0 1px 3px #000c;font-weight:600}.scan-marker{width:16px;height:16px;position:relative}.scan-dot{border:2px solid var(--bg-primary);z-index:2;background:#4ade80;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-pulse{z-index:1;background:#4ade804d;border-radius:50%;width:24px;height:24px;animation:1.5s ease-out infinite scanPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes scanPulse{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(2.5)}}.greenlane-panel{flex-direction:column;gap:14px;display:flex}.greenlane-panel-header{justify-content:space-between;align-items:center;display:flex}.greenlane-panel-header h4{color:var(--text-primary);margin:0;font-size:.85rem;font-weight:700}.greenlane-verdict{font-size:.65rem;font-family:var(--font-mono), monospace;letter-spacing:.08em;border-radius:3px;padding:3px 10px;font-weight:700}.verdict-pending{color:var(--gold);background:#c9a22726}.verdict-cleared{color:#4ade80;background:#4ade8026}.verdict-flagged{color:#f87171;background:#f8717126}.greenlane-progress-summary{color:var(--text-secondary);align-items:center;gap:12px;font-size:.8rem;display:flex}.flagged-count{color:#f87171;font-weight:600}.greenlane-checkpoints{flex-direction:column;gap:6px;display:flex}.checkpoint-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px 12px;transition:all .25s;display:flex}.checkpoint-passed{border-color:#4ade804d}.checkpoint-flagged{background:#f871710a;border-color:#f871714d}.checkpoint-indicator{flex:0 0 20px;justify-content:center;align-items:center;display:flex}.checkpoint-pending-dot{background:var(--border);border-radius:50%;width:8px;height:8px}.checkpoint-info{flex:1;justify-content:space-between;align-items:center;gap:8px;display:flex}.checkpoint-label{color:var(--text-primary);font-size:.8rem}.checkpoint-pending .checkpoint-label{color:var(--text-muted)}.checkpoint-progress{font-size:.7rem;font-family:var(--font-mono), monospace;color:var(--text-muted)}.greenlane-final-assessment{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-top:4px;padding:14px 16px;display:flex}.assessment-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;font-size:.75rem;font-weight:600}.assessment-result{font-size:.75rem;font-family:var(--font-mono), monospace;letter-spacing:.06em;font-weight:700}.result-cleared{color:#4ade80}.result-secondary{color:#f87171}.greenlane-clearance-result,.aoi-summary-result{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border);margin:0 0 20px;padding:16px 20px}.clearance-status,.aoi-status{font-family:var(--font-mono), monospace;letter-spacing:.08em;margin-bottom:8px;font-size:.85rem;font-weight:700;display:block}.clearance-detail{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}@media (max-width:1024px){.dashboard-right{flex:0 0 320px}.sensors-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-main{flex-direction:column-reverse}.dashboard-left{border-right:none;border-top:1px solid var(--border);flex:0 0 40vh}.dashboard-right{flex:1}.topbar-center{display:none}.topbar-left{flex:1;gap:12px}.logo-text{display:none}.topbar-right{font-size:.75rem}.btn-back{padding:6px 12px}.route-info{flex:1}.progress-label,.progress-percent,.incident-label{display:none}.dashboard-bottombar{scroll-behavior:smooth;overflow-x:auto}}@media (max-width:480px){.dashboard-topbar{gap:12px;height:auto;padding:12px 16px}.logo-section svg{width:16px;height:16px}.route-info{padding:6px 8px;font-size:.7rem}.incident-btn{padding:6px 10px;font-size:.7rem}.incident-btn span{display:none}.panel-tabs{gap:0}.tab-button{padding:10px 12px;font-size:.7rem}.panel-content{gap:12px;padding:12px}}.dark .dashboard-topbar,.dark .panel-tabs,.dark .dashboard-bottombar{background:#181816}.dark .incident-btn{color:#eaeae5;background:#222220;border-color:#3a3a37}.dark .incident-btn:hover{border-color:var(--gold);color:var(--gold);background:#c9a22726}.dark .btn-back{color:#eaeae5;border-color:#3a3a37}.dark .tab-button{color:#a0a09a}.dark .tab-button:hover{color:#eaeae5}.dark .tab-button.active{color:var(--gold)}.dark .route-info{background:#222220;border-color:#3a3a37}.dark .logo-text{color:#eaeae5}.dark .progress-label{color:#a0a09a}
