.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;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.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-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.1220hx8ja1.sy.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.0olxl6i2vnf_c.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.0i9~u_difxrfa.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--bg:#f4f7fb;--surface:#fff;--surface-subtle:#f8fafc;--surface-muted:#eef3f8;--text:#182132;--muted:#5c667a;--border:#d8e0ea;--border-strong:#c5cfdb;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#e9f1ff;--pickup:#2563eb;--dropoff:#0f9f6e;--danger:#dc2626;--danger-soft:#fee2e2;--shadow:0 12px 28px #0f172a0f;--radius-card:14px;--radius-control:10px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;padding:0;font-family:Inter,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{border-radius:var(--radius-control);border:1px solid var(--border);width:100%;color:var(--text);background:#fff;padding:11px 13px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb1f}textarea{resize:vertical}.shell{grid-template-columns:180px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#0f172a 0%,#111b35 100%);border-right:1px solid #ffffff0f;align-self:start;min-height:100vh;padding:18px 12px;position:sticky;top:0}.sidebar h1{margin:0 0 20px;font-size:1.15rem;font-weight:700}.sidebar nav{gap:10px;display:grid}.sidebar a{color:#fffffff5;background:#ffffff0f;border-radius:10px;align-items:center;min-height:44px;padding:0 14px;transition:background .15s,transform .15s;display:flex}.sidebar a:hover{background:#ffffff1c;transform:translateY(-1px)}.main{padding:20px}.page-title{margin:0;font-size:2rem;line-height:1.1}.muted{color:var(--muted)}.stack,.compact-stack,.form-card,.planner-panel,.planner-sidebar,.planner-inspector,.route-list,.planner-leg-list,.print-document,.print-direction-list,.print-alert-grid,.print-leg-block,.stop-rail{gap:14px;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:16px}.subcard,.inspector-section,.inline-form-panel,.alert-card,.print-summary-card,.print-alert-card,.print-direction-card,.empty-panel,.map-fallback-state,.map-overlay-error,.print-empty-state{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;padding:14px}.route-list-meta,.inline-actions,.form-actions,.route-list-header,.page-header,.page-header-actions,.search-input-row,.planner-panel-header,.print-meta-grid,.print-toolbar,.print-toolbar-actions,.print-direction-card-header,.print-direction-stats,.print-leg-title-row,.print-summary-grid,.editor-title-row,.route-editor-actions,.leg-card-clean-head,.planner-map-toolbar,.planner-toolbar-actions,.inspector-actions,.editor-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.route-list-meta,.editor-meta{color:var(--muted);font-size:.92rem}.page-header,.form-header,.route-editor-topbar,.print-toolbar,.planner-panel-header,.leg-card-clean-head,.planner-map-toolbar,.print-direction-card-header,.print-leg-title-row,.page-header-actions{justify-content:space-between;align-items:flex-start}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:.9rem}.field-full{grid-column:1/-1}.compact-field{min-width:240px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid-one-column{grid-template-columns:minmax(0,1fr)}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 8px}.code{background:#ecf2fb;border-radius:8px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.button,.text-button,.menu-dropdown summary{border-radius:var(--radius-control);border:1px solid var(--border-strong);min-height:40px;color:var(--text);background:#fff;justify-content:center;align-items:center;gap:8px;padding:0 14px;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.button:hover,.text-button:hover,.menu-dropdown summary:hover{border-color:var(--accent)}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button-danger{color:var(--danger);background:#fff;border-color:#fecaca}.button-small{min-height:34px;padding:0 12px;font-size:.92rem}.text-button{background:0 0;border:0;justify-content:flex-start;min-height:0;padding:0}.text-button-strong{font-weight:700}.badge{letter-spacing:.02em;background:var(--accent-soft);min-height:28px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.badge-draft,.badge-pickup{color:#1d4ed8;background:#dbeafe}.badge-published,.badge-dropoff{color:#047857;background:#d1fae5}.badge-archived,.badge-muted{color:#475569;background:#e7edf5}.badge-danger{background:var(--danger-soft);color:var(--danger)}.status-banner-danger{color:#b42318;background:#fff2f2;border-color:#f3b7b7}.route-list-item{border:1px solid var(--border);background:#fff;border-radius:12px;gap:10px;padding:16px;transition:border-color .15s,transform .15s;display:grid}.route-list-item:hover{border-color:var(--accent);transform:translateY(-1px)}.route-editor-shell{gap:16px;display:grid}.route-editor-topbar-tight{padding-bottom:2px}.editor-title-block{gap:10px;display:grid}.back-link{min-height:24px;color:var(--muted);align-items:center;font-weight:500;display:inline-flex}.route-editor-actions-clean{justify-content:flex-end;align-items:flex-end}.route-version-picker{min-width:240px}.menu-dropdown{position:relative}.menu-dropdown summary{list-style:none}.menu-dropdown summary::-webkit-details-marker{display:none}.menu-dropdown-panel{border:1px solid var(--border);z-index:20;background:#fff;border-radius:12px;gap:4px;min-width:200px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 32px #0f172a1f}.menu-dropdown-panel a{border-radius:8px;padding:10px 12px}.menu-dropdown-panel a:hover{background:var(--surface-muted)}.planner-grid{align-items:start;gap:16px;display:grid}.planner-sidebar-clean{align-self:start}.planner-panel-clean{gap:16px}.planner-panel-header-tight{gap:14px}.inline-form-panel{gap:12px;display:grid}.leg-card-clean{border:1px solid var(--border);background:#fff;border-radius:12px;gap:10px;padding:14px;display:grid}.leg-card-clean-selected{border-color:var(--accent);box-shadow:0 12px 24px #2563eb1a}.leg-card-title-button{align-items:center;gap:10px;display:inline-flex}.leg-card-empty{color:var(--muted);font-size:.94rem}.stop-rail{margin:0;padding:0;list-style:none}.stop-rail-clean{gap:8px}.stop-chip{border:1px solid var(--border);background:var(--surface-subtle);text-align:left;border-radius:10px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.stop-chip:hover,.stop-chip-active{border-color:var(--accent);background:#f4f8ff}.stop-chip-sequence{background:#e6edf7;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.88rem;font-weight:700;display:inline-flex}.stop-chip-main{gap:2px;display:grid}.stop-chip-main span,.stop-chip-meta{color:var(--muted);font-size:.88rem}.stop-chip-meta{font-weight:700}.planner-map-panel-clean{gap:14px;min-height:78vh;padding:14px;display:grid}.planner-map-toolbar-clean{gap:14px}.planner-search-block-clean{flex:520px}.search-input-row{flex-wrap:nowrap}.search-input-row input{flex:auto}.planner-toolbar-actions-clean{justify-content:flex-end;align-items:flex-end}.search-result-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.search-result-list-compact{margin-top:-2px}.search-result-item{text-align:left;border:1px solid var(--border);background:#fff;border-radius:10px;gap:4px;padding:12px;display:grid}.search-result-item:hover{border-color:var(--accent);background:#f7faff}.map-shell{border:1px solid var(--border);background:#eaf0f7;border-radius:12px;position:relative;overflow:hidden}.map-canvas{width:100%;min-height:420px}.map-canvas-large{min-height:68vh}.map-mode-chip,.map-overlay-status{z-index:2;color:#fff;background:#0f172ac7;border-radius:999px;padding:8px 10px;font-size:.78rem;position:absolute;left:14px}.map-mode-chip{top:14px}.map-overlay-status{top:54px}.map-overlay-error{background:#fffffffa;max-width:320px;position:absolute;bottom:14px;right:14px}.inspector-panel-clean{gap:16px;position:sticky;top:20px}.inspector-section{gap:12px;display:grid}.alert-card{gap:6px}.print-page-shell{gap:18px;padding:24px;display:grid}.print-document{max-width:1100px;margin:0 auto}.print-header,.print-section{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:20px}.print-header{gap:16px;display:grid}.print-kicker{text-transform:uppercase;color:var(--muted);letter-spacing:.08em;font-size:.8rem;font-weight:700}.print-header h1,.print-section h2,.print-section h3,.print-section h4,.card h2,.card h3,.card h4,.card h5,.subcard h4,.subcard h5{margin:0}.print-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.print-meta-grid>div{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;padding:12px}.print-map-image{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%}.print-section-header{gap:6px;margin-bottom:14px;display:grid}.print-summary-grid{align-items:stretch;gap:14px}.print-summary-card,.print-alert-card,.print-direction-card{background:#fff;flex:280px}.print-stop-inline-list,.print-step-list{gap:8px;margin:0;padding-left:20px;display:grid}.print-table td,.print-table th{padding:12px 10px}.print-direction-stats{color:var(--muted);font-weight:700}.no-print{display:block}@media (max-width:1440px){.planner-grid-expanded{grid-template-columns:280px minmax(0,1fr)}.planner-inspector{grid-column:1/-1}.inspector-panel-clean{position:static}}@media (max-width:980px){.shell{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.planner-grid-compact,.planner-grid-expanded,.print-meta-grid,.form-grid{grid-template-columns:1fr}.planner-map-panel-clean{min-height:auto}.map-canvas-large,.map-shell-clean{min-height:56vh}}@media (max-width:720px){.main,.print-page-shell{padding:14px}.route-editor-actions,.planner-map-toolbar,.search-input-row,.print-toolbar,.planner-panel-header,.page-header,.route-list-header,.route-editor-topbar{flex-direction:column;align-items:stretch}.compact-field,.route-version-picker{min-width:0}.menu-dropdown-panel{width:min(100%,240px);left:0;right:auto}}@media print{html,body{background:#fff}.no-print,.sidebar{display:none!important}.print-page-shell{padding:0}.print-document{gap:14px;max-width:none}.print-header,.print-section,.print-summary-card,.print-alert-card,.print-direction-card{box-shadow:none;break-inside:avoid}.print-header,.print-section{border-color:#cfd7e4}}:root{--radius-card:10px;--radius-control:8px;--shadow:0 4px 18px #0f172a0d}.card{border-radius:10px}.back-link{width:fit-content;color:var(--accent);font-weight:600}.back-link:hover{color:var(--accent-strong)}.route-editor-topbar-tight{align-items:flex-end}.editor-title-row{gap:12px}.route-editor-title{font-size:2.15rem}.settings-sheet{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;margin:14px 0 16px;padding:16px}.settings-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-block{gap:14px;padding:0;display:grid}.planner-sidebar-surface,.planner-map-workspace,.planner-stop-inspector{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px}.planner-sidebar-surface,.planner-stop-inspector{padding:16px}.planner-map-workspace{gap:12px;min-height:78vh;padding:12px;display:grid}.sidebar-section{gap:14px;display:grid}.inline-form-panel-flat{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:12px}.planner-leg-list-clean{gap:0}.leg-card-clean{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;gap:10px;padding:12px 0}.leg-card-clean:first-child{border-top:0;padding-top:0}.leg-card-clean-selected{box-shadow:none}.leg-card-clean-selected .leg-card-title-button strong{color:var(--accent)}.stop-chip{background:0 0;border:0;border-radius:8px;padding:8px 10px}.stop-chip:hover,.stop-chip-active{background:#f7faff}.stop-chip-sequence{width:28px;height:28px}.stop-chip-main strong{font-size:.96rem;line-height:1.2}.stop-chip-main span,.stop-chip-meta{font-size:.85rem}.planner-map-toolbar-clean{align-items:flex-end}.search-result-list{margin-top:0}.map-shell-clean,.map-canvas-large{min-height:70vh}.leaflet-container{background:#dce6f2;border-radius:10px;width:100%;height:100%;min-height:70vh}.planner-marker-wrapper{background:0 0;border:0}.planner-marker{width:38px;height:38px;color:var(--marker-text,#fff);background:var(--marker-fill,var(--pickup));border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #0f172a38}.planner-marker-pickup{--marker-fill:var(--pickup)}.planner-marker-dropoff{--marker-fill:var(--dropoff)}.planner-marker-draft{--marker-fill:#f59e0b;background:var(--marker-fill)}.planner-marker-selected{outline-offset:2px;outline:3px solid #11182733}.planner-stop-inspector{align-self:start;gap:14px;display:grid;position:sticky;top:20px}.stop-inspector-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.print-toolbar>div:first-child .back-link,.print-page-shell .muted.back-link{width:fit-content}.print-header,.print-section,.print-summary-card,.print-direction-card,.print-empty-state{border-radius:10px}@media (max-width:1200px){.settings-sheet-grid{grid-template-columns:1fr}.planner-grid-expanded{grid-template-columns:320px minmax(0,1fr)}.planner-stop-inspector{grid-column:1/-1;margin-top:12px;position:static}}@media (max-width:920px){.planner-grid-compact,.planner-grid-expanded{grid-template-columns:1fr}.planner-map-workspace{min-height:auto}.map-shell-clean,.leaflet-container,.map-canvas-large{min-height:56vh}}.stat-value{font-size:2rem;font-weight:700;line-height:1.1}.grid-dashboard-split{grid-template-columns:repeat(2,minmax(0,1fr))}.route-list-simple{gap:10px;margin:0;padding:0;list-style:none;display:grid}.route-list-simple li a{border-top:1px solid var(--border);gap:4px;padding:12px 0;display:grid}.route-list-simple li:first-child a{border-top:0;padding-top:0}@media (max-width:920px){.grid-dashboard-split{grid-template-columns:1fr}}.back-link-inline{width:fit-content;display:inline-flex}.field-label-with-help{align-items:center;gap:.45rem;display:inline-flex}.help-tip{color:#1d4ed8;cursor:help;background:#2563eb1f;border-radius:999px;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.78rem;font-weight:700;display:inline-flex}.info-popover{align-items:center;display:inline-flex;position:relative}.info-popover-trigger{color:#1d4ed8;background:#eef4ff;border:1px solid #2563eb2e;border-radius:999px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.info-popover-trigger-compact{width:1.2rem;height:1.2rem;font-size:.72rem}.info-popover-panel{z-index:80;border:1px solid var(--border);background:#fff;border-radius:14px;width:min(20rem,100vw - 2rem);padding:.8rem .9rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 16px 36px #0f172a2e}.info-popover-start .info-popover-panel{left:0;right:auto}.info-popover-title{color:var(--text);font-size:.88rem;font-weight:700}.info-popover-body{color:var(--text);gap:.45rem;margin-top:.45rem;font-size:.88rem;display:grid}.info-popover-body p{margin:0}.field-help{color:var(--muted);margin-top:.35rem;font-size:.82rem;display:block}.calendar-shell{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:1.25rem;display:grid}.calendar-main{gap:.75rem;display:grid}.calendar-header-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;display:grid}.calendar-day-header{border:1px solid var(--border);background:#ffffffb8;border-radius:12px;gap:.15rem;padding:.85rem .95rem;display:grid}.calendar-day-header span{color:var(--muted);font-size:.88rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;display:grid}.calendar-day-stack{gap:.6rem;display:grid}.calendar-item{border:1px solid #94a3b847;border-radius:12px;gap:.35rem;padding:.75rem .8rem;display:grid}.calendar-item-route{background:#2563eb14}.calendar-item-event{background:#0f9f6e17}.calendar-item-unassigned{background:#f59e0b1f}.calendar-item-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem;font-weight:700}.calendar-item-meta{color:var(--muted);flex-wrap:wrap;gap:.55rem;font-size:.85rem;display:flex}.calendar-day-empty{color:var(--muted);padding:.4rem 0;font-size:.9rem}.calendar-sidebar,.section-panel{gap:1rem;display:grid}.section-header{margin-bottom:0}.compact-stack{gap:.75rem}.compact-item{padding:.7rem .75rem}.map-shell-clean{overflow:hidden}@media (max-width:1360px){.calendar-shell{grid-template-columns:1fr}}@media (max-width:1100px){.calendar-header-row,.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.calendar-header-row,.calendar-grid{grid-template-columns:1fr}}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.terminal-settings-card{min-height:100%}.checkbox-field{align-items:center;gap:.75rem;display:flex}.checkbox-field input{width:1rem;height:1rem}.stop-chip-tags{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.mini-badge{color:#3457d5;background:#eef3ff;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .45rem;font-size:.72rem;font-weight:600;display:inline-flex}.packet-map-shell,.packet-map-shell .map-shell-clean,.packet-map-shell .map-canvas-large{min-height:28rem}.planner-marker-number{color:var(--marker-text,#fff);justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;position:absolute;inset:0}.planner-marker-flag{background:var(--marker-flag-fill,#172033);min-width:1rem;height:1rem;color:var(--marker-flag-text,#fff);border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;padding:0 .2rem;font-size:.6rem;font-weight:700;display:inline-flex;position:absolute;bottom:-.15rem;right:-.2rem}.planner-marker-start{box-shadow:0 0 0 4px #0f9f6e24}.planner-marker-end{box-shadow:0 0 0 4px #dc262624}.planner-marker-turnaround .planner-marker-flag{background:#7c3aed}@media (max-width:1100px){.grid-two{grid-template-columns:1fr}}.shell{grid-template-columns:190px 1fr}.sidebar{flex-direction:column;gap:1rem;display:flex}.sidebar-brand{font-size:1.15rem;font-weight:700;line-height:1.05}.sidebar-nav{gap:.6rem;display:grid}.sidebar-link{color:#fffffff5;background:#ffffff0f;border-radius:10px;align-items:center;min-height:44px;padding:0 14px;display:flex}.sidebar-footer{gap:.75rem;margin-top:auto;display:grid}.sidebar-profile-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;gap:.2rem;padding:.8rem .85rem;display:grid}.sidebar-profile-role{color:#fff;font-size:.84rem;font-weight:700}.sidebar-profile-email{color:#ffffffb8;word-break:break-word;font-size:.78rem}.session-panel{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;overflow:hidden}.session-summary{cursor:pointer;gap:.15rem;padding:.8rem .85rem;list-style:none;display:grid}.session-summary::-webkit-details-marker{display:none}.session-label{text-transform:uppercase;letter-spacing:.06em;color:#fff9;font-size:.72rem}.session-role{font-size:.9rem;font-weight:700}.session-email{color:#ffffffb8;font-size:.78rem}.session-panel-body{gap:.75rem;padding:0 .85rem .85rem;display:grid}.session-panel .field span,.session-panel .field-help{color:#ffffffb8}.button-full{width:100%}.stack-tight{gap:.9rem}.page-header-tight{align-items:flex-end;margin-bottom:0}.page-title-compact,.route-editor-title-compact,.print-toolbar-title{font-size:1.55rem}.route-editor-topbar-compact{align-items:flex-end;gap:.75rem;margin-bottom:.25rem}.editor-title-block-compact{gap:.35rem;display:grid}.route-editor-actions-clean{justify-content:flex-end;gap:.75rem}.route-editor-topbar .field span,.route-editor-topbar .compact-field span{font-size:.8rem}.status-banner{color:#1d4ed8;background:#2563eb0f;border:1px solid #2563eb2e;border-radius:10px;padding:.8rem .95rem}.planner-grid-compact{grid-template-columns:280px minmax(0,1fr)}.planner-grid-expanded{grid-template-columns:280px minmax(0,1fr) 360px}.planner-sidebar-condensed,.planner-map-workspace,.planner-stop-inspector{border-radius:12px}.planner-sidebar-condensed{padding:14px}.field-tight{gap:.35rem}.selected-phase-card{border-top:1px solid var(--border);gap:.85rem;padding-top:.4rem;display:grid}.selected-phase-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.selected-phase-card h4{margin:.35rem 0 0}.stop-rail-clean{margin:0;padding-left:0;list-style:none}.stop-chip-clean{text-align:left;border:1px solid #0000;width:100%;padding:10px 12px}.stop-chip-clean:hover,.stop-chip-active{border-color:#2563eb2e}.planner-map-toolbar-compact{gap:.75rem}.search-result-list-compact{gap:.5rem;display:grid}.map-help-inline{z-index:500;color:var(--muted);background:#ffffffeb;border:1px solid #94a3b859;border-radius:999px;padding:.35rem .55rem;font-size:.78rem;position:absolute;bottom:14px;left:14px}.map-shell-clean{position:relative}.planner-map-workspace{min-height:76vh}.map-canvas-large,.leaflet-container,.map-shell-clean{min-height:68vh}.planner-stop-inspector{max-height:calc(100vh - 2.5rem);padding:14px;overflow:auto}.modal-backdrop{z-index:1200;background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:0;width:min(100%,860px);max-height:calc(100vh - 2rem);display:grid;box-shadow:0 22px 60px #0f172a38}.modal-panel-narrow{width:min(100%,460px)}.modal-panel-medium{width:min(100%,760px)}.modal-panel-wide{width:min(100%,980px)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.modal-header h3{margin:0}.modal-body{padding:1rem 1.1rem 1.1rem;overflow:auto}.modal-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-list{gap:.6rem;display:grid}.phase-list-item{text-align:left;border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;gap:.25rem;padding:.8rem .9rem;display:grid}.phase-list-item-active{background:#f7faff;border-color:#2563eb38}.calendar-workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:1rem;display:grid}.calendar-main-surface{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;gap:.9rem;padding:1rem;display:grid}.calendar-toolbar{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.calendar-title{font-size:1.15rem;font-weight:700}.calendar-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.view-toggle{border-left:1px solid var(--border);gap:.35rem;padding-left:.35rem;display:inline-flex}.calendar-grid-week,.calendar-grid-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem;display:grid}.calendar-day-column{border:1px solid var(--border);background:#ffffffd9;border-radius:12px;min-height:170px;padding:.7rem}.calendar-day-number{color:var(--muted);margin-bottom:.5rem;font-size:.9rem;font-weight:700}.calendar-day-today{background:#f8fbff;border-color:#2563eb4d}.calendar-day-muted{opacity:.72}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card-clean{padding:1rem 1.1rem}.print-toolbar-compact{align-items:flex-end;gap:.75rem}.print-page-shell{gap:1rem}.print-document{max-width:1120px}.print-toolbar-title{margin-top:0}.print-section .muted,.print-header .muted{margin:0}.packet-map-shell .map-help-inline{display:none}@media (max-width:1360px){.calendar-workspace{grid-template-columns:1fr}}@media (max-width:1200px){.planner-grid-expanded{grid-template-columns:280px minmax(0,1fr)}.planner-stop-inspector{grid-column:1/-1;position:static}}@media (max-width:980px){.dashboard-stat-grid,.planner-grid-compact,.planner-grid-expanded,.modal-grid-two,.grid-two{grid-template-columns:1fr}.calendar-grid-week,.calendar-grid-month,.calendar-header-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.shell{grid-template-columns:1fr}.main,.print-page-shell{padding:14px}.route-editor-topbar,.calendar-toolbar,.calendar-toolbar-actions,.page-header,.route-editor-actions,.planner-map-toolbar,.search-input-row,.print-toolbar{flex-direction:column;align-items:stretch}.calendar-grid-week,.calendar-grid-month,.calendar-header-row{grid-template-columns:1fr}}.calendar-day-button{cursor:pointer;text-align:left;align-content:start;gap:.65rem;transition:border-color .12s,box-shadow .12s,background-color .12s;display:grid;overflow:hidden}.calendar-day-button:hover{border-color:#2563eb38;box-shadow:0 8px 24px #0f172a12}.calendar-day-button:focus-visible{outline-offset:2px;outline:2px solid #2563eb6b}.calendar-day-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.calendar-day-column{min-height:168px}.calendar-grid-month .calendar-day-column{min-height:132px}.calendar-preview-card{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;gap:.3rem;padding:.65rem;display:grid}.calendar-preview-card strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.calendar-preview-route{background:#f8fbff;border-color:#2563eb29}.calendar-preview-event{background:#f7fcfa;border-color:#0f9f6e29}.calendar-day-more{color:var(--primary);font-size:.85rem;font-weight:600}.calendar-day-spacer{min-height:1rem}.compact-stack-scroll{max-height:34rem;padding-right:.15rem;overflow:auto}.compact-item-button{text-align:left;width:100%}.calendar-modal-list{gap:.75rem;max-height:min(70vh,36rem);padding-right:.15rem;display:grid;overflow:auto}.calendar-modal-item{text-align:left;border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;gap:.3rem;width:100%;padding:.85rem .95rem;display:grid}.calendar-modal-item-route{background:#f8fbff;border-color:#2563eb29}.calendar-modal-item-event{background:#f7fcfa;border-color:#0f9f6e29}.inline-actions-right{margin-left:auto}.field-inline-checkbox{align-self:end;min-height:42px}.segmented-control{flex-wrap:wrap;gap:.45rem;display:inline-flex}.segmented-control-button{border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);border-radius:999px;padding:.55rem .85rem;font-size:.94rem;font-weight:600}.segmented-control-button-active{color:var(--primary);background:#eef4ff;border-color:#2563eb3d}.field-readonly{justify-content:flex-end}.field-readonly-value{border:1px solid var(--border);background:var(--surface-subtle);min-height:42px;color:var(--muted);border-radius:10px;align-items:center;padding:.7rem .85rem;display:flex}.planner-marker{border-radius:999px}.planner-marker-shape-square{border-radius:10px}.planner-marker-shape-diamond{border-radius:10px;transform:rotate(45deg)}.planner-marker-shape-diamond .planner-marker-number,.planner-marker-shape-diamond .planner-marker-flag{transform:rotate(-45deg)}.planner-marker-terminal{background:#111827}.planner-marker-control{background:#f59e0b}.leaflet-container{touch-action:pan-x pan-y}.settings-card{gap:1rem;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem;display:grid}.settings-preview-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.settings-preview-item{border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;align-items:center;gap:.8rem;padding:.85rem;display:flex}.settings-marker-preview{color:#fff;background:var(--primary);border:2px solid #fff;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #0f172a2e}.settings-marker-preview-circle{border-radius:999px}.settings-marker-preview-square{border-radius:10px}.settings-marker-preview-diamond{border-radius:10px;transform:rotate(45deg)}.settings-marker-preview-diamond span{transform:rotate(-45deg)}.settings-marker-preview-terminal{background:#111827}.settings-marker-preview-control{background:#f59e0b}.settings-marker-preview-turnaround{background:#7c3aed;border-radius:999px}.settings-symbol-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.settings-symbol-card,.settings-layout-card{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;gap:.9rem;padding:1rem;display:grid}.settings-symbol-header{justify-content:space-between;align-items:center;gap:.9rem;display:flex}.settings-symbol-header h4,.settings-layout-card h4{margin:0}.settings-symbol-header p,.settings-layout-card p{margin:.2rem 0 0}.settings-symbol-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.settings-symbol-controls-single{grid-template-columns:1fr}.settings-pill-row{flex-wrap:wrap;gap:.5rem;display:flex}.settings-pill{border:1px solid var(--border);min-width:3rem;color:var(--text);background:#fff;border-radius:999px;padding:.45rem .7rem;font-size:.88rem;font-weight:600}.settings-pill-active{color:#1d3fa7;background:#eef4ff;border-color:#4f73df}.settings-toggle-card{background:#fff;border:1px solid #2563eb26;border-radius:14px;align-content:start;gap:.75rem;padding:.95rem;display:grid}.settings-toggle-card strong{margin-bottom:.2rem;display:block}.settings-toggle-row{align-items:center;gap:.65rem;display:inline-flex}.settings-toggle-row input{width:1rem;height:1rem}.settings-card-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}@media (max-width:1100px){.settings-preview-row,.settings-grid{grid-template-columns:1fr}}@media (max-width:720px){.settings-symbol-controls{grid-template-columns:1fr}}.checkbox-field{align-self:end}.checkbox-row{background:#fff;border:1px solid #2563eb26;border-radius:14px;align-items:center;gap:.75rem;padding:.8rem .9rem;display:flex}.terminal-settings-summary .inline-actions{flex-wrap:wrap}.assignment-item{align-items:flex-start}.assignment-item .button{align-self:flex-start}.stop-rail-item-dragging{opacity:.55}.planner-marker-facility{color:#fff;background:#7c3aed;border:2px solid #5b21b6}.settings-marker-preview-facility{color:#fff;background:#7c3aed}.point-type-hint{margin-top:.35rem}.assignments-view-toggle{gap:0}.assignments-table{border-collapse:collapse;width:100%}.assignments-table th,.assignments-table td{border-top:1px solid var(--border-color,#d7deeb);text-align:left;vertical-align:middle;padding:.75rem .65rem}.calendar-range-heading{margin:0 0 .85rem;font-weight:700}.calendar-day-clickable{cursor:pointer}.calendar-day-outside-month{opacity:.6}.calendar-more-chip{color:#3556c9;align-self:flex-start;margin-top:.4rem;font-size:.8rem;font-weight:600}.calendar-item-button{text-align:left;cursor:pointer;width:100%}.weekday-selector-row{flex-wrap:wrap;gap:.5rem;display:flex}.weekday-pill{border:1px solid var(--border-color,#d7deeb);color:#50627b;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:3.25rem;padding:.5rem .75rem;display:inline-flex}.weekday-pill input{display:none}.weekday-pill-active{color:#1d3fa7;background:#eef4ff;border-color:#4f73df}.shell-public{display:block}.auth-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-card{border:1px solid var(--border-color,#d7deeb);background:#fff;border-radius:18px;gap:1rem;width:min(460px,100%);padding:1.5rem;display:grid;box-shadow:0 8px 30px #0f172a0f}.auth-header{gap:.35rem;display:grid}.auth-footer{font-size:.95rem}.banner{border:1px solid #0000;border-radius:12px;padding:.85rem 1rem}.banner-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.banner-info{color:#2645b8;background:#eef4ff;border-color:#c7d6ff}.banner-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.page-stack-narrow{max-width:780px}.sidebar-profile-email-secondary{opacity:.72;font-size:.82rem}.recurring-chip{color:#2645b8;background:#eef4ff}.calendar-day-button{grid-template-rows:auto minmax(90px,1fr) auto}.calendar-grid-month .calendar-day-button{min-height:168px}.calendar-grid-week .calendar-day-button{min-height:196px}.calendar-preview-card,.calendar-preview-empty{border:1px solid var(--border);border-radius:10px;align-content:start;gap:.3rem;min-height:96px;padding:.65rem;display:grid}.calendar-preview-empty{background:var(--surface-subtle)}.calendar-preview-empty .calendar-day-empty{padding:0}.calendar-item-conflict,.calendar-preview-conflict,.calendar-modal-item-conflict{background:#fff7ed;border-color:#ea580c52}.checkbox-field.field-inline-checkbox{align-self:center;min-height:0}@media (max-width:980px){.calendar-day-button{min-height:150px}}.roster-field{position:relative}.roster-suggestions{z-index:30;border:1px solid var(--border-color,#d7deeb);background:#fff;border-radius:14px;gap:.3rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;box-shadow:0 14px 28px #0f172a1f}.roster-suggestion{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;gap:.15rem;width:100%;padding:.55rem .65rem;display:grid}.roster-suggestion:hover{background:#f8fbff;border-color:#2563eb26}.roster-suggestion.loading{color:var(--muted)}.roster-suggestion-hint{color:var(--muted);padding:.25rem .35rem 0;font-size:.83rem}.calendar-preview-empty{justify-content:center}.link-driver-modal{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.link-driver-list{gap:.75rem;max-height:24rem;display:grid;overflow:auto}.link-driver-item{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:.2rem;width:100%;padding:.85rem .95rem;display:grid}.link-driver-item.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px #2563eb26}@media (max-width:920px){.link-driver-modal{grid-template-columns:1fr}}.table-row-actions{justify-content:flex-end;display:flex;position:relative}.button-icon{justify-content:center;align-items:center;width:2.25rem;min-width:2.25rem;height:2.25rem;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.table-row-menu{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:.2rem;min-width:12rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 12px 28px #0f172a29}.table-row-menu-up{top:auto;bottom:calc(100% + .35rem)}.table-row-menu button{text-align:left;background:0 0;border:0;border-radius:10px;width:100%;padding:.65rem .75rem}.table-row-menu button:hover{background:#f7f9fe}.table-row-menu button.danger{color:#b42318}.alias-manager-shell{gap:1rem}.alias-manager-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.alias-manager-toolbar .info-popover{margin-left:auto}.alias-manager-caption{max-width:38rem;margin:0}.alias-help-inline{color:var(--accent);font-size:.92rem}.alias-manager-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.alias-panel{min-height:18rem}.alias-panel-list{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;padding:1rem}.alias-panel-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.alias-panel-header p{margin:.2rem 0 0}.alias-composer,.alias-search-row{gap:.75rem;max-width:30rem;display:grid}.alias-composer{grid-template-columns:minmax(0,1fr) auto}.alias-search-row{max-width:24rem}.alias-list{gap:.75rem;display:grid}.alias-list-item{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem .95rem;display:flex}.alias-list-item-main{gap:.2rem;min-width:0;display:grid}.alias-list-name{color:var(--text);overflow-wrap:anywhere;font-weight:700}.alias-list-meta{font-size:.92rem}.alias-list-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.alias-empty-panel{text-align:center;place-items:center;min-height:5rem;display:grid}.alias-attach-list{max-height:22rem;padding-right:.1rem;overflow:auto}.print-direction-map-shell{border:1px solid var(--border);background:#dce6f2;border-radius:12px;margin:.75rem 0 .9rem;overflow:hidden}.print-direction-map-shell.leaflet-container,.print-direction-map-shell .map-shell-clean,.print-direction-map-shell .map-canvas-large,.print-direction-map-shell .leaflet-container{height:18rem;min-height:18rem}.print-direction-map-shell .planner-map-card,.print-direction-map-shell .planner-map-card-clean{background:0 0;border:0;border-radius:0;min-height:0}.print-direction-map-shell .planner-map-surface,.print-direction-map-shell .planner-map-surface-clean{height:12.5rem}.print-toolbar-actions .button{white-space:nowrap}@media (max-width:920px){.alias-manager-grid{grid-template-columns:1fr}.alias-composer{grid-template-columns:1fr;max-width:none}.alias-search-row{max-width:none}.alias-list-item{flex-direction:column;align-items:flex-start}.alias-list-actions{justify-content:flex-end;width:100%}}.print-page-fullbleed{gap:.75rem}.print-document-wide{width:100%;max-width:none}.print-section-wide{padding-left:1rem;padding-right:1rem}.print-direction-list-wide{gap:1rem}.print-direction-card-wide{break-inside:avoid;page-break-inside:avoid;width:100%}@media screen{.packet-map-shell{max-width:1180px;margin-inline:auto}.print-direction-list-with-maps{place-items:start center}.print-direction-card-with-map{width:min(100%,1040px)}.print-direction-map-shell.leaflet-container,.print-direction-map-shell .map-shell-clean,.print-direction-map-shell .map-canvas-large,.print-direction-map-shell .leaflet-container{height:19.5rem;min-height:19.5rem}}@media screen and (min-width:1280px){.print-direction-list-with-maps{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}.print-direction-card-with-map{width:100%;max-width:none}}.print-toolbar-actions-wrap{flex-wrap:wrap}.print-profile-toggle{margin-left:.25rem}.print-profile-toggle .segmented-control-button{text-decoration:none}.packet-map-shell{width:100%}.packet-map-shell,.packet-map-shell .planner-map-card,.packet-map-shell .planner-map-card-clean{break-inside:avoid;page-break-inside:avoid}.packet-map-shell .map-shell-clean,.packet-map-shell .map-canvas-large,.packet-map-shell .leaflet-container{min-height:42rem}@page{margin:.45in .4in}@media print{html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important;width:auto!important}.shell,.main{background:#fff!important;margin:0!important;padding:0!important;display:block!important}.print-page-shell{width:min(100%,7.65in)!important;max-width:7.65in!important;margin:0 auto!important;padding:0!important}.print-document,.print-document-wide{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.print-header{box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;border:0!important;gap:10px!important;padding:0!important}.print-section,.print-section-wide{box-shadow:none!important;break-inside:auto!important;page-break-inside:auto!important;border:0!important;padding:0!important}.print-section-header,.print-direction-totals{break-after:avoid-page;page-break-after:avoid}.print-section-header{margin-bottom:10px!important}.print-summary-card,.print-alert-card,.print-direction-card,.print-direction-card-wide,.print-leg-block{break-inside:avoid!important;page-break-inside:avoid!important}.print-direction-list-wide{gap:.6rem!important}.print-direction-card,.print-direction-card-wide{padding:10px 12px!important}.print-direction-map-shell{margin:.45rem 0 .6rem!important}.print-meta-grid{flex-wrap:nowrap!important;align-items:stretch!important;gap:10px!important;display:flex!important}.print-meta-grid>div{flex:1 1 0!important;width:auto!important;min-width:0!important;padding:10px 12px!important}.packet-map-shell{break-inside:avoid!important;page-break-inside:avoid!important}.packet-map-shell .map-shell-clean,.packet-map-shell .map-canvas-large,.packet-map-shell .leaflet-container{height:4.75in!important;min-height:4.75in!important}.print-direction-map-shell.leaflet-container,.print-direction-map-shell .map-shell-clean,.print-direction-map-shell .map-canvas-large,.print-direction-map-shell .leaflet-container{height:2.85in!important;min-height:2.85in!important}.print-step-list{gap:.25rem!important}}html.print-render-mode,body.print-render-mode{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.print-render-mode .no-print,.print-render-mode .sidebar,.print-render-mode .print-toolbar{display:none!important}.print-render-mode .shell,.print-render-mode .main{background:#fff!important;margin:0!important;padding:0!important;display:block!important}.print-render-mode .print-page-shell{gap:.75rem!important;width:min(100%,7.65in)!important;max-width:7.65in!important;margin:0 auto!important;padding:0!important}.print-render-mode .print-document,.print-render-mode .print-document-wide{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.print-render-mode .print-header,.print-render-mode .print-section,.print-render-mode .print-section-wide{box-shadow:none!important;border:0!important;padding:0!important}.print-render-mode .print-header{gap:10px!important}.print-render-mode .print-section-header{margin-bottom:10px!important}.print-render-mode .print-summary-card,.print-render-mode .print-alert-card,.print-render-mode .print-direction-card,.print-render-mode .print-direction-card-wide,.print-render-mode .print-leg-block{break-inside:avoid!important;page-break-inside:avoid!important}.print-render-mode .print-direction-list-wide{gap:.6rem!important}.print-render-mode .print-direction-card,.print-render-mode .print-direction-card-wide{padding:10px 12px!important}.print-render-mode .print-direction-map-shell{margin:.45rem 0 .6rem!important}.print-render-mode .print-meta-grid{flex-wrap:nowrap!important;align-items:stretch!important;gap:10px!important;display:flex!important}.print-render-mode .print-meta-grid>div{flex:1 1 0!important;width:auto!important;min-width:0!important;padding:10px 12px!important}.print-render-mode .packet-map-shell{break-inside:avoid!important;page-break-inside:avoid!important}.print-render-mode .packet-map-shell .map-shell-clean,.print-render-mode .packet-map-shell .map-canvas-large,.print-render-mode .packet-map-shell .leaflet-container{height:4.75in!important;min-height:4.75in!important}.print-render-mode .print-direction-map-shell.leaflet-container,.print-render-mode .print-direction-map-shell .map-shell-clean,.print-render-mode .print-direction-map-shell .map-canvas-large,.print-render-mode .print-direction-map-shell .leaflet-container{height:2.85in!important;min-height:2.85in!important}.print-render-mode .print-direction-list-with-maps{grid-template-columns:1fr!important;justify-items:stretch!important}.print-render-mode .print-direction-card-with-map,.print-render-mode .print-direction-map-shell,.print-render-mode .print-direction-map-shell .planner-map-card,.print-render-mode .print-direction-map-shell .planner-map-card-clean,.print-render-mode .print-direction-map-shell .planner-map-surface,.print-render-mode .print-direction-map-shell .planner-map-surface-clean,.print-render-mode .print-direction-map-shell .leaflet-container{width:100%!important;max-width:none!important}@media print{.print-direction-list-with-maps{grid-template-columns:1fr!important;justify-items:stretch!important}.print-direction-card-with-map{width:100%!important;max-width:none!important}}.settings-page-header{margin-bottom:0}.settings-page-header-row{justify-content:space-between;align-items:center;gap:.85rem;display:flex}.settings-page-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.settings-page-sidebar,.settings-page-main{align-content:start;gap:1rem;display:grid}.settings-page-sidebar .terminal-settings-card{min-height:0}.settings-card-roomy{gap:1rem}.settings-symbol-list{gap:.75rem;display:grid}.settings-symbol-row{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;grid-template-columns:minmax(0,220px) minmax(220px,1fr);align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.settings-symbol-row-main{align-items:center;gap:.9rem;min-width:0;display:flex}.settings-symbol-row-copy{min-width:0}.settings-symbol-row-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.settings-symbol-row-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.85rem;display:grid}.settings-symbol-field{margin:0}.settings-symbol-field-static{align-self:stretch}.settings-static-value{border:1px solid var(--border);border-radius:var(--radius-control);min-height:44px;color:var(--text);background:#fff;align-items:center;padding:11px 13px;display:flex}.settings-layout-card-compact{gap:.8rem}.settings-behavior-list{grid-template-columns:minmax(260px,1.25fr) minmax(240px,.9fr);align-items:stretch;gap:.85rem;display:grid}.settings-behavior-row-field{margin:0}.settings-toggle-card-compact{gap:.6rem;padding:.85rem .95rem}.settings-toggle-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}@media (max-width:1180px){.settings-page-layout{grid-template-columns:1fr}}@media (max-width:920px){.settings-symbol-row,.settings-symbol-row-controls,.settings-behavior-list{grid-template-columns:1fr}}.form-header-spread{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.status-banner-muted{background:var(--surface-subtle);color:var(--text)}.settings-symbol-section{gap:.75rem;display:grid}.settings-section-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.settings-custom-marker-list{gap:.75rem;display:grid}.settings-custom-marker-row{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;grid-template-columns:76px minmax(0,1.2fr) repeat(3,minmax(110px,.7fr)) auto;align-items:end;gap:.85rem;padding:.9rem 1rem;display:grid}.settings-custom-marker-preview-cell{justify-content:center;align-items:center;display:flex}.settings-custom-marker-field{margin:0}.settings-custom-marker-field-name{min-width:0}.settings-custom-marker-color-field input[type=color]{border-radius:var(--radius-control);width:100%;min-height:44px;padding:4px}.settings-custom-marker-actions{justify-content:flex-end;align-items:end;display:flex}.settings-marker-preview-custom{color:#fff;box-shadow:0 2px 8px #0f172a24}.stop-marker-panel{gap:.75rem}.stop-marker-preview-panel{align-self:stretch}.stop-marker-preview-value{justify-content:flex-start}.route-import-preview-card{gap:.75rem}.route-import-segment-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.route-import-segment-item{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;gap:.5rem;padding:.85rem .95rem;display:grid}.route-import-segment-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.route-import-stop-list{color:var(--muted);margin:.1rem 0 0;padding-left:1.1rem}.route-import-stop-list li+li{margin-top:.2rem}@media (max-width:980px){.form-header-spread{flex-direction:column;align-items:stretch}.settings-custom-marker-row{grid-template-columns:1fr}.settings-custom-marker-actions{justify-content:flex-start}}.form-grid-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.route-analysis-card{gap:.9rem}.route-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.route-analysis-map-card{gap:.5rem;display:grid}.route-analysis-map-card .planner-map-surface{min-height:16rem}.route-analysis-order-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.route-analysis-review-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;display:flex}@media (max-width:920px){.form-grid-two-column,.route-analysis-grid,.route-analysis-order-columns{grid-template-columns:1fr}}.settings-workspace-card{gap:1rem}.settings-workspace-header{margin-bottom:0}.settings-tab-bar{flex-wrap:wrap;gap:.65rem;display:flex}.settings-tab-button{border:1px solid var(--border);min-width:8.5rem;color:var(--text);background:#fff;border-radius:999px;padding:.7rem .95rem;font-weight:600}.settings-tab-button-active{color:#1d4ed8;background:#eef4ff;border-color:#2563eb52;box-shadow:0 1px 3px #0f172a0f}.settings-tab-panel{gap:1rem;display:grid}.settings-readonly-note{color:var(--text);background:#eef4ffb3;border:1px solid #2563eb24;border-radius:12px;padding:.85rem .95rem;font-size:.92rem}.settings-marker-list-header{color:var(--muted);padding:0 .8rem;font-size:.82rem;font-weight:600}.settings-marker-list-stack{gap:.75rem;display:grid}.settings-marker-list{grid-template-columns:72px minmax(0,1.35fr) minmax(90px,.5fr) minmax(110px,.55fr) minmax(90px,.4fr) minmax(150px,.8fr) auto;align-items:center;gap:.8rem;display:grid}.settings-marker-list:not(.settings-marker-list-header){border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;padding:.85rem .95rem}.settings-marker-preview-cell{justify-content:center;align-items:center;display:flex}.settings-marker-field{margin:0}.settings-marker-field-name,.settings-marker-field-name input{min-width:0}.settings-marker-field-label input{text-align:center}.settings-marker-color-field input[type=color]{border-radius:var(--radius-control);width:100%;min-height:44px;padding:4px}.settings-marker-actions{justify-content:flex-end;display:flex}.settings-marker-use-cell{min-width:0}.settings-chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.settings-chip{color:#3151c8;background:#eef4ff;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.settings-assignment-list{gap:.75rem;display:grid}.settings-assignment-row{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:center;gap:.85rem;display:grid}.settings-assignment-row-main{align-items:center;gap:.85rem;min-width:0;display:flex}.settings-assignment-row-field{margin:0}.settings-behavior-grid{grid-template-columns:minmax(260px,1.15fr) minmax(240px,.95fr);align-items:stretch;gap:.85rem;display:grid}.settings-toggle-row-card{cursor:pointer}.settings-marker-preview-generic{color:#fff;background:#94a3b8}.stop-marker-grid{grid-template-columns:minmax(0,1fr) 180px;align-items:end}@media (max-width:1100px){.settings-marker-list,.settings-marker-list-header{grid-template-columns:72px minmax(0,1fr) minmax(100px,.5fr) minmax(110px,.55fr) minmax(90px,.45fr) minmax(110px,.8fr) auto}}@media (max-width:900px){.settings-marker-list,.settings-assignment-row,.settings-behavior-grid,.stop-marker-grid{grid-template-columns:1fr}.settings-marker-list-header{display:none}.settings-marker-list:not(.settings-marker-list-header){align-items:stretch}.settings-marker-preview-cell,.settings-marker-actions{justify-content:flex-start}}.form-card-embedded{box-shadow:none;background:0 0;border:0;padding:0}.route-library-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.modal-inline-help-row,.field-label-inline{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.modal-inline-help-row{justify-content:space-between}.settings-workspace-card,.settings-tab-panel .terminal-settings-card,.settings-readonly-note,.settings-layout-card,.settings-toggle-card,.settings-marker-list:not(.settings-marker-list-header){border-radius:8px}.settings-tab-bar{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;align-items:flex-end;gap:.35rem;width:100%;max-width:100%;padding:0 .1rem;overflow:visible}.settings-tab-button{min-width:9rem;color:var(--muted);background:#f8fafc;border:1px solid #0000;border-bottom:0;border-radius:10px 10px 0 0;flex:none;margin-bottom:-1px;padding:.72rem 1.05rem .78rem;font-weight:700;line-height:1.1;position:relative}.settings-tab-button:focus-visible{outline-offset:2px;z-index:2;outline:2px solid #2563eb47}.settings-tab-button:last-child{border-right:1px solid #0000}.settings-tab-button-active{border-color:var(--border);color:var(--text);background:#fff;box-shadow:inset 0 2px #2563ebd9}.route-analysis-metrics-row,.route-analysis-map-stats{margin-top:.2rem}@media (max-width:900px){.route-library-actions,.settings-tab-bar{width:100%}.settings-tab-button{flex:1 1 0;min-width:0}}.settings-tab-bar{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;align-items:flex-end;gap:.35rem;width:100%;padding:0 0 .45rem;display:flex;overflow:visible}.settings-tab-button{min-width:8rem;color:var(--muted);box-shadow:none;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:10px 10px 0 0;flex:none;margin:0 0 -1px;padding:.78rem 1.1rem .72rem;font-weight:700;position:relative}.settings-tab-button:hover{color:var(--text);background:#0f172a08}.settings-tab-button-active{border-color:var(--border);color:var(--text);background:#fff}.settings-tab-button-active:after{content:"";background:#fff;height:2px;position:absolute;bottom:-1px;left:0;right:0}@media (max-width:900px){.settings-tab-bar{gap:.25rem;width:100%;padding-bottom:.35rem;overflow-x:auto}.settings-tab-button{flex:none;min-width:7.5rem}}.settings-workspace-card .settings-tab-bar{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;align-items:flex-end;gap:0;width:100%;overflow:visible}.settings-workspace-card .settings-tab-button{min-width:9rem;color:var(--muted);background:0 0;border:1px solid #0000;border-bottom:0;border-top-left-radius:10px;border-top-right-radius:10px;flex:none;margin:0 0 -1px;padding:.75rem 1rem .72rem;font-weight:700;position:relative}.settings-workspace-card .settings-tab-button:hover{color:var(--text);background:#0f172a08}.settings-workspace-card .settings-tab-button:focus-visible{outline-offset:1px;outline:2px solid #2563eb4d}.settings-workspace-card .settings-tab-button-active{border-color:var(--border);color:var(--text);background:#fff}.settings-workspace-card .settings-tab-button-active:after{content:"";background:#fff;height:1px;position:absolute;bottom:-1px;left:0;right:0}.settings-workspace-card .settings-tab-panel{padding-top:1rem}@media (max-width:900px){.settings-workspace-card .settings-tab-bar{overflow-x:auto}.settings-workspace-card .settings-tab-button{flex:1 1 0;min-width:0}}.session-preview-note{color:#ffffffd1;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;padding:.55rem .65rem;font-size:.78rem;line-height:1.45}.session-panel-body input,.session-panel-body select{color:#fff;background:#0f172a80;border-color:#ffffff24}.session-panel-body input:focus,.session-panel-body select:focus{border-color:#60a5facc;box-shadow:0 0 0 3px #60a5fa2e}.session-switcher-actions{flex-wrap:wrap;gap:.5rem;display:flex}.session-switcher-status{color:#fecaca;font-size:.78rem}.mobile-build-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.mobile-build-toggle{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;padding:.4rem .6rem}.mobile-build-toggle input{margin:0}.mobile-build-hint{color:var(--muted);background:#2563eb0f;border:1px solid #2563eb29;border-radius:10px;padding:.75rem .9rem;font-size:.9rem}.route-editor-mobile-build .planner-grid-compact,.route-editor-mobile-build .planner-grid-expanded{grid-template-columns:1fr}.route-editor-mobile-build .planner-map-workspace{order:1}.route-editor-mobile-build .planner-stop-inspector{order:2;max-height:none;position:static}.route-editor-mobile-build .planner-sidebar-surface{order:3}.route-editor-mobile-build .planner-map-toolbar,.route-editor-mobile-build .planner-panel-header,.route-editor-mobile-build .selected-phase-header{flex-direction:column;align-items:stretch}.route-editor-mobile-build .planner-toolbar-actions-clean{align-items:stretch}.route-editor-mobile-build .mobile-build-toolbar{justify-content:flex-start}.route-editor-mobile-build .map-shell-clean,.route-editor-mobile-build .map-canvas-large,.route-editor-mobile-build .leaflet-container{min-height:52vh}@media (max-width:980px){.session-panel{margin-top:.25rem}.mobile-build-toolbar{justify-content:flex-start}}.preview-session-banner{margin-bottom:1rem}.sidebar-brand-block{gap:.25rem;display:grid}.sidebar-brand-subtitle{color:#ffffffad;font-size:.78rem;line-height:1.3}.tech-console-stack{gap:1rem}.tech-grid{grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:1rem;display:grid}.tech-left-column,.tech-right-column{gap:1rem}.tech-banner-card{padding:14px 16px}.tech-capability-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;display:grid}.tech-capability-option{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;align-items:center;gap:.55rem;min-height:40px;padding:.55rem .7rem;display:flex}.tech-tenant-item{border:1px solid var(--border);text-align:left;background:#fff;border-radius:12px;gap:.45rem;width:100%;padding:.8rem .9rem;display:grid}.tech-tenant-item-active{border-color:var(--accent);box-shadow:0 0 0 1px #2563eb33}.tech-tenant-item-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tech-token-area{border:1px solid var(--border);background:var(--surface-subtle);resize:vertical;border-radius:12px;width:100%;min-height:150px;padding:.8rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;line-height:1.45}.tech-domain-list{gap:.75rem;margin-bottom:.9rem;display:grid}.tech-domain-row{border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}@media (max-width:980px){.tech-grid{grid-template-columns:1fr}}.auth-title-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.auth-title-row h1{margin:0}.technician-session-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tech-toolbar-card{padding:14px 16px}.tech-toolbar{align-items:center;gap:1rem}.tech-toolbar-copy{gap:.35rem;display:grid}.tech-heading-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.tech-toolbar-actions{justify-content:flex-end}.tech-tenant-list-card{padding:1rem}.tech-tenant-list{gap:.85rem;display:grid}.tech-workspace-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.tech-workspace-launch{border:1px solid var(--border);text-align:left;background:#fff;border-radius:12px;gap:.55rem;width:100%;padding:.95rem 1rem;display:grid}.tech-workspace-launch:hover:not(:disabled){border-color:var(--accent);box-shadow:0 12px 24px #2563eb14}.tech-workspace-launch:disabled{opacity:.76;cursor:not-allowed}.tech-tenant-summary{gap:.3rem;display:grid}.tech-workspace-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.tech-workspace-launch-caption{font-size:.9rem}.tech-modal-stack{gap:1rem}.tech-modal-token-bar{align-items:center}.tech-admin-summary-row{border:1px solid var(--border);background:var(--surface-subtle);border-radius:.9rem;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1rem;display:flex}.tech-admin-section{border:1px solid var(--border);background:#fff;border-radius:.9rem;padding:1rem}.tech-admin-section-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.tech-admin-section-head h3{margin:0;font-size:1rem}.tech-admin-section-head p{margin:.35rem 0 0}.tech-admin-facts{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.tech-admin-fact{border:1px solid var(--border);background:#fff;border-radius:.9rem;gap:.2rem;padding:.9rem 1rem;display:grid}.tech-admin-fact-label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:600}.tech-admin-action-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.tech-admin-action-button{justify-content:center;min-height:2.75rem}.tech-workspace-row .table-row-actions{align-self:stretch;position:relative}.tech-workspace-row .button-icon{margin-top:.2rem}.table-row-menu button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:860px){.tech-workspace-row{grid-template-columns:1fr}.tech-workspace-badges{justify-content:flex-start}.tech-toolbar{align-items:stretch}.tech-toolbar-actions{justify-content:flex-start}}.tech-tenant-list-card{padding:0;overflow:visible}.tech-tenant-table{display:grid}.tech-tenant-table-header,.tech-tenant-table-row{grid-template-columns:minmax(220px,1.5fr) minmax(180px,1.2fr) 90px minmax(170px,1fr) 120px auto;align-items:center;gap:.75rem;display:grid}.tech-tenant-table-header{border-bottom:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);padding:.8rem 1rem;font-size:.82rem;font-weight:700}.tech-tenant-table-row{border-bottom:1px solid var(--border);background:#fff;padding:.9rem 1rem}.tech-tenant-table-row:last-child{border-bottom:0}.tech-tenant-primary-cell,.tech-tenant-cell{min-width:0}.tech-tenant-open-button{color:var(--text-strong);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.tech-tenant-open-button:hover:not(:disabled){color:var(--accent)}.tech-tenant-open-button:disabled{cursor:not-allowed;opacity:.7}.tech-tenant-open-caption,.tech-tenant-cap-count{margin-top:.2rem;font-size:.82rem;display:block}.tech-tenant-actions-header{text-align:right}.tech-tenant-actions-cell{justify-self:end;align-items:center;gap:.5rem;display:flex;position:relative}.tech-tenant-actions-cell .button-icon{margin-top:0}@media (max-width:980px){.tech-tenant-table-header{display:none}.tech-tenant-table-row{grid-template-columns:1fr;gap:.5rem}.tech-tenant-cell:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.15rem;font-size:.75rem;font-weight:700;display:block}.tech-tenant-actions-cell{justify-self:start}}.landing-page-shell{color:#fff;background:#07101f;margin:-20px}.landing-shell{width:min(1180px,100% - 2rem);margin:0 auto}.landing-hero-section{background-image:linear-gradient(115deg,#07101feb 20%,#07101fa3 56%,#07101fd6 100%),url(/landing-hero.webp);background-position:50%;background-size:cover;min-height:72vh;padding:1.5rem 0 4rem}.landing-brand-row{align-items:center;gap:.85rem;margin-bottom:clamp(2rem,8vh,5rem);display:inline-flex}.landing-brand-mark{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#09112094;border:1px solid #94a3b838;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;padding:.65rem;display:flex}.landing-brand-mark img{object-fit:contain;width:100%;height:100%}.landing-brand-title{font-size:1.55rem;font-weight:700;line-height:1.1}.landing-brand-subtitle{color:#e2e8f0d6;font-size:1rem}.landing-message-banner{margin-bottom:1.25rem}.landing-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,430px);align-items:center;gap:2rem;display:grid}.landing-hero-copy{gap:1.15rem;display:grid}.landing-hero-eyebrow,.landing-section-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#93c5fd;font-size:.8rem;font-weight:700}.landing-hero-title{letter-spacing:-.05em;max-width:10ch;margin:0;font-size:clamp(3rem,5vw,5rem);line-height:.96}.landing-hero-lead{color:#e2e8f0eb;max-width:48ch;margin:0;font-size:1.04rem;line-height:1.7}.landing-hero-pills{flex-wrap:wrap;gap:.65rem;display:flex}.landing-hero-pills span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;background:#0f172a6b;border:1px solid #94a3b82e;border-radius:999px;align-items:center;min-height:2.5rem;padding:.62rem .9rem;font-weight:600;display:inline-flex}.landing-quote-card,.landing-access-card{color:#0f172a;background:#fffffff5;border-radius:24px;gap:1rem;padding:1.35rem;display:grid;box-shadow:0 28px 80px #07101f3d}.landing-quote-card h2,.landing-access-card h2{margin:0;font-size:clamp(1.9rem,3vw,2.4rem);line-height:1.05}.landing-quote-form{gap:.85rem;display:grid}.landing-quote-success{gap:1rem;display:grid}.landing-quote-success-copy{gap:.35rem;display:grid}.landing-quote-success-copy h3{margin:0;font-size:1.25rem}.landing-quote-success-copy p{margin:0}.landing-quote-success-summary{border:1px solid var(--border);background:var(--surface-subtle);border-radius:16px;gap:.2rem;padding:.9rem 1rem;display:grid}.landing-access-section{background:linear-gradient(#07101ffa 0%,#f3f6fb 0% 100%);padding:2rem 0 4rem}.landing-access-card{grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end}.landing-access-copy{gap:.55rem;display:grid}.landing-access-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.landing-access-field{margin:0}.landing-access-error{margin-top:1rem}.tech-console-content-grid{grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:start;gap:1rem;display:grid}.tech-console-main{min-width:0}.tech-inbox-panel{gap:1rem;padding:1rem;display:grid;position:sticky;top:1rem}.tech-inbox-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.tech-inbox-tabs{gap:.5rem;display:flex}.tech-inbox-tab{cursor:pointer;border:1px solid var(--border);background:var(--surface-subtle);min-height:2.5rem;color:var(--text);border-radius:12px;align-items:center;gap:.45rem;padding:.55rem .85rem;font-weight:600;display:inline-flex}.tech-inbox-tab.is-active{color:var(--accent);background:#eef4ff;border-color:#2563eb52}.tech-inbox-list{gap:.6rem;max-height:420px;display:grid;overflow:auto}.tech-inbox-list-item{cursor:pointer;font:inherit;color:var(--text-strong);border:1px solid var(--border);text-align:left;background:#fff;border-radius:14px;gap:.35rem;width:100%;padding:.8rem .9rem;display:grid}.tech-inbox-list-item:hover:not(:disabled),.tech-inbox-list-item.is-selected{border-color:#2563eb47;box-shadow:0 10px 24px #2563eb14}.tech-inbox-list-item.is-unread{background:#f8fbff}.tech-inbox-list-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tech-inbox-type{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.74rem;font-weight:700}.tech-inbox-time{font-size:.78rem}.tech-inbox-line{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tech-inbox-detail{border:1px solid var(--border);background:var(--surface-subtle);border-radius:16px;gap:.9rem;padding:1rem;display:grid}.tech-inbox-detail-top{gap:.45rem;display:grid}.tech-inbox-detail-top h3{margin:0;font-size:1.15rem}.tech-inbox-detail-badges{flex-wrap:wrap;gap:.45rem;display:flex}.tech-inbox-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.tech-inbox-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.2rem;font-size:.74rem;font-weight:700;display:block}.tech-inbox-detail-message{border:1px solid var(--border);background:#fff;border-radius:14px;padding:.9rem 1rem}.tech-inbox-footnote{font-size:.84rem}.tech-reply-card{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;gap:.35rem;padding:.95rem 1rem;display:grid}.tech-notification-message{color:var(--text-muted);white-space:pre-wrap;margin:0;line-height:1.55}.tech-notification-actions{gap:.5rem}.mini-badge-light{color:var(--text-muted);background:#f1f5f9}@media (max-width:980px){.landing-hero-grid,.landing-access-card,.tech-console-content-grid,.landing-access-form{grid-template-columns:1fr}.landing-hero-section{min-height:auto;padding-bottom:3rem}.tech-inbox-panel{position:static}}@media (max-width:720px){.landing-page-shell{margin:-16px}.landing-brand-row{margin-bottom:2rem}.landing-hero-title{max-width:none}.tech-inbox-header,.tech-inbox-list-top{flex-direction:column;align-items:stretch}.tech-inbox-detail-grid{grid-template-columns:1fr}}
