.so-container{display:flex;flex-direction:column;gap:1rem;width:100%}.so-subnav{display:flex;align-items:center;gap:.35rem;overflow-x:auto;padding:.4rem .2rem;border-bottom:1px solid #e2e8f0;margin-bottom:.75rem;scrollbar-width:thin}.so-subnav-pill{background:transparent;color:#64748b;border:1px solid transparent;border-radius:6px;padding:.4rem .75rem;font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .15s ease-in-out}.so-subnav-pill:hover{background:#f1f5f9;color:#1e293b}.so-subnav-pill.active{background:#0284c7;color:#fff!important;border-color:#0284c7;box-shadow:0 1px 3px #0284c740}.so-badge-count{background:#ef4444;color:#fff;border-radius:999px;font-size:.7rem;padding:1px 6px;font-weight:700}.so-filter-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;align-items:end;background:#fff;border:1px solid #d7dee8;border-radius:8px;padding:.85rem 1rem;box-shadow:0 1px 2px #1e293b0d}.so-live-map-shell{display:flex;flex-direction:column;gap:.85rem}.so-live-map-body{display:flex;align-items:stretch;gap:.85rem;min-height:0}.so-live-map-sidebar{flex:0 0 300px;width:300px;max-height:calc(100vh - 210px);overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.85rem}.so-live-map-sidebar .so-map-side-filters{display:flex;flex-direction:column;gap:.65rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.so-live-map-sidebar .so-filter-group select,.so-live-map-sidebar .so-live-map-side-controls select,.so-live-map-sidebar .so-live-map-side-controls input[type=text],.so-live-map-sidebar .so-live-map-side-controls input[type=date]{width:100%;box-sizing:border-box}.so-live-map-stage{flex:1;min-width:0;position:relative;border-radius:8px;overflow:hidden;border:1px solid #cbd5e1}.so-live-map-stage .so-live-map-canvas{height:calc(100vh - 210px);min-height:520px;width:100%;background:#e2e8f0}.so-filter-group{display:flex;flex-direction:column;gap:.25rem}.so-filter-label{font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.02em}.so-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem;margin-bottom:1rem}.so-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.15rem;display:flex;flex-direction:column;position:relative;box-shadow:0 1px 3px #0000000d;transition:transform .15s ease,box-shadow .15s ease}.so-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.so-kpi-label{font-size:.76rem;color:#64748b;font-weight:700;text-transform:uppercase;margin-bottom:.35rem;display:flex;align-items:center;justify-content:space-between}.so-kpi-value{font-size:1.55rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}.so-kpi-value-split{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;font-size:inherit}.so-kpi-value-split>span{display:flex;flex-direction:column;gap:.1rem;min-width:0}.so-kpi-value-split em{font-size:.68rem;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.so-kpi-value-split b{font-size:1.45rem;font-weight:800;color:#0f172a;line-height:1.1}.so-kpi-subtext{font-size:.78rem;color:#10b981;font-weight:600;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.so-kpi-subtext.negative{color:#ef4444}.so-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto;box-shadow:0 1px 2px #0000000a}.so-table{width:100%;border-collapse:collapse;font-size:.86rem;text-align:left}.so-table th{background:#f8fafc;color:#334155;font-weight:700;padding:.4rem .5rem;border-bottom:2px solid #cbd5e1;font-size:.72rem;white-space:nowrap}.so-table td{padding:.4rem .5rem;border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:.78rem;vertical-align:top;white-space:normal}.so-table button{color:#0f172a}.so-table tbody tr:hover{background:#f8fafc}.so-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.so-badge-planned{background:#f1f5f9;color:#475569}.so-badge-enroute{background:#e0f2fe;color:#0369a1}.so-badge-checkedin{background:#fef3c7;color:#92400e}.so-badge-completed{background:#dcfce7;color:#15803d}.so-badge-warning,.so-badge-error_checkin{background:#fee2e2;color:#b91c1c}.so-ai-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.6rem}.so-ai-card-title{display:flex;align-items:center;gap:.5rem;font-size:.92rem;font-weight:800;color:#0369a1}.so-ai-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.84rem;color:#1e293b;line-height:1.4}.so-drawer-overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;display:flex;justify-content:flex-end}.so-drawer-content{width:100%;max-width:780px;background:#fff;height:100%;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem;box-shadow:-4px 0 24px #00000026;animation:slideInRight .25s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:1100px){.so-live-map-body{flex-direction:column}.so-live-map-sidebar{flex:none;width:100%;max-height:none}.so-live-map-stage .so-live-map-canvas{height:520px;min-height:420px}}@media(max-width:768px){.so-filter-strip{grid-template-columns:1fr 1fr}.so-kpi-grid{grid-template-columns:1fr 1fr;gap:.5rem}.so-kpi-card{padding:.75rem}.so-kpi-value{font-size:1.25rem}.so-mobile-action-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #cbd5e1;padding:.6rem 1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -2px 10px #0000001a;z-index:100}}.leaflet-container{overflow:hidden;position:relative;outline:0;font-family:inherit}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-tile-container{pointer-events:none}.leaflet-container img{max-width:none!important;max-height:none!important}.leaflet-tile{visibility:inherit;user-select:none;-webkit-user-select:none;width:256px!important;height:256px!important}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-tile-loaded{opacity:1}.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-bar{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:#1e293b;font-weight:700}.leaflet-control-zoom a{font:700 16px Lucida Console,Monaco,monospace!important}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:8px;background:#fff;box-shadow:0 3px 14px #0000004d}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg);background:#fff;box-shadow:0 3px 14px #0000004d}
