.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.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,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.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{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{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-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{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{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-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.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-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers.ef6db872.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers-2x.9859cd12.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{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/_next/static/media/marker-icon.d577052a.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.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-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.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{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--color-bg:#f5f6f8;--color-surface-alt:#eef1f5;--color-text:#1a1d21;--color-text-muted:#5b6470;--color-border:#d9dee4;--color-border-strong:#b9c1cb;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-contrast:#ffffff;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-contrast:#ffffff;--color-success:#16a34a;--color-warning:#b45309;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(16,24,40,0.06);--shadow-md:0 4px 12px rgba(16,24,40,0.1);--container-max:1080px;--tap-target:44px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-4)}.page{padding:var(--space-6) 0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.page-title{font-size:1.5rem;font-weight:650;letter-spacing:-.01em}.page-subtitle{font-size:.925rem;margin-top:var(--space-1)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.card-body{padding:var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-4);font-size:.95rem;font-weight:550;font-family:inherit;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:var(--color-danger-contrast)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-alt)}.btn-sm{min-height:34px;padding:0 var(--space-3);font-size:.85rem}.form{display:flex;flex-direction:column}.form,.form-grid{gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.label{font-size:.875rem;font-weight:550;color:var(--color-text)}.label-hint{font-weight:400;color:var(--color-text-muted);font-size:.8rem}.input,.textarea{width:100%;min-height:var(--tap-target);padding:var(--space-2) var(--space-3);font-size:.95rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.textarea{min-height:96px;resize:vertical}.input:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg)}.table{width:100%;border-collapse:collapse;font-size:.925rem}.table td,.table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.table thead th{background:var(--color-surface-alt);font-weight:600;font-size:.8rem;letter-spacing:.04em;color:var(--color-text-muted)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--color-surface-alt)}.table tbody tr[draggable=true]{cursor:-webkit-grab;cursor:grab}.table tbody tr[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.table tbody tr.drag-row{opacity:.45}.table tbody tr.drag-over td{box-shadow:inset 0 3px 0 var(--color-primary)}.muted{color:var(--color-text-muted)}.coords{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-muted);border:1px solid var(--color-border)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.9rem;border:1px solid var(--color-border);background:var(--color-surface)}.alert-error{border-color:rgba(220,38,38,.4);background:rgba(220,38,38,.08);color:var(--color-danger)}.empty{padding:var(--space-6);text-align:center;color:var(--color-text-muted)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row-end{justify-content:flex-end}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.link-list{display:flex;gap:var(--space-3);flex-wrap:wrap}.link-list a{font-size:.85rem}.actions-cell{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.admin-shell{min-height:100vh;display:flex;flex-direction:column}.admin-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.admin-header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);padding-bottom:var(--space-4)}.brand{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.admin-nav{display:flex;gap:var(--space-2)}.admin-nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.9rem;font-weight:550;color:var(--color-text-muted)}.admin-nav-link:hover{text-decoration:none}.admin-nav-link.active,.admin-nav-link:hover{background:var(--color-surface-alt);color:var(--color-text)}.admin-main{flex:1 1}.dialog-overlay{position:fixed;inset:0;background:rgba(16,24,40,.45);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:50}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:420px;padding:var(--space-5)}.dialog-title{font-size:1.1rem;font-weight:650;margin-bottom:var(--space-2)}.dialog-text{color:var(--color-text-muted);font-size:.925rem;margin-bottom:var(--space-5)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.point-map{height:320px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);position:relative;z-index:0}.map-placeholder{height:320px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.9rem;padding:var(--space-4);text-align:center}.point-map-marker{background:transparent;border:none}.point-map-marker-pin{width:20px;height:20px;margin:2px;border-radius:50%;background:var(--color-primary);border:3px solid #ffffff;box-shadow:0 1px 4px rgba(16,24,40,.4);cursor:-webkit-grab;cursor:grab}.point-map-marker-pin:active{cursor:-webkit-grabbing;cursor:grabbing}.field-shell{min-height:100vh;display:flex;flex-direction:column}.field-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.field-header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);padding-bottom:var(--space-4)}.field-main{flex:1 1;max-width:480px}.field-loading{padding:var(--space-6);text-align:center;color:var(--color-text-muted)}.field-status{padding:var(--space-4) 0}.field-route-picker,.field-status{display:flex;flex-direction:column;gap:var(--space-4)}.field-route-list,.field-route-section{display:flex;flex-direction:column;gap:var(--space-3)}.field-route-section h2{margin:0;font-size:1rem;font-weight:700;color:var(--color-text)}.field-route-card-main{display:flex;min-width:0;flex-direction:column;gap:.2rem}.field-route-card-active{border-color:rgba(37,99,235,.45);background:rgba(37,99,235,.06)}.field-route-action{flex:0 0 auto;margin-left:var(--space-3);color:var(--color-primary);font-size:.85rem;font-weight:700}.delete-countdown{margin-top:var(--space-3);padding:var(--space-3);border:1px solid rgba(220,38,38,.28);border-radius:var(--radius-md);background:rgba(220,38,38,.06);color:var(--color-danger);font-weight:650}.delete-countdown.ready{border-color:rgba(220,38,38,.5);background:rgba(220,38,38,.1)}.field-route-card{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--tap-target);padding:var(--space-4);font-size:1rem;font-weight:550;font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,border-color .12s ease;text-align:left}.field-route-card:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-border-strong)}.field-route-card:disabled{opacity:.6;cursor:not-allowed}.field-route-name{font-weight:600}.field-route-count{font-size:.85rem;color:var(--color-text-muted)}.field-point-view{display:flex;flex-direction:column;gap:var(--space-4)}.field-point-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.field-position{display:flex;align-items:baseline;gap:var(--space-1);font-size:1.5rem;font-weight:700}.field-position-current{color:var(--color-primary)}.field-position-sep,.field-position-total{color:var(--color-text-muted);font-weight:400}.field-progress-bar{width:100%;height:6px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.field-progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .2s ease}.field-point-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.field-point-name{font-size:1.25rem;font-weight:650;letter-spacing:-.01em}.field-point-address{font-size:.95rem;color:var(--color-text-muted)}.field-point-notes{font-size:.875rem}.field-map{height:220px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);position:relative;z-index:0;isolation:isolate;overflow:hidden;contain:layout paint}.field-nav-links{display:flex;flex-direction:column;gap:var(--space-2)}.field-nav-btn{width:100%;justify-content:center;font-size:.9rem}.field-actions{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-6)}.field-action-btn{width:100%;min-height:56px;font-size:1.05rem;font-weight:650;letter-spacing:.02em}.field-action-collected{background:var(--color-success);color:#ffffff}.field-action-collected:hover:not(:disabled){background:#15803d}.field-action-not-collected{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.field-action-not-collected:hover:not(:disabled){background:rgba(220,38,38,.06)}.field-action-next{background:var(--color-surface-alt);color:var(--color-text-muted);border-color:var(--color-border)}.field-action-next:hover:not(:disabled){background:var(--color-border)}.skip-reason-panel{margin-top:1rem;padding:1rem;display:grid;grid-gap:.8rem;gap:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.skip-reason-panel .field{gap:.45rem}.skip-reason-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.not-collected-reasons{display:grid;grid-gap:.4rem;gap:.4rem}.not-collected-reason-option{display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);cursor:pointer}.not-collected-reason-option:hover{border-color:var(--color-text-muted)}.not-collected-reason-option input{accent-color:var(--color-primary,#2563eb)}.history-action-reason{margin:.2rem 0;padding-left:.65rem;color:var(--color-text)}.history-action-line{white-space:nowrap}.history-page-header{margin-bottom:var(--space-5)}.history-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.history-session-count{padding:.2rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);background:var(--color-surface);font-size:.82rem;font-weight:600}.history-session-list{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.history-session-card{padding:0;overflow:hidden}.history-session-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-alt)}.history-eyebrow,.history-meta-label{display:block;color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.history-route-title{margin-top:.15rem;font-size:1.2rem;line-height:1.3}.history-status{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:650;white-space:nowrap}.history-status.is-finished{color:#166534;background:#dcfce7}.history-status.is-active{color:#92400e;background:#fef3c7}.history-status-dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.history-session-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1rem;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.history-meta-label{margin-bottom:.25rem}.history-meta-secondary,.history-meta-value{display:block;overflow-wrap:anywhere}.history-meta-value{font-weight:600}.history-meta-secondary{color:var(--color-text-muted);font-size:.9rem}.history-progress{padding:1rem 1.5rem 1.15rem;border-bottom:1px solid var(--color-border)}.history-progress-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.history-progress-heading h3{font-size:.95rem}.history-progress-heading span{color:var(--color-text-muted);font-size:.82rem;text-align:right}.history-progress-track{height:.5rem;overflow:hidden;border-radius:var(--radius-full);background:var(--color-surface-alt)}.history-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .2s ease}.history-progress-counts{display:flex;flex-wrap:wrap;gap:.45rem 1.15rem;margin-top:.75rem;color:var(--color-text-muted);font-size:.82rem}.history-progress-counts span{display:inline-flex;align-items:center;gap:.4rem}.history-progress-counts i{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-border-strong)}.history-progress-counts i.collected{background:var(--color-success)}.history-progress-counts i.not-collected{background:var(--color-danger)}.history-progress-counts i.skipped{background:var(--color-warning)}.history-actions{padding:.9rem 1.5rem 1rem}.history-actions>summary{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.9rem;font-weight:650;list-style-position:outside}.history-action-count{display:inline-grid;min-width:1.45rem;height:1.45rem;place-items:center;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.75rem}.history-timeline{display:grid;grid-gap:.15rem;gap:.15rem;margin:.85rem 0 0;padding:0;list-style:none}.history-timeline-item{display:grid;grid-template-columns:.75rem minmax(0,1fr);grid-gap:.7rem;gap:.7rem;padding:.55rem 0}.history-timeline-marker{width:.62rem;height:.62rem;margin-top:.36rem;border:2px solid var(--color-border-strong);border-radius:50%}.history-timeline-marker.collected{border-color:var(--color-success);background:var(--color-success)}.history-timeline-marker.not-collected{border-color:var(--color-danger);background:var(--color-danger)}.history-timeline-marker.skipped{border-color:var(--color-warning);background:var(--color-warning)}.history-event-line{display:grid;grid-template-columns:1.4rem minmax(10rem,1fr) 8.5rem 13.5rem;align-items:center;grid-gap:.45rem .65rem;gap:.45rem .65rem}.history-event-position{display:inline-grid;width:1.4rem;height:1.4rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.74rem;font-weight:700}.history-event-name{font-weight:600}.history-action-badge{padding:.14rem .5rem;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.73rem;font-weight:650;white-space:nowrap}.history-action-badge.collected{background:#dcfce7;color:#166534}.history-action-badge.not-collected{background:#fee2e2;color:#991b1b}.history-action-badge.skipped{background:#fef3c7;color:#92400e}.history-event-time{color:var(--color-text-muted);font-size:.82rem;white-space:nowrap}.history-action-reason{margin:.35rem 0 0;padding:.3rem .6rem;border-left:2px solid var(--color-warning);color:var(--color-text-muted);font-size:.86rem}.history-no-actions{margin:.75rem 0 0;color:var(--color-text-muted);font-size:.9rem}@media (max-width:600px){.history-actions,.history-progress,.history-session-heading,.history-session-meta{padding-left:1rem;padding-right:1rem}.history-session-meta{grid-template-columns:1fr}.history-progress-heading{align-items:flex-start;flex-direction:column;gap:.15rem}.history-progress-heading span{text-align:left}.history-event-line{grid-template-columns:1.4rem minmax(0,1fr);align-items:start;gap:.35rem .6rem}.history-event-position{grid-column:1;grid-row:1/span 3}.history-event-name{grid-column:2;grid-row:1}.history-action-badge{grid-column:2;grid-row:2;justify-self:start}.history-event-time{grid-column:2;grid-row:3;white-space:normal}}.field-complete{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0}.field-progress-summary{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.field-progress-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.field-progress-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.field-progress-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.field-finish-btn{width:100%;min-height:56px;font-size:1.05rem;font-weight:650}.field-finished-note{flex-direction:column;text-align:center}.field-finished-note,.header-actions{display:flex;gap:var(--space-3);align-items:center}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.login-card{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.login-title{font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.login-subtitle{color:var(--color-text-muted);font-size:.925rem}.login-form{gap:var(--space-4)}.login-submit{width:100%;min-height:48px;font-weight:650;letter-spacing:.02em}.admin-home-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.admin-home-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);color:var(--color-text)}.admin-home-card:hover{text-decoration:none;border-color:var(--color-border-strong)}.admin-home-card-title{font-weight:650;font-size:1.05rem}.admin-home-card-disabled{opacity:.7}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.page-title{font-size:1.3rem}.admin-home-cards{grid-template-columns:1fr}}.platform-shell{min-height:100vh}.platform-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.platform-nav{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;padding-top:1rem;padding-bottom:1rem}.platform-nav .brand{font-size:1.15rem;font-weight:750}.platform-account,.platform-nav-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.platform-nav-links a{display:inline-flex;align-items:center;min-height:var(--tap-target)}.platform-account{font-size:.9rem}.platform-main{padding-top:3rem}.platform-eyebrow{color:var(--color-primary);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}.platform-app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-gap:1.5rem;gap:1.5rem}.platform-app-card{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.75rem;max-width:440px}.platform-app-card h2{font-size:1.4rem}.platform-app-card .btn{margin-top:auto}.platform-app-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--color-surface-alt);border-radius:var(--radius-md);font-size:1.6rem;color:var(--color-primary)}.platform-access-note{border-top:1px solid var(--color-border);padding-top:1rem;color:var(--color-text-muted);font-size:.9rem}.platform-empty,.platform-overview{padding:2rem;display:grid;justify-items:start;grid-gap:1rem;gap:1rem}.platform-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.record-count{color:var(--color-text-muted);font-size:.85rem;font-weight:650;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);white-space:nowrap}.user-create-form{padding:1.5rem}.panel-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel-heading h2,.section-heading h2,.user-info-card h2{font-size:1.15rem;letter-spacing:-.015em;margin-top:.2rem}.panel-kicker{color:var(--color-primary);font-size:.7rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.panel-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:9px;color:var(--color-primary);background:rgba(37,99,235,.1);font-size:1.25rem}.panel-help{color:var(--color-text-muted);font-size:.88rem;margin:.55rem 0 1.25rem}.user-form-grid{gap:1rem}.field-full{grid-column:1/-1}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.form-note{color:var(--color-text-muted);font-size:.78rem}.form-error,.form-success{margin-top:.8rem;font-size:.85rem}.form-success{color:var(--color-success)}.form-error{color:var(--color-danger)}.user-info-card{padding:1.5rem;background:linear-gradient(145deg,#18243b,#263b63);border-radius:var(--radius-lg);color:#fff;box-shadow:0 10px 24px rgba(20,38,72,.18)}.user-info-card .panel-kicker{color:#a9c7ff}.user-info-card h2{margin:.3rem 0 .55rem}.user-info-card>p{color:#c8d5ea;font-size:.88rem;line-height:1.55;margin-bottom:1.4rem}.access-rule{display:flex;align-items:flex-start;gap:.7rem;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.14)}.access-rule small,.access-rule strong{display:block}.access-rule strong{font-size:.85rem}.access-rule small{color:#b9c9e1;font-size:.75rem;margin-top:.15rem}.rule-dot{flex:0 0 auto;width:.55rem;height:.55rem;margin-top:.25rem;border-radius:50%}.rule-dot-blue{background:#8bb5ff;box-shadow:0 0 0 4px rgba(139,181,255,.15)}.rule-dot-violet{background:#d0a7ff;box-shadow:0 0 0 4px rgba(208,167,255,.15)}.user-list-section{margin-top:2rem}.section-heading{align-items:center;margin-bottom:.8rem}.section-heading .muted{font-size:.8rem}.table-card{overflow:hidden}.table-card .table th{white-space:nowrap}.status-chip{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:.25rem .55rem;background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.01em}.status-chip-blue{color:#2456ad;background:#e8f0ff}.status-live,.status-offline{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:650;white-space:nowrap}.status-live i,.status-offline i{width:.45rem;height:.45rem;border-radius:50%;background:var(--color-success)}.status-offline{color:var(--color-text-muted)}.status-offline i{background:var(--color-border-strong)}.user-control-actions{display:flex;flex-wrap:wrap;gap:.35rem;min-width:245px}.user-control-actions .btn{background:var(--color-surface)}.user-control-actions .btn-danger:hover:not(:disabled){background:rgba(220,38,38,.08)}.user-control-error{color:var(--color-danger);font-size:.76rem;margin-top:.35rem;max-width:270px}.dialog .field{margin:1rem 0}@media (max-width:760px){.platform-page-heading{align-items:flex-start;flex-direction:column;margin-bottom:1.4rem}.user-form-grid,.user-management-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-footer{align-items:stretch;flex-direction:column}.form-footer .btn{width:100%}.user-create-form,.user-info-card{padding:1.15rem}.section-heading{align-items:flex-start;flex-direction:column;gap:.3rem}}@media (max-width:640px){.platform-nav{gap:.5rem 1rem}.platform-nav>.brand{width:100%}.platform-account{margin-left:0;width:100%;justify-content:space-between}.platform-main{padding-top:1.75rem}.platform-app-card{max-width:none;padding:1.25rem}}:root{--bs-primary:#315ee8;--bs-primary-rgb:49,94,232;--bs-body-bg:#f4f6fa;--bs-body-color:#18243a;--bs-border-color:#e1e6ef;--bs-border-radius:.7rem;--bs-border-radius-lg:.9rem;--color-bg:#f4f6fa;--color-surface:#ffffff;--color-surface-alt:#f1f4f9;--color-text:#18243a;--color-text-muted:#657187;--color-border:#e1e6ef;--color-border-strong:#c8d0de;--color-primary:#315ee8;--color-primary-hover:#254bc4;--color-success:#168154;--color-warning:#a7650b;--shadow-sm:0 1px 2px rgba(21,34,56,.04),0 3px 12px rgba(21,34,56,.035)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.card{border-color:var(--bs-border-color);border-radius:var(--bs-border-radius-lg);box-shadow:var(--shadow-sm)}.btn{font-weight:600;letter-spacing:-.005em;transition:background-color .13s ease,border-color .13s ease,box-shadow .13s ease,color .13s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{--bs-btn-bg:var(--color-primary);--bs-btn-border-color:var(--color-primary);--bs-btn-hover-bg:var(--color-primary-hover);--bs-btn-hover-border-color:var(--color-primary-hover)}.btn-outline-secondary{--bs-btn-color:#45536b;--bs-btn-border-color:#cbd3e0;--bs-btn-hover-bg:#f1f4f9;--bs-btn-hover-color:#24324c;--bs-btn-hover-border-color:#b5c0d1;color:#45536b;border-color:#cbd3e0}.btn-outline-danger{--bs-btn-color:#b23b45;--bs-btn-border-color:#e5bcc0;--bs-btn-hover-bg:#fff0f1;--bs-btn-hover-color:#982d37;--bs-btn-hover-border-color:#dca3a9;color:#b23b45;border-color:#e5bcc0}.form-control,.form-select,.input{min-height:44px;border-color:var(--color-border-strong);border-radius:.55rem}.form-control:focus,.form-select:focus,.input:focus{border-color:#7393ff;box-shadow:0 0 0 .22rem rgba(49,94,232,.13)}.field .label,.form-label{color:#354158;font-size:.84rem;font-weight:650}.table{--bs-table-bg:transparent;--bs-table-hover-bg:#f5f7fb;color:var(--color-text);margin-bottom:0}.table thead th{background:#f7f8fb;color:#68758b;font-size:.72rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.table td,.table th{padding:.8rem .85rem;vertical-align:middle}.table-responsive{border-radius:inherit}.platform-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(21,34,56,.04);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.platform-nav{padding:.55rem 0}.platform-nav-main{position:relative;display:flex;width:100%;align-items:center;gap:1.2rem}.platform-nav .brand{display:inline-flex;align-items:center;gap:.6rem;margin:0;color:var(--color-text);font-size:1.02rem;font-weight:760;letter-spacing:-.035em}.brand-mark{display:inline-grid;width:31px;height:31px;place-items:center;border-radius:9px;background:linear-gradient(145deg,#3b67ed,#264cc1);color:#fff;font-size:.9rem;font-weight:800;box-shadow:0 4px 9px rgba(49,94,232,.22)}.platform-nav-links{align-items:center;gap:.2rem}.platform-nav-links .nav-link{display:inline-flex;min-height:38px;align-items:center;padding:.45rem .72rem;border-radius:.55rem;color:#5c6880;font-size:.84rem;font-weight:580;white-space:nowrap}.platform-nav-links .nav-link:hover{background:#f2f5fb;color:#1f3158;text-decoration:none}.platform-account{display:flex;align-items:center;gap:.7rem;margin-left:auto;color:var(--color-text-muted);font-size:.82rem;white-space:nowrap}.platform-account .btn{min-height:36px;padding-inline:.8rem}.platform-mobile-menu{position:relative;margin-left:auto}.platform-mobile-menu>summary{display:flex;min-height:38px;align-items:center;list-style:none;cursor:pointer}.platform-mobile-menu>summary::-webkit-details-marker{display:none}.platform-mobile-menu-panel{position:absolute;top:calc(100% + .65rem);right:0;z-index:40;display:grid;min-width:220px;padding:.5rem;border:1px solid var(--color-border);border-radius:.8rem;background:#fff;box-shadow:0 12px 30px rgba(19,34,60,.15)}.platform-mobile-menu-panel .nav-link{min-height:42px;padding:.65rem .75rem;border-radius:.5rem;color:var(--color-text)}.platform-mobile-menu-panel .nav-link:hover{background:#f2f5fb;text-decoration:none}.platform-account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis}.admin-header,.field-header{background:#fff;border-bottom-color:var(--color-border)}.admin-header-inner{min-height:54px;gap:1rem;padding-top:.45rem;padding-bottom:.45rem}.admin-header-inner>.brand,.field-header-inner>.brand{color:#283650;font-size:.85rem;font-weight:750;letter-spacing:.01em}.admin-header-inner>.badge,.field-header-inner>.badge{font-size:.68rem;font-weight:650}.admin-nav{align-items:center;gap:.2rem}.admin-nav-link{min-height:38px;padding:.45rem .75rem;color:#5e6b81;font-size:.84rem;font-weight:600}.admin-nav-link:hover{background:#f2f5fb;color:#223353}.admin-nav-link.active{background:#edf2ff;color:#244bbd}.admin-main,.field-main{width:min(100%,1440px);margin-inline:auto}.platform-main{width:min(100%,1480px);margin-inline:auto;padding-top:2.25rem;padding-bottom:3rem}.platform-eyebrow{margin-bottom:.4rem;font-size:.7rem;letter-spacing:.11em}.page-title{color:var(--color-text);font-size:clamp(1.65rem,2vw,2rem);font-weight:720;letter-spacing:-.035em}.page-subtitle{max-width:65ch;color:var(--color-text-muted);font-size:.91rem}.platform-app-grid{display:flex}.platform-app-card{max-width:none;padding:1.4rem;border-color:var(--bs-border-color);border-radius:var(--bs-border-radius-lg);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.platform-app-card:hover{border-color:#c5d2f8;box-shadow:0 8px 22px rgba(29,49,92,.08)}.platform-overview{padding:1.4rem;border-radius:var(--bs-border-radius-lg)}.platform-overview .list-group{margin:-.25rem -1.4rem}.platform-overview .list-group-item{padding:.9rem 1.4rem;border-color:var(--color-border)}.platform-page-heading{margin-bottom:1.5rem}.record-count{padding:.45rem .75rem}.user-management-grid{align-items:stretch}.user-management-grid>[class*=col-]{display:flex}.user-management-grid>[class*=col-]>.card,.user-management-grid>[class*=col-]>.user-info-card{width:100%}.user-create-form{padding:clamp(1rem,2vw,1.5rem)}.user-form-grid{margin-top:.1rem}.form-footer{flex-wrap:wrap}.form-footer .form-note{margin-bottom:0}.user-info-card{box-shadow:0 10px 24px rgba(20,38,72,.13)}.user-list-section{margin-top:1.75rem}.table-card{border-radius:var(--bs-border-radius-lg)}.table-card .table{min-width:900px}.user-control-actions{min-width:250px}.user-control-actions .btn{min-height:34px;border-color:var(--color-border-strong);border-radius:.5rem;font-size:.75rem}.user-control-actions .btn-danger{color:var(--color-danger);border-color:rgba(220,38,38,.28)}.field-main{max-width:720px}.field-header-inner{min-height:52px;padding-top:.35rem;padding-bottom:.35rem}.field .form-control,.field .form-select,.field .input{width:100%}.field-complete,.field-point-card,.field-route-card,.history-session-card{border-radius:var(--bs-border-radius-lg)}.badge.text-bg-primary{border-color:var(--color-primary);background:var(--color-primary)!important;color:#fff!important}.badge.text-bg-success{border-color:#168154;background:#168154!important;color:#fff!important}.badge.text-bg-secondary{border-color:#667085;background:#667085!important;color:#fff!important}.badge.text-bg-light{border-color:var(--color-border);background:#f1f4f9!important;color:#4c5a70!important}.route-create-input{flex:1 1 250px}@media (max-width:767.98px){.platform-main{padding-top:1.5rem;padding-bottom:2rem}.platform-account{width:auto;margin-left:auto}.admin-header-inner{flex-wrap:wrap;justify-content:flex-start}.admin-header-inner>.badge{margin-left:auto}.admin-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem}.admin-nav-link{flex:0 0 auto}.field-main{max-width:100%}.table-card .table{min-width:840px}.user-management-grid>[class*=col-]{display:block}}@media (max-width:575.98px){.platform-nav-main{gap:.5rem}.platform-nav .brand{font-size:.96rem}.platform-account{gap:.4rem}.platform-account-name{display:none}.platform-account .btn{min-height:34px;padding-inline:.6rem}.platform-mobile-menu{margin-left:.25rem}.admin-header-inner>.badge{display:none}.page{padding-top:1.15rem}.page-header{align-items:flex-start}.field-main .page{padding-inline:0}.field-actions{display:grid;grid-template-columns:1fr}.field-action-btn{min-height:52px}.user-control-actions{min-width:220px}}@media (hover:hover) and (pointer:fine){.platform-app-card:hover{transform:translateY(-2px)}}@media (min-width:992px){.platform-header{position:fixed;inset:0 auto 0 0;z-index:1000;width:264px;border:0;background:#111a2c;box-shadow:8px 0 24px rgba(12,22,39,.08);-webkit-backdrop-filter:none;backdrop-filter:none}.platform-nav,.platform-nav-main,.platform-nav>.container-fluid{height:100%}.platform-nav{align-items:stretch;padding:0}.platform-nav>.container-fluid{padding:0 1rem!important}.platform-nav-main{flex-direction:column;align-items:stretch;gap:1.15rem;padding:1.35rem 0 1rem}.platform-nav .brand{min-height:42px;color:#f6f8ff;font-size:1.03rem}.brand-mark{width:34px;height:34px;border-radius:10px;background:#476ff1;box-shadow:none}.platform-nav-caption,.platform-nav-section-label{padding:.35rem .75rem;color:#8592aa;font-size:.65rem;font-weight:750;letter-spacing:.12em}.platform-nav-section-label{padding-top:1.2rem}.platform-nav-links{flex-direction:column;align-items:stretch;gap:.25rem}.platform-nav-links .nav-link{min-height:44px;gap:.8rem;padding:.65rem .75rem;border-radius:.65rem;color:#bac4d6;font-size:.88rem;font-weight:550}.platform-nav-links .nav-link[aria-current=page]{background:#253451;color:#fff;box-shadow:inset 3px 0 #6689ff}.platform-nav-links .nav-link:hover{background:#1b2941;color:#fff;text-decoration:none}.platform-nav-icon{display:inline-grid;width:1.3rem;place-items:center;color:#9cabc4;font-size:1.08rem}.platform-nav-links .nav-link[aria-current=page] .platform-nav-icon{color:#9db4ff}.platform-account{width:100%;gap:.65rem;margin:auto 0 0;padding:1rem .1rem .15rem;border-top:1px solid #2b3850;color:#d8deea;white-space:normal}.platform-account-avatar{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:50%;background:#344665;color:#fff;font-weight:700}.platform-account-name{display:flex;min-width:0;flex:1 1;flex-direction:column;gap:.15rem}.platform-account-name strong{overflow:hidden;color:#f4f6fa;font-size:.79rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.platform-account-name small{color:#99a7bd;font-size:.68rem}.platform-account .btn{min-height:34px;padding-inline:.55rem;border-color:#40506b;background:transparent;color:#c9d2e2;font-size:.72rem}.platform-account .btn:hover{border-color:#60728e;background:#1b2941;color:#fff}.platform-mobile-menu{display:none!important}.admin-header,.field-header,.platform-main{margin-left:264px}.platform-main{width:auto;max-width:1480px}.admin-header-inner{max-width:1440px}.admin-main{flex:1 1 auto;width:calc(100% - 264px);max-width:none;margin-left:264px;margin-right:0}.admin-main>.page{width:min(100%,1440px)}.field-header-inner{max-width:720px}.field-main{width:min(720px,calc(100vw - 264px));margin-left:calc(264px + max(0px, (100vw - 264px - 720px) / 2));margin-right:auto}}@media (max-width:991.98px){.platform-header{position:-webkit-sticky;position:sticky;inset:auto;width:100%;height:auto;border-bottom:1px solid var(--color-border);background:rgba(255,255,255,.96);box-shadow:0 1px 8px rgba(21,34,56,.05)}.platform-nav,.platform-nav-main,.platform-nav>.container-fluid{height:auto}.platform-nav{align-items:center;padding:.55rem 0}.platform-nav>.container-fluid{padding-inline:max(.75rem,calc((100vw - 960px) / 2))!important}.platform-nav-main{flex-direction:row;align-items:center;gap:.65rem;padding:0}.platform-nav .brand{color:var(--color-text)}.platform-account-avatar,.platform-account-name small,.platform-nav-caption{display:none}.platform-account-name{color:var(--color-text-muted)}.platform-account-name strong{font-size:.78rem;font-weight:550}.platform-nav-links{display:none!important}.platform-mobile-menu{display:block!important}.platform-mobile-menu-panel{grid-template-columns:1fr}.platform-mobile-menu-panel .platform-nav-section-label{color:#7b879a;font-size:.64rem;font-weight:750;letter-spacing:.1em;padding:.65rem .75rem .25rem}.platform-mobile-menu-panel .nav-link{display:flex;align-items:center;gap:.7rem}.admin-header,.admin-main,.field-header,.field-main,.platform-main{margin-left:0}.admin-main,.field-main,.platform-main{width:100%}}@media (max-width:575.98px){.platform-nav>.container-fluid{padding-inline:.75rem!important}.platform-nav-main{gap:.45rem}.platform-nav .brand{width:auto;font-size:.92rem}.platform-account{width:auto;margin-left:auto}.platform-account-name{display:none}.platform-mobile-menu{margin-left:.1rem}}.field-app{min-height:100%;gap:var(--space-4)}.field-app,.field-app-header{display:flex;flex-direction:column}.field-app-header{gap:var(--space-2);padding:var(--space-3) 0}.field-app-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.field-app-route-name{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.field-app-progress-label{font-size:.9rem;font-weight:650;color:var(--color-text-muted)}.field-app-main{flex:1 1;display:flex;flex-direction:column;gap:var(--space-3)}.field-tabbar{display:flex;gap:var(--space-2);padding:var(--space-2) 0}.field-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.9rem;font-weight:600;font-family:inherit;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.field-tab:hover{background:var(--color-surface-alt);color:var(--color-text)}.field-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#ffffff}.field-bottom-nav,.field-bottom-nav-btn{display:none}.field-point-list-view{display:flex;flex-direction:column;gap:var(--space-3)}.field-point-list-controls{display:flex;gap:var(--space-2)}.field-filter,.field-search{width:100%;min-height:var(--tap-target);padding:var(--space-2) var(--space-3);font-size:.95rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.field-filter:focus,.field-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.field-point-list{display:flex;flex-direction:column;gap:var(--space-2)}.field-point-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-target);padding:var(--space-3);font-family:inherit;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.field-point-row:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.field-point-row-pos{display:inline-grid;place-items:center;flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.8rem;font-weight:700}.field-point-row-main{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.field-point-row-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-point-row-address,.field-point-row-detail{font-size:.85rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-empty-note{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:.9rem}.field-back-btn{align-self:flex-start;padding:var(--space-2) var(--space-3);font-size:.9rem;font-weight:600;font-family:inherit;color:var(--color-primary);background:none;border:none;cursor:pointer}.field-status-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:650;white-space:nowrap}.field-status-badge.todo{background:var(--color-surface-alt);color:var(--color-text-muted)}.field-status-badge.later{background:#fef3c7;color:#92400e}.field-status-badge.collected{background:#dcfce7;color:#166534}.field-status-badge.not_collected{background:#fee2e2;color:#991b1b}.field-status-badge.skipped{background:#fef3c7;color:#92400e}.field-result-summary{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-md)}.field-result-line{display:flex;align-items:center;gap:var(--space-2)}.field-result-time{font-size:.85rem;color:var(--color-text-muted)}.field-result-detail{font-size:.9rem}.field-result-note{color:var(--color-text-muted)}.field-correct-btn{align-self:flex-start}.field-form-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.field-form-label{font-size:.85rem;font-weight:650;color:var(--color-text)}.field-correction-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.field-correction-actions .field-action-btn{min-height:var(--tap-target);font-size:.9rem}.field-form-select,.field-form-textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:.95rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.field-form-textarea{min-height:72px;resize:vertical}.field-form-select:focus,.field-form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.field-form-footer{display:flex;gap:var(--space-2)}.field-form-footer .btn{flex:1 1}.field-complete-title{font-size:1.4rem;font-weight:700}.field-complete-sub{color:var(--color-text-muted)}.field-collect-view{display:flex;flex-direction:column;gap:var(--space-3)}.field-map-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.field-map-links{display:flex;gap:var(--space-2);position:relative;z-index:1;background:var(--color-surface)}.field-map-links .field-nav-btn{flex:1 1}.field-menu{gap:var(--space-4)}.field-menu,.field-menu-section{display:flex;flex-direction:column}.field-menu-section{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.field-menu-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.field-menu-label{font-size:.9rem;color:var(--color-text-muted)}.field-menu-value{font-size:.9rem;font-weight:600;text-align:right}.field-defer-btn{min-height:var(--tap-target)}.field-error{padding:var(--space-3);color:var(--color-danger);background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.25);border-radius:var(--radius-md);font-size:.9rem}.field-sync-status{font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);white-space:nowrap}.field-sync-status.online{color:var(--color-success);border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.08)}.field-sync-status.offline{color:var(--color-warning);border-color:rgba(180,83,9,.35);background:rgba(180,83,9,.08)}.field-offline-banner{border:1px solid rgba(180,83,9,.35);border-radius:var(--radius-md);background:rgba(180,83,9,.08);color:var(--color-warning)}.field-offline-banner,.field-sync-error{padding:var(--space-2) var(--space-3);font-size:.85rem}.field-sync-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border:1px solid rgba(220,38,38,.35);border-radius:var(--radius-md);background:rgba(220,38,38,.06);color:var(--color-danger)}.offline-page{max-width:28rem;margin:15vh auto 0;text-align:center}.field-route-picker-header h1{font-size:1.5rem;font-weight:700}.field-route-picker-header p{color:var(--color-text-muted)}.field-route-starting{font-size:.8rem;color:var(--color-primary)}@media (max-width:991.98px){.field-desktop-chrome{display:none}.field-main{max-width:100%;padding:0}.field-main .page{padding:0}.field-app{min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.field-app-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.field-app-header,.field-app-main{padding:var(--space-3)}.field-tabbar{display:none}.field-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;gap:var(--space-1);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -2px 8px rgba(0,0,0,.06)}.field-bottom-nav-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1 1;min-height:48px;font-size:.7rem;font-weight:600;font-family:inherit;color:var(--color-text-muted);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color .12s ease,background-color .12s ease}.field-bottom-nav-btn svg{width:22px;height:22px}.field-bottom-nav-btn.active{color:var(--color-primary)}}.address-workflow{width:100%;min-width:0}.address-input-wrap{position:relative}.address-input-wrap input{padding-left:2.5rem;padding-right:3rem;min-height:48px;font-size:16px}.address-search-icon{position:absolute;left:.85rem;top:.5rem;font-size:1.4rem;pointer-events:none}.address-clear{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;border-radius:8px;background:transparent;font-size:1.6rem;color:inherit}.address-clear:hover{background:#eef2ff}.address-options{list-style:none;padding:0;margin:.4rem 0;max-height:240px;overflow-y:auto;border:1px solid #ccd5e3;border-radius:12px;background:white}.address-options li{padding:.85rem 1rem;min-height:48px;cursor:pointer;overflow-wrap:anywhere;border-bottom:1px solid #edf0f5}.address-options li:last-child{border-bottom:0}.address-options li.active,.address-options li:hover{background:#edf1ff;color:#243bb5}.address-feedback{margin:.5rem 0 .8rem;font-size:.9rem;color:#53647c}.address-workflow .point-map{isolation:isolate;height:340px;min-height:260px!important}.selected-location{padding:1rem;margin:.75rem 0;border:1px solid #dfe5ef;border-radius:12px;background:#f5f7fc;overflow-wrap:anywhere}.selected-location p{margin:.35rem 0 0}.address-form-actions{display:flex;justify-content:flex-end;gap:.75rem;position:-webkit-sticky;position:sticky;bottom:0;z-index:1010;padding:1rem 0 calc(1rem + env(safe-area-inset-bottom));background:var(--bs-body-bg,white);border-top:1px solid #e2e7ef}.address-form-actions .btn{min-height:48px}@media(max-width:600px){.address-workflow .point-map{height:280px}.address-form-actions .btn-primary{flex:1 1}}.field-completion-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:360px;margin:1.25rem auto}.field-completion-actions .btn{min-height:48px;width:100%}.history-table-filters{margin-bottom:1rem;padding:1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.history-option-search{max-width:28rem;margin-bottom:.9rem}.history-table-filter-grid{display:grid;grid-template-columns:1.2fr 1.2fr .75fr 1fr 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:end}.history-table-filter-actions{display:flex;gap:.5rem}.history-table-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.history-table-scroll{overflow-x:auto}.history-table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:fixed}.history-table th{padding:.7rem .8rem;background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.68rem;letter-spacing:.05em;text-align:left;text-transform:uppercase}.history-table td,.history-table th{border-bottom:1px solid var(--color-border)}.history-table td{padding:.85rem .8rem;vertical-align:middle}.history-table tbody tr:last-child td{border-bottom:0}.history-table tbody tr:hover{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.history-table td:first-child,.history-table th:first-child{width:16%}.history-table td:nth-child(2),.history-table th:nth-child(2){width:18%}.history-table td:nth-child(3),.history-table th:nth-child(3){width:13%}.history-table td:nth-child(4),.history-table th:nth-child(4){width:9%}.history-table td:nth-child(5),.history-table td:nth-child(7),.history-table td:nth-child(8),.history-table th:nth-child(5),.history-table th:nth-child(7),.history-table th:nth-child(8){width:8%}.history-table td:nth-child(6),.history-table th:nth-child(6){width:10%}.history-table td:nth-child(9),.history-table th:nth-child(9){width:12%}.history-table-secondary{display:block;overflow:hidden;margin-top:.15rem;color:var(--color-text-muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.history-table-number{text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-table-number.is-danger{color:var(--color-danger);font-weight:700}.history-table-number.is-warning{color:#a15c07;font-weight:700}.history-details-button{white-space:nowrap}.history-table-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;color:var(--color-text-muted)}.history-table-pagination>div{display:flex;align-items:center;gap:.4rem}.history-page-button{width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.history-page-button.is-current{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.history-modal-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:1.75rem;background:rgb(7 17 38/68%)}.history-modal{display:flex;flex-direction:column;width:min(1050px,calc(100vw - 3.5rem));max-height:calc(100vh - 3.5rem);overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 25px 70px rgb(7 17 38/35%)}.history-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.history-modal-header h2{margin:0 0 .2rem;font-size:1.35rem}.history-modal-header p{margin:0;color:var(--color-text-muted)}.history-modal-close{display:grid;width:2.4rem;height:2.4rem;place-items:center;border:0;border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text);font-size:1.5rem}.history-modal-body{min-height:0;padding:1.2rem 1.5rem;overflow:auto}.history-modal-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.2rem}.history-modal-meta>div{min-width:0;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt)}.history-modal-meta span,.history-modal-meta strong{display:block;overflow-wrap:anywhere}.history-modal-meta span{color:var(--color-text-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.history-modal-meta strong{margin-top:.2rem;font-size:.82rem}.history-modal-list-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.history-modal-list-heading h3{margin:0;font-size:1rem}.history-modal-list-heading span{color:var(--color-text-muted)}.history-modal-table-scroll{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.history-modal-table{width:100%;min-width:820px;border-collapse:collapse}.history-modal-table td,.history-modal-table th{padding:.68rem .75rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.history-modal-table th{background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.history-modal-table tr:last-child td{border-bottom:0}.history-modal-table td:first-child{width:3rem}.history-modal-table td:nth-child(2){width:29%}.history-modal-table td:nth-child(3){width:17%}.history-modal-table td:nth-child(4){width:18%;white-space:nowrap}.history-modal-table td:nth-child(2) span{display:block;margin-top:.1rem;color:var(--color-text-muted);font-size:.76rem}.history-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-surface-alt)}.history-modal-footer>div{display:flex;align-items:center;gap:.75rem}.history-modal-footer strong{white-space:nowrap}@media (max-width:1000px){.history-table-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-modal-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.history-table-filter-grid{grid-template-columns:1fr}.history-table-pagination{align-items:flex-start;flex-direction:column}.history-modal-backdrop{padding:.5rem}.history-modal{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}}