:root{--baemin-mint:#3b82f6;--color-bg:#fff;--color-bg-soft:#f8fafa;--color-bg-muted:#f3f6f6;--color-surface:#fff;--color-surface-mint:#3b82f614;--color-text-primary:#111;--color-text-secondary:#4d4d4d;--color-text-muted:#777;--color-text-disabled:#a3a3a3;--color-text-on-mint:#fff;--color-border:#00000014;--color-border-strong:#00000024;--color-border-mint:#3b82f673;--color-divider:#0000000f;--mint-04:#3b82f60a;--mint-08:#3b82f614;--mint-12:#3b82f61f;--mint-20:#3b82f633;--mint-32:#3b82f652;--mint-45:#3b82f673;--font-sans:"Pretendard", "Inter", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--shadow-card:0 0 0 1px var(--color-border), 0 2px 2px #0000000a, 0 8px 8px -8px #0000000a;--shadow-panel:0 0 0 1px var(--color-border), 0 8px 24px #0000000f;--shadow-focus:0 0 0 1px var(--baemin-mint), 0 0 0 4px var(--mint-20);--rail-width:68px;--rm-bg-base:#f4f6f5;--rm-bg-shell:#fff;--rm-bg-panel:#ffffffc7;--rm-bg-panel-soft:#ffffffe6;--rm-bg-section:#f5f6f6a8;--rm-bg-active:#dbeafe;--rm-bg-chip:#dbeafe;--rm-text-primary:#121417;--rm-text-primary-soft:#6e767b;--rm-text-secondary:#6e767b;--rm-text-muted:#93a0a7;--rm-icon-muted:#6e767b;--rm-line-active:#bfdbfe;--rm-line-subtle:#d9dfdc;--rm-overlay-line-soft:#d9dfdc70;--rm-overlay-line-strong:#d9dfdc87;--rm-overlay-mark:#6e767b8a;--rm-overlay-mark-muted:#6e767b4a;--rm-overlay-control-bg:#1e252bc7;--rm-overlay-control-icon:#ffffffb3;--rm-overlay-panel-bg:#ffffff9c;--rm-map-block:#eef0ef;--rm-map-park:#e4f0e1;--rm-map-road-line:#d0d5d8;--rm-map-road-major:#d9dedf;--rm-map-road-minor:#e6e8e8;--rm-shadow-strong:#1b2a321a;--rm-radius-sm:12px;--rm-radius-md:16px;--rm-radius-lg:20px;--rm-radius-xl:24px;--rm-radius-pill:999px;--rm-accent:#3b82f6;--rm-accent-soft:#3b82f630;--rm-accent-halo:#3b82f630;--rm-accent-halo-strong:#3b82f640;--rm-accent-outline:#3b82f680;--rm-accent-outline-strong:#3b82f699;--rm-battery-high:#22c55e;--rm-battery-high-line:#22c55e80;--rm-battery-high-soft:#22c55e24;--rm-battery-mid:#f59e0b;--rm-battery-mid-line:#f59e0b80;--rm-battery-mid-soft:#f59e0b24;--rm-battery-low:#ef4444;--rm-battery-low-line:#ef444480;--rm-battery-low-soft:#ef444424;--rm-tip:#7c3aed}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--baemin-mint:#00e7d0;--color-text-on-mint:#061b1a;--color-bg:#05080a;--color-bg-soft:#0a1014;--color-bg-muted:#0b1218;--color-surface:#070c10;--color-surface-mint:#00e7d01a;--color-text-primary:#f4f7f7;--color-text-secondary:#97a3a8;--color-text-muted:#6f7c82;--color-text-disabled:#4a555a;--color-border:#91ffe82e;--color-border-strong:#91ffe84d;--color-border-mint:#00e7d066;--color-divider:#91ffe81a;--mint-04:#00e7d00f;--mint-08:#00e7d01a;--mint-12:#00e7d024;--mint-20:#00e7d033;--mint-32:#00e7d052;--mint-45:#00e7d073;--shadow-card:0 0 0 1px var(--color-border), 0 12px 32px #00000052;--shadow-panel:0 0 0 1px var(--color-border), 0 18px 48px #00000080;--rm-bg-base:#05080a;--rm-bg-shell:#04181652;--rm-bg-panel:#070c10c7;--rm-bg-panel-soft:#0b1218a8;--rm-bg-section:#0a1014a8;--rm-bg-active:#022020c7;--rm-bg-chip:#041816bd;--rm-text-primary:#f4f7f7;--rm-text-primary-soft:#f4f7f7b8;--rm-text-secondary:#97a3a8;--rm-text-muted:#6f7c82;--rm-icon-muted:#f4f7f785;--rm-line-active:#00e7d047;--rm-line-subtle:#91ffe82e;--rm-overlay-line-soft:#91ffe81a;--rm-overlay-line-strong:#91ffe81a;--rm-overlay-mark:#f4f7f782;--rm-overlay-mark-muted:#f4f7f752;--rm-overlay-control-bg:#0b121878;--rm-overlay-control-icon:#f4f7f7c4;--rm-overlay-panel-bg:#070c1080;--rm-map-block:#10181d70;--rm-map-park:#0a2a2247;--rm-map-road-line:#49687ab8;--rm-map-road-major:#121d25;--rm-map-road-minor:#0b1218;--rm-shadow-strong:#00000052;--rm-accent:#00e7d0;--rm-accent-soft:#00e7d01a;--rm-accent-halo:#00e7d024;--rm-accent-halo-strong:#00e7d024;--rm-accent-outline:#00e7d066;--rm-accent-outline-strong:#00e7d066;--rm-tip:#a78bfa}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-sans);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:where(button,a,input,select,textarea):focus-visible{box-shadow:var(--shadow-focus);outline:none}.app-frame{background:var(--color-bg);min-height:100vh}.app-main{min-height:100vh}.page-container{width:min(100% - 48px,1200px);margin:0 auto;padding-bottom:96px}.top-actions{z-index:80;background:var(--rm-bg-panel);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 0 1px var(--rm-overlay-line-strong), 0 24px 64px var(--rm-shadow-strong);border-radius:999px;flex-direction:row;align-items:center;gap:6px;padding:6px 8px;display:flex;position:fixed;top:16px;right:16px}.top-actions-form{margin:0;display:flex}.app-rail{width:var(--rail-width);z-index:130;background:var(--rm-bg-panel);box-shadow:0 0 0 1px var(--rm-overlay-line-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;align-items:center;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.app-rail .sidebar-nav{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.app-rail .sidebar-link{border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:56px;height:auto;padding:8px 2px;display:flex}.app-rail .sidebar-label{clip:auto;white-space:nowrap;text-align:center;border:0;width:auto;height:auto;margin:0;padding:0;font-size:10px;line-height:1.1;display:block;position:static;overflow:visible}.app-rail .sidebar-link.is-active{color:var(--baemin-mint);background:color-mix(in srgb, var(--baemin-mint) 14%, transparent)}.app-rail-utility{border-top:1px solid var(--rm-overlay-line-strong);flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:12px;display:flex}.app-rail-utility .top-actions-form{justify-content:center;margin:0;display:flex}.app-frame.has-rail .app-main{margin-left:var(--rail-width)}.app-frame.has-rail .fullscreen-map-overlay{left:var(--rail-width)}.sidebar-link{border-radius:var(--rm-radius-md);width:44px;height:44px;color:var(--rm-icon-muted);cursor:pointer;font:inherit;background:0 0;border:0;place-items:center;text-decoration:none;transition:background .12s,color .12s,box-shadow .12s;display:grid}.sidebar-link:hover{background:var(--rm-bg-section);color:var(--rm-text-primary)}.sidebar-icon{font-size:18px;font-weight:800;line-height:1}.sidebar-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.management-page{flex-direction:column;gap:40px;max-width:1200px;margin:0 auto;padding:88px 24px 96px;display:flex}.management-panel .table-card{height:auto;max-height:440px;overflow-y:auto}.management-panel .vehicles-table-scroll{max-height:none;overflow-y:visible}.management-section-nav{z-index:60;background:var(--rm-bg-panel);box-shadow:var(--shadow-panel);border-radius:12px;flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex;position:sticky;top:16px}.management-section-nav-link{color:var(--color-text-muted);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;text-decoration:none;transition:background .12s,color .12s}.management-section-nav-link:hover{color:var(--color-text-primary);background:var(--color-bg-muted)}.management-anchor{scroll-margin-top:96px}.management-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 12px;font-size:13px;font-weight:700}.mgmt-panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.mgmt-panel-header-left{align-items:center;gap:8px;display:flex}.mgmt-panel-title{color:var(--color-text-primary);font-size:14px;font-weight:700}.mgmt-panel-count{background:var(--color-bg-muted);min-width:22px;height:20px;color:var(--color-text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.mgmt-panel-header-actions{align-items:center;gap:8px;display:flex}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.status-badge-green{color:#16a34a;background:#22c55e1f}.status-badge-gray{background:var(--color-bg-muted);color:var(--color-text-muted)}.status-badge-orange{color:#c2410c;background:#f973161f}.status-badge-red{color:#dc2626;background:#ef44441f}.management-subnav{flex-wrap:wrap;gap:8px;margin:-8px 0 20px;display:flex}.management-subnav-link{background:var(--color-surface);min-height:34px;color:var(--color-text-secondary);box-shadow:0 0 0 1px var(--color-border);border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.management-subnav-link:hover{background:var(--color-bg-soft);color:var(--color-text-primary)}.management-subnav-link.is-active{background:var(--mint-12);color:var(--color-text-primary);box-shadow:0 0 0 1px var(--mint-20), inset 0 -2px 0 var(--baemin-mint)}.page-back-link{min-height:34px;color:var(--color-text-secondary);align-items:center;gap:6px;margin:20px 0 -18px;font-size:13px;font-weight:800;display:inline-flex}.page-back-link:hover{color:var(--color-text-primary)}.button-primary,.button-secondary,.button-neutral,.button-ghost-mint{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.button-primary{background:var(--baemin-mint);color:var(--color-text-on-mint);box-shadow:0 0 0 1px #0000000f}.button-primary:hover{background:color-mix(in srgb, var(--baemin-mint) 90%, black)}.button-secondary{background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-border)}.button-secondary:hover{background:var(--color-bg-soft)}.button-neutral{background:var(--color-bg-muted);color:var(--color-text-primary)}.button-neutral:hover{background:var(--color-bg-soft)}.button-ghost-mint{background:var(--mint-08);color:var(--color-text-primary);box-shadow:0 0 0 1px var(--mint-20)}.hero{text-align:center;padding:80px 0 56px}.hero-kicker{background:var(--mint-08);min-height:28px;color:var(--color-text-primary);border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.hero-title{letter-spacing:-1.2px;max-width:820px;margin:20px auto 0;font-size:clamp(36px,6vw,52px);font-weight:800;line-height:1.12}.hero-description{max-width:720px;color:var(--color-text-secondary);margin:20px auto 0;font-size:18px;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;padding:48px 0 28px;display:flex}.page-header h1{letter-spacing:-.8px;margin:12px 0;font-size:clamp(32px,5vw,44px);line-height:1.15}.page-header p{color:var(--color-text-secondary);line-height:1.6}.control-map-page{background:var(--rm-bg-base);min-height:100vh;position:relative;overflow:hidden}.map-shell{z-index:0;background:var(--rm-map-block);position:absolute;inset:0}.map-shell-loading{z-index:30;background:var(--color-surface);color:var(--color-text-muted);letter-spacing:-.01em;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.map-shell-spinner{border:2px solid var(--color-border);border-top-color:var(--rm-accent);border-radius:50%;width:26px;height:26px;animation:.85s linear infinite map-shell-spin}@keyframes map-shell-spin{to{transform:rotate(360deg)}}.map-shell[data-map-theme=dark]{background:var(--rm-map-road-minor)}.map-shell-canvas{width:100%;height:100%}.map-shell-unconfigured{place-items:center;padding:24px;display:grid}.map-shell-notice{border-radius:var(--rm-radius-md);background:var(--rm-bg-panel-soft);max-width:420px;color:var(--rm-text-primary);box-shadow:var(--shadow-panel);text-align:center;gap:6px;padding:18px 22px;display:grid}.map-shell-notice strong{font-size:14px;font-weight:800}.map-shell-notice span{color:var(--rm-text-secondary);font-size:13px;line-height:1.55}.map-shell-notice code{background:var(--rm-bg-active);font-family:var(--font-sans);border-radius:6px;padding:2px 6px;font-size:12px}.dashboard-map-notice{border-radius:var(--rm-radius-md);background:color-mix(in srgb, var(--rm-bg-panel-soft) 96%, transparent);max-width:360px;color:var(--rm-text-primary);box-shadow:var(--shadow-panel);z-index:20;gap:4px;padding:12px 16px;font-size:13px;line-height:1.45;display:grid;position:fixed;bottom:24px;right:24px}.map-marker-label{background:color-mix(in srgb, var(--rm-bg-panel-soft) 92%, transparent);border:1px solid var(--rm-line-subtle);-webkit-backdrop-filter:blur(8px);color:var(--rm-text-primary);font-family:var(--font-sans);letter-spacing:-.01em;white-space:nowrap;pointer-events:none;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0000001f}.monitoring-search{z-index:25;width:320px;position:absolute;top:16px;left:96px}.monitoring-search-input{border:1px solid var(--rm-line-subtle);background:color-mix(in srgb, var(--rm-bg-panel-soft) 96%, transparent);width:100%;height:38px;color:var(--rm-text-primary);font-size:13px;font-family:var(--font-sans);box-shadow:var(--shadow-panel);border-radius:10px;padding:0 14px}.monitoring-search-input:focus{outline:2px solid var(--rm-accent);outline-offset:0;border-color:#0000}.monitoring-search-dropdown{border:1px solid var(--rm-line-subtle);background:color-mix(in srgb, var(--rm-bg-panel-soft) 96%, transparent);box-shadow:var(--shadow-panel);border-radius:10px;max-height:360px;margin:6px 0 0;padding:4px;list-style:none;overflow-y:auto}.monitoring-search-item{cursor:pointer;border-radius:6px;grid-template-columns:36px 1fr auto;align-items:baseline;gap:8px;padding:8px 10px;display:grid}.monitoring-search-item:hover{background:var(--rm-bg-section)}.monitoring-search-item-type{letter-spacing:.05em;text-transform:uppercase;color:var(--rm-text-secondary);font-size:10px;font-weight:800}.monitoring-search-item-type--bike{color:var(--rm-accent)}.monitoring-search-item-type--station{color:var(--rm-battery-mid)}.monitoring-search-item-label{color:var(--rm-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.monitoring-search-item-sub{color:var(--rm-text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:11px;overflow:hidden}.dashboard-map-notice strong{color:var(--rm-text-secondary);letter-spacing:.02em;font-size:12px;font-weight:700}.dashboard-map-notice span{color:var(--rm-text-primary)}.bike-detail-panel{border-radius:var(--rm-radius-lg);background:color-mix(in srgb, var(--rm-bg-panel-soft) 96%, transparent);width:360px;max-height:calc(100vh - 96px);color:var(--rm-text-primary);box-shadow:var(--shadow-panel);z-index:30;gap:16px;padding:20px 22px;display:grid;position:fixed;top:50%;right:24px;overflow:auto;transform:translateY(-50%)}.bike-detail-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bike-detail-panel-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--rm-text-secondary);font-size:11px;font-weight:700}.bike-detail-panel-header h2{letter-spacing:-.02em;margin:4px 0 2px;font-size:18px;font-weight:800}.bike-detail-panel-header p{color:var(--rm-text-secondary);margin:0;font-size:13px}.bike-detail-panel-close{background:var(--rm-bg-active);width:28px;height:28px;color:var(--rm-text-primary);cursor:pointer;border:0;border-radius:8px;padding:0;font-size:14px}.bike-detail-panel-close:hover{background:var(--rm-line-active)}.bike-detail-panel-controls{align-items:flex-start;gap:8px;display:flex}.bike-detail-panel-ignition{background:var(--color-bg-soft);border-radius:10px;align-items:center;gap:8px;padding:4px 10px;display:flex}.bike-detail-panel-ignition .detail-field-label{font-size:11px}.bike-detail-panel-body{border-top:1px solid var(--rm-line-subtle);gap:6px;margin:0;padding:12px 0 0;display:grid}.bike-detail-panel-row{grid-template-columns:96px 1fr;align-items:baseline;gap:10px;padding:4px 0;display:grid}.bike-detail-panel-row dt{color:var(--rm-text-secondary);margin:0;font-size:12px;font-weight:600}.bike-detail-panel-row dd{color:var(--rm-text-primary);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.bike-detail-panel-status{color:var(--rm-text-secondary);margin:0;font-size:12px}.bike-detail-panel-empty{color:var(--rm-text-muted);margin:0;font-size:12px;font-style:italic}.bike-detail-panel-section{border-top:1px solid var(--rm-line-subtle);gap:8px;padding:12px 0 0;display:grid}.bike-detail-panel-section:first-of-type{border-top:0;padding-top:0}.bike-detail-panel-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--rm-text-secondary);margin:0;font-size:11px;font-weight:700}.bike-detail-panel-list{gap:10px;display:grid}.bike-detail-panel-list-item{background:var(--rm-bg-section);border-radius:10px;gap:2px;padding:8px 10px;display:grid}.bike-detail-panel-list-title{color:var(--rm-text-primary);font-size:13px;font-weight:700}.bike-detail-panel-list-meta{color:var(--rm-text-secondary);font-size:12px}.station-count-edit{border-top:1px solid var(--rm-line-subtle);gap:10px;padding:12px 0 0;display:grid}.station-count-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.station-count-edit-field{color:var(--rm-text-secondary);gap:4px;font-size:12px;display:grid}.station-count-edit-field input{padding:6px 8px;font-size:13px}.station-count-edit-field-wide{color:var(--rm-text-secondary);gap:4px;font-size:12px;display:grid}.station-count-edit-field-wide input{padding:6px 8px;font-size:13px}.station-count-edit-actions{justify-content:flex-end;gap:8px;display:flex}.station-count-edit-actions button{padding:6px 14px;font-size:13px}.rider-form-education{border:1px dashed var(--rm-line-subtle);border-radius:var(--rm-radius-md);background:var(--rm-bg-section);gap:12px;margin:24px 0 0;padding:16px 18px;display:grid}.rider-form-education legend{color:var(--rm-text-secondary);letter-spacing:.02em;padding:0 8px;font-size:13px;font-weight:700}.rider-form-education-hint{color:var(--rm-text-secondary);margin:0;font-size:12px;line-height:1.55}.rider-form-insurance{border:1px dashed var(--rm-line-subtle);border-radius:var(--rm-radius-md);background:var(--rm-bg-section);gap:12px;margin:16px 0 0;padding:16px 18px;display:grid}.rider-form-insurance legend{color:var(--rm-text-secondary);letter-spacing:.02em;padding:0 8px;font-size:13px;font-weight:700}.rider-form-insurance-hint{color:var(--rm-text-secondary);margin:0;font-size:12px;line-height:1.55}.map-empty-panel{background:color-mix(in srgb, var(--color-surface) 86%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(520px,100% - 48px);box-shadow:var(--shadow-panel);text-align:center;border-radius:16px;margin:0 auto;padding:24px;position:relative;top:50%;transform:translateY(45vh)}.map-empty-panel h1{letter-spacing:-.8px;margin:14px 0 10px;font-size:clamp(28px,5vw,42px)}.map-empty-panel p{color:var(--color-text-secondary);margin:0;line-height:1.65}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.metric-card,.card,.table-card,.detail-panel{background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:12px}.metric-card{padding:20px}.metric-label{color:var(--color-text-muted);margin:0;font-size:13px;font-weight:800}.metric-value{font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:36px;font-weight:800;line-height:1}.metric-change{color:var(--color-text-secondary);margin:12px 0 0;font-size:13px}.content-grid{grid-template-columns:minmax(0,1fr) 360px;gap:24px;margin-bottom:64px;display:grid}.card{padding:20px}.card h2,.detail-panel h2{margin-top:0}.filter-bar{background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px;display:flex}.input,.select,textarea{background:var(--color-surface);width:100%;min-height:40px;color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-border);border:0;border-radius:8px;padding:0 12px}textarea{min-height:96px;padding-top:10px}.input:hover,.select:hover,textarea:hover{box-shadow:0 0 0 1px var(--color-border-strong)}.table-card{height:240px;overflow:hidden auto}.table-row-clickable{cursor:pointer}.vehicles-panel{flex-direction:column;gap:12px;display:flex}.panel-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin:0;padding:10px 14px;font-size:13px;font-weight:500}.vehicles-filter-row{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.vehicles-filter-search-wrap{flex:0 280px;min-width:220px;position:relative}.vehicles-filter-search{border:1px solid var(--color-border);background:var(--color-surface);width:100%;height:38px;color:var(--color-text-primary);border-radius:8px;padding:0 36px 0 12px;font-family:inherit;font-size:13px}.vehicles-filter-search:focus{outline:2px solid var(--rm-accent);outline-offset:-1px;border-color:#0000}.vehicles-filter-search-icon{opacity:.55;pointer-events:none;font-size:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.vehicles-filter-select{border:1px solid var(--color-border);background:var(--color-surface);min-width:130px;height:38px;color:var(--color-text-primary);cursor:pointer;border-radius:8px;flex:0 160px;padding:0 10px;font-family:inherit;font-size:13px}.vehicles-filter-select:disabled{opacity:.55;cursor:not-allowed}.vehicles-filter-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.vehicles-table-scroll{max-height:560px;overflow:auto}.vehicles-table{table-layout:auto;min-width:1640px}.vehicles-cell-mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap}.vehicles-soc{font-variant-numeric:tabular-nums;font-weight:700}.vehicles-soc--high{color:var(--rm-battery-high)}.vehicles-soc--mid{color:var(--rm-battery-mid)}.vehicles-soc--low{color:var(--rm-battery-low)}.vehicles-pill{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;line-height:1.4;display:inline-block}.vehicles-pill--operating{background:var(--rm-battery-high-soft);color:var(--rm-battery-high);border:1px solid var(--rm-battery-high-line)}.vehicles-pill--idle{background:var(--color-bg-muted);color:var(--color-text-secondary);border:1px solid var(--color-border)}.vehicles-pill--ignition-on{background:var(--rm-battery-high-soft);color:var(--rm-battery-high);border:1px solid var(--rm-battery-high-line)}.vehicles-pill--ignition-off{background:var(--color-bg-muted);color:var(--color-text-secondary);border:1px solid var(--color-border)}.vehicles-pill--unknown{background:var(--rm-battery-low-soft);color:var(--rm-battery-low);border:1px solid var(--rm-battery-low-line)}.vehicles-pill--engine-electric{background:var(--rm-accent-soft);color:var(--rm-accent);border:1px solid var(--rm-accent-outline)}.vehicles-pill--engine-ice{background:var(--rm-battery-mid-soft);color:var(--rm-battery-mid);border:1px solid var(--rm-battery-mid-line)}.overview-map-section{flex-direction:column;gap:10px;margin:20px 0 12px;display:flex}.overview-map-toggle-row{align-items:center;gap:12px;display:flex}.overview-map-toggle{background:var(--rm-accent-soft);color:var(--rm-accent);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 1px var(--rm-accent-outline);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.overview-map-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--rm-accent);cursor:pointer}.overview-map-toggle-hint{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.overview-map-canvas{background:var(--rm-map-block);height:520px;box-shadow:0 0 0 1px var(--rm-overlay-line-strong);border-radius:12px;position:relative;overflow:hidden}.overview-map-search{flex:240px;min-width:0;max-width:360px;position:relative}.overview-map-search-input{border:1px solid var(--rm-line-subtle);background:var(--rm-bg-panel-soft);width:100%;height:32px;color:var(--rm-text-primary);font-size:13px;font-family:var(--font-sans);border-radius:8px;padding:0 12px}.overview-map-search-input:focus{outline:2px solid var(--rm-accent);outline-offset:0;border-color:#0000}.overview-map-search-dropdown{z-index:30;border:1px solid var(--rm-line-subtle);background:color-mix(in srgb, var(--rm-bg-panel-soft) 96%, transparent);box-shadow:var(--shadow-panel);border-radius:10px;max-height:360px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.overview-map-search-item{cursor:pointer;border-radius:6px;grid-template-columns:52px 1fr auto;align-items:baseline;gap:8px;padding:8px 10px;display:grid}.overview-map-search-item:hover{background:var(--rm-bg-section)}.overview-map-search-item-chip{letter-spacing:.05em;text-transform:uppercase;color:var(--rm-text-secondary);font-size:10px;font-weight:800}.overview-map-search-item-chip--bike{color:var(--rm-accent)}.overview-map-search-item-chip--station{color:var(--rm-battery-mid)}.overview-map-search-item-chip--rider{color:var(--rm-text-primary)}.overview-map-search-item-label{color:var(--rm-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.overview-map-search-item-sub{color:var(--rm-text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;overflow:hidden}.overview-map-fullscreen-button{border:1px solid var(--rm-line-subtle);background:var(--rm-bg-panel-soft);height:32px;color:var(--rm-text-primary);cursor:pointer;border-radius:8px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:700}.overview-map-fullscreen-button:hover{background:var(--rm-bg-section)}.fullscreen-map-overlay{z-index:100;background:var(--rm-bg-page);color:var(--rm-text-primary);position:fixed;inset:0}.fullscreen-map-canvas{z-index:1;position:absolute;inset:0}.fullscreen-map-header{z-index:110;pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;top:16px;left:16px;right:16px}.fullscreen-map-header>*{pointer-events:auto}.fullscreen-map-header .overview-map-search{flex:0 360px}.fullscreen-map-header .service-type-tabs{margin-bottom:0}.fullscreen-map-close{border:1px solid var(--rm-line-subtle);background:color-mix(in srgb, var(--rm-bg-panel-soft) 92%, transparent);height:36px;color:var(--rm-text-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-panel);border-radius:18px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:700}.fullscreen-map-close:hover{background:var(--rm-bg-section)}.fullscreen-map-counts{background:color-mix(in srgb, var(--rm-bg-panel-soft) 92%, transparent);border:1px solid var(--rm-line-subtle);color:var(--rm-text-primary);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-panel);border-radius:18px;padding:8px 14px;font-size:12px}.fullscreen-map-filter-bar{z-index:110;background:color-mix(in srgb, var(--rm-bg-panel-soft) 92%, transparent);border:1px solid var(--rm-line-subtle);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex;position:absolute;top:68px;left:16px;right:16px}.fullscreen-map-filter-bar .vehicles-filter-row{display:contents}.fullscreen-map-filter-bar-close{border:1px solid var(--rm-line-subtle);width:32px;height:32px;color:var(--rm-text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-family:inherit;font-size:14px;display:flex}.fullscreen-map-filter-bar-close:hover{background:var(--rm-bg-section);color:var(--rm-text-primary)}.fullscreen-map-filter-reopen{border:1px solid var(--rm-line-subtle);background:color-mix(in srgb, var(--rm-bg-panel-soft) 92%, transparent);height:36px;color:var(--rm-text-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-panel);border-radius:18px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:700}.fullscreen-map-filter-reopen:hover{background:var(--rm-bg-section)}.fullscreen-map-filter-reopen--active{background:var(--rm-accent-soft,var(--rm-bg-section));border-color:var(--rm-accent-outline,var(--rm-line-subtle));color:var(--rm-accent,var(--rm-text-primary))}.delivery-section{border-top:1px solid var(--rm-line-subtle);margin-top:8px;padding-top:12px}.delivery-section h4{color:var(--color-text-muted);letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:700}.delivery-meta{flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.delivery-meta-row{grid-template-columns:80px minmax(0,1fr);align-items:center;column-gap:8px;font-size:12px;display:grid}.delivery-meta-row dt{color:var(--color-text-muted);margin:0;font-weight:600}.delivery-meta-row dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:0}.delivery-section-button{margin-top:8px}.dispatch-queue-section{border-top:1px solid var(--rm-line-subtle);margin-top:8px;padding-top:12px}.dispatch-queue-section h4{color:var(--color-text-muted);letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:700}.dispatch-queue-error{color:var(--rm-battery-low);margin:0 0 8px;font-size:12px}.dispatch-queue-tag{letter-spacing:.02em;color:var(--rm-accent);margin-bottom:4px;font-size:11px;font-weight:700;display:inline-block}.dispatch-queue-tag.muted{color:var(--color-text-muted)}.dispatch-next-eta{color:var(--color-text-secondary);margin:6px 0 0;font-size:12px}.dispatch-next-eta strong{color:var(--rm-accent);font-weight:700}.dispatch-queue-waiting{margin-top:12px}.dispatch-queue-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dispatch-order-row{border:1px solid var(--rm-line-subtle);border-radius:var(--rm-radius-sm);padding:8px 10px}.dispatch-order-actions{gap:8px;margin-top:8px;display:flex}.action-btn{border-radius:var(--rm-radius-sm);border:1px solid var(--rm-line-subtle);color:var(--color-text-primary);cursor:pointer;background:0 0;flex:none;padding:5px 12px;font-size:12px;font-weight:600}.action-btn:hover:not(:disabled){border-color:var(--rm-text-muted)}.action-btn.primary{background:var(--rm-accent);border-color:var(--rm-accent);color:#fff}.action-btn.primary:hover:not(:disabled){filter:brightness(.95)}.action-btn:disabled{opacity:.55;cursor:default}.filter-accordion{border:1px solid var(--rm-line-subtle);border-radius:8px;overflow:hidden}.filter-accordion-header{width:100%;color:var(--rm-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.filter-accordion-header:hover{background:var(--rm-bg-section)}.filter-accordion-body{border-top:1px solid var(--rm-line-subtle);padding:8px 12px 12px}.filter-stack{flex-direction:column;gap:8px;display:flex}.filter-stack .vehicles-filter-search-wrap,.filter-stack .vehicles-filter-select{width:100%}.filter-stack .vehicles-filter-count{color:var(--rm-text-secondary);font-size:11px}.table-row-clickable[draggable=true]{cursor:grab}.table-row-clickable[draggable=true]:active{cursor:grabbing}.contract-matching-form{background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:12px;margin-top:16px;padding:16px 18px}.contract-matching-form-heading{color:var(--color-text-primary);margin:0 0 12px;font-size:14px;font-weight:800}.contract-matching-form-notice{background:var(--mint-12);color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-border-mint);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.5}.contract-matching-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.contract-matching-form-grid>label{color:var(--color-text-secondary);gap:4px;font-size:13px;display:grid}.contract-matching-form-grid>label input,.contract-matching-form-grid>label select{background:var(--color-bg-soft);min-height:36px;color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-border);border:0;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:14px}.contract-matching-form-actions{justify-content:flex-end;margin-top:16px;display:flex}.contract-matching-slot{border:1px dashed var(--color-border);background:var(--color-bg-soft);color:var(--color-text-secondary);border-radius:8px;gap:4px;padding:8px 10px;font-size:13px;display:grid;position:relative}.contract-matching-slot.is-drop-target{border-color:var(--baemin-mint);background:var(--mint-08)}.contract-matching-slot.is-filled{border-style:solid}.contract-matching-slot-label{font-size:12px;font-weight:700}.contract-matching-slot-input{background:var(--color-surface);min-height:32px;box-shadow:0 0 0 1px var(--color-border);border:0;border-radius:6px;padding:4px 8px;font-size:13px}.contract-matching-slot-empty{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.contract-matching-slot-results{background:var(--color-surface);max-height:180px;box-shadow:0 0 0 1px var(--color-border);border-radius:6px;margin:4px 0 0;padding:0;list-style:none;overflow-y:auto}.contract-matching-slot-results li button{width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:13px;display:block}.contract-matching-slot-results li button:hover{background:var(--color-bg-soft)}.contract-matching-chip{background:var(--mint-12);color:var(--color-text-primary);border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:13px;font-weight:700;display:inline-flex}.contract-matching-chip-clear{width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:14px}.contract-matching-chip-clear:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.detail-row-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:4px 0 16px;display:grid}.detail-row-grid .overview-create-dialog-actions{grid-column:1/-1;margin-top:4px}.detail-field{gap:2px;min-width:0;display:grid}.detail-field-label{color:var(--color-text-secondary);font-size:12px}.detail-field-value{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:700}.detail-field-inline-select{width:100%;color:var(--color-text-primary);background:var(--color-bg-soft);box-shadow:0 0 0 1px var(--color-border);cursor:pointer;border:0;border-radius:6px;min-height:26px;padding:2px 6px;font-family:inherit;font-size:14px;font-weight:700}.detail-field-inline-select:hover{box-shadow:0 0 0 1px var(--color-border-strong)}.detail-field-inline-select:disabled{opacity:.55;cursor:not-allowed}.toggle-switch{background:var(--color-bg-muted);width:fit-content;color:var(--color-text-secondary);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:12px;font-weight:700;display:inline-flex}.toggle-switch:hover{background:var(--color-bg-soft)}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.toggle-switch.is-on{background:var(--baemin-mint);color:var(--color-text-on-mint)}.toggle-switch-thumb{background:var(--color-surface);width:18px;height:18px;box-shadow:0 1px 2px #0000001f, 0 0 0 1px var(--color-border);border-radius:50%;transition:transform .15s}.toggle-switch.is-on .toggle-switch-thumb{background:var(--color-surface);transform:translate(0)}.toggle-switch-text{text-align:left;min-width:24px}.toggle-switch--compact{padding:2px 10px 2px 2px;font-size:11px}.toggle-switch--compact .toggle-switch-thumb{width:14px;height:14px}.toggle-switch--compact .toggle-switch-text{min-width:20px}.delete-icon-button{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.delete-icon-button:hover{background:var(--rm-battery-low-soft);color:var(--rm-battery-low)}.delete-icon-button:focus-visible{outline:2px solid var(--rm-battery-low);outline-offset:1px}.table-empty-cell{vertical-align:middle;text-align:center;height:200px;color:var(--color-text-muted);font-size:14px}.table{border-collapse:separate;border-spacing:0;background:var(--color-surface);width:100%}.table thead th{z-index:1;position:sticky;top:0}.table th{background:var(--color-bg-soft);height:40px;color:var(--color-text-muted);text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-divider);padding:0 12px;font-size:12px;font-weight:800}.table td{min-height:48px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-divider);padding:12px;font-size:14px}.table tr:hover td{background:var(--mint-04)}.badge{background:var(--mint-08);min-height:24px;color:var(--color-text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.badge-active{background:var(--baemin-mint);color:var(--color-text-on-mint)}.badge-muted{background:var(--color-bg-muted);color:var(--color-text-muted)}.badge-outline{background:var(--color-surface);color:var(--color-text-secondary);box-shadow:0 0 0 1px var(--color-border)}.detail-panel{box-shadow:var(--shadow-panel);align-self:start;padding:20px;position:sticky;top:24px}.detail-section{border-bottom:1px solid var(--color-divider);padding:16px 0}.detail-list{gap:10px;display:grid}.detail-row{color:var(--color-text-secondary);justify-content:space-between;gap:16px;display:flex}.detail-row strong{color:var(--color-text-primary)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{color:var(--color-text-primary);gap:8px;font-size:14px;font-weight:700;display:grid}.form-field small{color:var(--color-text-muted);font-weight:500;line-height:1.45}.form-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.map-mock{background:linear-gradient(135deg, var(--color-bg-soft) 0%, var(--color-bg-muted) 100%);min-height:280px;box-shadow:inset 0 0 0 1px var(--color-border);border-radius:12px;position:relative;overflow:hidden}.map-mock .map-gridline{background-image:linear-gradient(var(--color-divider) 1px, transparent 1px), linear-gradient(90deg, var(--color-divider) 1px, transparent 1px);background-size:44px 44px;position:absolute;inset:0}.map-marker{background:var(--baemin-mint);width:14px;height:14px;box-shadow:0 0 0 4px var(--mint-20), 0 0 0 1px #0000001f;border-radius:999px;position:absolute}.notice{background:var(--mint-08);box-shadow:0 0 0 1px var(--mint-20);color:var(--color-text-secondary);border-radius:12px;padding:16px;line-height:1.6}.card-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.card-header h2{margin:0}.muted{color:var(--rm-text-secondary);margin:8px 0 0;font-size:13px}.button-link{color:var(--rm-text-secondary);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;text-decoration:underline}.button-link:hover{color:var(--rm-text-primary)}.checkbox-row{cursor:pointer;align-items:center;gap:8px;padding:8px 0;display:flex}.checkbox-row input[type=checkbox]{width:16px;height:16px}.overview-section-heading{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:28px 0 12px;font-size:13px;font-weight:800}.overview-section-heading:first-of-type{margin-top:16px}.overview-kpi-groups{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px;margin-bottom:8px;display:grid}.kpi-group{background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:12px;padding:20px}.kpi-group-heading{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 16px;font-size:13px;font-weight:800}.kpi-group-metrics{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;display:grid}.overview-tabs-row{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.overview-section-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.overview-section-row .overview-section-heading{margin:28px 0 0}.overview-tab-action{padding-bottom:6px}.overview-tabs{gap:4px;display:flex;overflow-x:auto}.overview-tabs-row .overview-tabs{border-bottom:0;margin-bottom:0}.overview-create-dialog{background:var(--color-surface);width:calc(100% - 32px);max-width:520px;max-height:calc(100vh - 32px);box-shadow:var(--shadow-panel);color:var(--color-text-primary);border:0;border-radius:12px;padding:24px 28px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.overview-create-dialog::backdrop{background:#0006}.overview-create-dialog h3{margin:0 0 16px;font-size:18px}.vehicle-floating-panel{background:color-mix(in srgb, var(--color-surface) 84%, transparent);-webkit-backdrop-filter:blur(16px);width:360px;max-width:calc(100% - 32px);max-height:calc(100% - 72px);box-shadow:var(--shadow-panel), 0 0 0 1px var(--rm-line-subtle);color:var(--color-text-primary);z-index:50;pointer-events:auto;border-radius:12px;padding:20px 24px;position:absolute;top:16px;right:16px;overflow:auto}.vehicle-floating-panel--bottom-open{max-height:calc(100% - 30vh - 72px)}.vehicle-floating-panel h3{margin:0;font-size:16px}.vehicle-floating-panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.vehicle-floating-panel-close{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:inline-flex}.vehicle-floating-panel-close:hover{background:var(--color-bg-soft);color:var(--color-text-primary)}.vehicle-floating-panel label{color:var(--color-text-secondary);margin-bottom:12px;font-size:13px;display:block}.maintenance-panel{flex-direction:column;gap:16px;display:flex}.maintenance-panel .table-card{height:auto;overflow:visible}.maintenance-panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.maintenance-filters{flex-wrap:wrap;gap:20px;display:flex}.maintenance-filter-group{align-items:center;gap:6px;display:flex}.maintenance-filter-group-label{color:var(--color-text-muted);margin-right:2px;font-size:12px}.maintenance-filter-chip{border:1px solid var(--color-border);min-height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500}.maintenance-filter-chip:hover{border-color:var(--color-border-strong)}.maintenance-filter-chip[aria-pressed=true]{background:var(--baemin-mint);color:var(--color-text-on-mint);border-color:#0000}.maintenance-panel-section{flex-direction:column;gap:8px;display:flex}.maintenance-panel-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.maintenance-panel-section-title{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.maintenance-panel-indent{color:var(--color-text-muted);margin-right:4px}.maintenance-axis-group{margin-bottom:12px}.maintenance-axis-head{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.maintenance-axis-title{color:var(--color-text-secondary);font-size:13px}.maintenance-axis-hint{color:var(--color-text-muted);font-size:12px}.maintenance-axis-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.maintenance-axis-row-label{width:34px;color:var(--color-text-muted);flex:none;font-size:12px}.maintenance-axis-toggles{flex:1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.maintenance-axis-toggle{border:1px solid var(--color-border);min-height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.maintenance-axis-toggle:hover{border-color:var(--color-border-strong)}.maintenance-axis-toggle[aria-pressed=true]{background:var(--baemin-mint);color:var(--color-text-on-mint);border-color:#0000}.maintenance-axis-preview{color:var(--baemin-mint);margin:8px 0 0;font-size:12px}.maintenance-axis-preview-empty{color:var(--color-text-muted)}.maintenance-chip-row{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.maintenance-chip{background:var(--color-surface-mint);color:var(--color-text-primary);border:1px solid var(--color-border-mint);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.overview-create-dialog.maintenance-dialog{top:auto;left:auto;margin:auto;inset:0;transform:none}.button-primary:disabled,.button-neutral:disabled{opacity:.45;cursor:not-allowed}.vehicle-detail-view{flex-direction:column;gap:12px;display:flex}.telemetry-section{border-top:1px solid var(--rm-line-subtle);margin-top:8px;padding-top:12px}.telemetry-section h4{color:var(--color-text-muted);letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:700}.telemetry-list{flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.telemetry-row{grid-template-columns:80px minmax(0,1fr);align-items:center;column-gap:8px;font-size:12px;display:grid}.telemetry-row-label{color:var(--color-text-muted);margin:0;font-weight:600}.telemetry-row-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:0}.telemetry-warn{color:var(--color-danger,#e0524a);font-weight:600}.maintenance-section{border-top:1px solid var(--rm-line-subtle);margin-top:8px;padding-top:12px}.maintenance-section h4{color:var(--color-text-muted);letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:700}.maintenance-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.maintenance-row{background:var(--color-bg-soft);border-radius:8px;padding:8px 10px}.maintenance-row--child{background:0 0;margin-left:12px}.maintenance-row-grid{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;font-size:12px;display:grid}.maintenance-row-name{color:var(--color-text-primary);grid-area:1/1;font-weight:700}.maintenance-row-status{grid-area:1/2;justify-self:end}.maintenance-row-info{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-area:2/1;align-items:center;gap:6px;display:flex}.maintenance-row-divider{color:var(--rm-line-subtle)}.maintenance-row-action{border:1px solid var(--rm-accent-outline);background:var(--rm-accent-soft);height:26px;color:var(--rm-accent);cursor:pointer;border-radius:6px;grid-area:2/2;justify-self:end;padding:0 10px;font-family:inherit;font-size:11px;font-weight:700}.maintenance-row-action:hover:not(:disabled){background:var(--rm-accent-halo-strong)}.maintenance-row-action:disabled{opacity:.5;cursor:not-allowed}.vehicle-floating-panel label input,.vehicle-floating-panel label select{background:var(--color-bg-soft);width:100%;min-height:36px;color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-border);box-sizing:border-box;border:0;border-radius:6px;margin-top:4px;padding:6px 10px;font-family:inherit;font-size:14px;display:block}.rider-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.rider-detail-header h3{margin:0}.rider-detail-ignition{background:var(--color-bg-soft);border-radius:10px;align-items:center;gap:16px;padding:6px 12px;display:flex}.rider-detail-ignition .detail-field{gap:2px}.rider-detail-ignition .detail-field-label{font-size:11px}.rider-detail-ignition .detail-field-value{font-size:13px}.overview-create-dialog-reset{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;font-size:18px;line-height:1;position:absolute;top:12px;right:12px}.overview-create-dialog-reset:hover{background:var(--color-bg-soft);color:var(--color-text-primary)}.overview-create-dialog label{color:var(--color-text-secondary);margin-bottom:12px;font-size:13px;display:block}.overview-create-dialog label input,.overview-create-dialog label select,.overview-create-dialog label textarea{background:var(--color-bg-soft);width:100%;min-height:36px;color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-border);box-sizing:border-box;border:0;border-radius:6px;margin-top:4px;padding:6px 10px;font-family:inherit;font-size:14px;display:block}.station-address-field{align-items:stretch;gap:8px;margin-top:4px;display:flex}.station-address-field>input{flex:1 1 0;min-width:0;margin-top:0}.station-address-field>.button-neutral{flex:none}.station-battery-count-inputs{align-items:center;gap:8px;margin-top:4px;display:flex}.station-battery-count-inputs>input{flex:1 1 0;min-width:0;margin-top:0}.station-battery-count-separator{color:var(--color-text-muted);font-size:16px;font-weight:700}.plate-number-input{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:4px;display:flex}.plate-number-input>input[type=hidden]{display:none}.plate-number-input>input{flex:1 1 0;width:auto;min-width:0;margin-top:0}.plate-number-input>input:nth-child(2){flex:0 0 56px}.plate-number-input-helper{color:var(--color-text-muted);flex-basis:100%;margin:0;font-size:12px;line-height:1.4}.overview-create-dialog label textarea{resize:vertical;min-height:64px}.overview-create-dialog-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.overview-create-dialog-row label{margin-bottom:12px}.overview-create-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.overview-create-dialog .button-primary,.overview-create-dialog .button-neutral{min-height:36px;padding:0 14px}.overview-tab{color:var(--color-text-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:12px 16px;font-size:14px;font-weight:800;text-decoration:none;transition:color .15s,border-color .15s;display:inline-block}.overview-tab:hover{color:var(--color-text-primary)}.overview-tab.is-active{color:var(--color-text-primary);border-bottom-color:var(--baemin-mint)}.overview-tab-actions{justify-content:flex-end;gap:8px;margin-bottom:16px;display:flex}@media (max-width:1024px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.detail-panel{position:static}}@media (max-width:720px){.page-container{width:min(100% - 32px,1200px)}.metric-grid,.form-grid{grid-template-columns:1fr}.page-header{display:block}.table-card{overflow-x:auto}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.action-panel{gap:12px;display:grid}.insurance-section{border-top:1px solid var(--rm-line-subtle);margin-top:8px;padding-top:12px}.insurance-section h4{color:var(--color-text-muted);letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:700}.insurance-view{flex-direction:column;gap:6px;display:flex}.insurance-field{grid-template-columns:56px 1fr;align-items:baseline;gap:4px 8px;font-size:13px;display:grid}.insurance-field-label{color:var(--color-text-muted);font-weight:600}.insurance-field-value{color:var(--color-text-primary)}.insurance-addons{flex-wrap:wrap;gap:4px;display:flex}.insurance-addon-badge{background:var(--color-bg-soft);color:var(--color-text-secondary);border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.insurance-edit-btn{align-self:flex-start;margin-top:4px}.insurance-form{flex-direction:column;gap:10px;display:flex}.insurance-form-field{flex-direction:column;gap:4px;display:flex}.insurance-form-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.insurance-form-field select{width:100%}.insurance-addon-group{flex-direction:column;gap:6px;display:flex}.insurance-addon-checkboxes{flex-direction:column;gap:4px;display:flex}.insurance-addon-checkbox{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.insurance-addon-checkbox input[type=checkbox]{cursor:pointer;width:14px;height:14px;margin:0}.insurance-form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.action-feedback{background:var(--mint-08);color:var(--color-text-primary);box-shadow:0 0 0 1px var(--mint-20);border-radius:12px;margin:16px 0 0;padding:12px 14px;font-size:13px;font-weight:800;line-height:1.5}.service-type-tabs{gap:4px;margin-bottom:8px;display:flex}.service-type-tab{background:var(--color-bg-muted);color:var(--color-text-muted);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:700;transition:background .12s,color .12s,border-color .12s,box-shadow .12s}.service-type-tab:hover{color:var(--color-text-primary);background:color-mix(in srgb, var(--baemin-mint) 14%, transparent)}.service-type-tab.is-active{background:var(--baemin-mint);color:#fff;border-color:var(--baemin-mint);box-shadow:0 1px 6px color-mix(in srgb, var(--baemin-mint) 45%, transparent)}.service-type-tab:focus-visible{outline:2px solid var(--baemin-mint);outline-offset:2px}.notif-bell-wrapper{align-items:center;display:inline-flex;position:relative}.notif-bell-btn{cursor:pointer;color:var(--rm-text,#374151);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:18px;line-height:1;position:relative}.notif-bell-btn:hover{background:var(--rm-hover,#0000000f)}.notif-badge{color:#fff;pointer-events:none;z-index:1;background:#ef4444;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:0;right:0}.notif-dropdown{background:var(--rm-card-bg,#fff);border:1px solid var(--rm-border,#e5e7eb);z-index:100;border-radius:8px;width:280px;max-height:320px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.notif-empty{text-align:center;color:var(--rm-text-muted,#9ca3af);padding:16px;font-size:13px}.notif-item{border-bottom:1px solid var(--rm-border,#e5e7eb);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item-text{color:var(--rm-text,#374151);flex:1;font-weight:500}.notif-item-time{color:var(--rm-text-muted,#9ca3af);white-space:nowrap;flex-shrink:0}.notif-panel{background:var(--rm-card-bg,#fff);border-left:1px solid var(--rm-border,#e5e7eb);z-index:200;flex-direction:column;width:360px;max-width:100vw;height:100vh;animation:.2s notif-panel-slide-in;display:flex;position:fixed;top:0;right:0;box-shadow:-4px 0 24px #00000021}@keyframes notif-panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.notif-panel-header{border-bottom:1px solid var(--rm-border,#e5e7eb);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notif-panel-title{color:var(--rm-text,#374151);font-size:15px;font-weight:600}.notif-panel-close{cursor:pointer;color:var(--rm-text-muted,#9ca3af);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:20px;line-height:1}.notif-panel-close:hover{background:var(--rm-hover,#0000000f);color:var(--rm-text,#374151)}.notif-panel-body{flex:1;padding:8px 0;overflow-y:auto}.notif-group{margin-bottom:4px}.notif-group-header{text-transform:uppercase;letter-spacing:.05em;color:var(--rm-text-muted,#9ca3af);border-bottom:1px solid var(--rm-border,#e5e7eb);align-items:center;gap:6px;padding:8px 16px 4px;font-size:11px;font-weight:700;display:flex}.notif-group-icon{font-size:13px}.notif-group-label{flex:1}.notif-group-count{background:var(--rm-border,#e5e7eb);color:var(--rm-text-muted,#9ca3af);border-radius:10px;padding:0 6px;font-size:10px}.notif-item--maintenance{border-left:3px solid #f59e0b}.notif-item--reignition{border-left:3px solid #6366f1}.notif-item--other{border-left:3px solid #10b981}.notif-item--unread{background:var(--rm-hover,#00000008)}.notif-item--unread .notif-item-text{font-weight:700}.notif-panel .notif-item{flex-direction:column;align-items:stretch;gap:4px;padding:10px 16px}.notif-item-content{flex-direction:column;gap:2px;display:flex}.notif-item-body{color:var(--rm-text-muted,#9ca3af);font-size:11px}.notif-item-meta{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.notif-ack-btn{border:1px solid var(--rm-border,#e5e7eb);cursor:pointer;color:var(--rm-text-muted,#9ca3af);white-space:nowrap;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px}.notif-ack-btn:hover{background:var(--rm-hover,#0000000f);color:var(--rm-text,#374151);border-color:var(--rm-text-muted,#9ca3af)}.map-ignition-bubble{color:#fff;white-space:nowrap;pointer-events:none;background:#1d4ed8;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:600;animation:4s forwards ignition-bubble-fade;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.map-ignition-bubble:after{content:"";border:5px solid #0000;border-top-color:#1d4ed8;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes ignition-bubble-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.next-customer-input{color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:4px;outline:none;width:100%;padding:4px 8px;font-size:12px}.next-customer-input:focus{border-color:#3b82f6}.bottom-map-panel{z-index:110;pointer-events:none;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.bottom-map-panel>*{pointer-events:auto}.bottom-map-panel-tabbar{background:color-mix(in srgb, var(--rm-bg-panel-soft) 92%, transparent);border-top:1px solid var(--rm-line-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:4px;padding:6px 12px;display:flex}.bottom-map-panel-tab{border-radius:var(--rm-radius-md);color:var(--rm-text-secondary);border:1px solid var(--rm-line-subtle);cursor:pointer;background:0 0;padding:4px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s,color .12s,border-color .12s}.bottom-map-panel-tab.is-active,.bottom-map-panel-tab:hover{background:var(--rm-accent-soft);color:var(--rm-text-primary);border-color:var(--rm-accent)}.bottom-map-panel-collapse{color:var(--rm-text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px 8px;font-family:inherit;font-size:12px}.bottom-map-panel--open .bottom-map-panel-content{background:var(--rm-bg-panel);border-top:1px solid var(--rm-line-subtle);height:30vh;padding:12px;overflow-y:auto}.bottom-map-panel-placeholder{color:var(--rm-text-muted);text-align:center;padding:24px;font-size:14px}.delivery-status-panel{flex-direction:column;gap:16px;display:flex}.delivery-status-vehicle-group{border:1px solid var(--rm-line-subtle);border-radius:var(--rm-radius-md);background:var(--rm-bg-panel);padding:10px 12px}.delivery-status-vehicle-header{color:var(--rm-text-primary);letter-spacing:.01em;margin-bottom:8px;font-size:13px;font-weight:700}.page-container--fullscreen{height:100vh;padding:0;overflow:hidden}.tips-panel{padding:12px}.tips-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tips-panel-title{color:var(--color-text-secondary);font-size:13px;font-weight:600}.tips-panel-add{min-height:32px;padding:0 12px;font-size:13px}.tips-panel-error{margin-bottom:12px}.tips-table-content-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.tips-table-actions{align-items:center;gap:6px;display:flex}.tips-table-edit{min-height:28px;padding:0 10px;font-size:12px;font-weight:600}.tips-table .is-selected td{background:var(--rm-accent-soft)}.tip-mini-map{border-radius:var(--rm-radius-sm);width:100%;height:200px;box-shadow:0 0 0 1px var(--color-border);margin-top:4px;overflow:hidden}.tip-dialog-hint{color:var(--color-text-muted);font-weight:400}.tip-coords{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin:4px 0 12px;font-size:11px;display:block}.tip-dialog-error{margin-bottom:12px}.dispatch-kind-badge{letter-spacing:.02em;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.5;display:inline-block}.dispatch-kind-badge--pickup{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.dispatch-kind-badge--delivery{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.stroller-round-status-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.stroller-round-status-badge--none{background:var(--color-bg-muted);color:var(--color-text-muted)}.stroller-round-status-badge--collecting{color:#c2410c;background:#fff7ed}.stroller-round-status-badge--delivering{color:#1d4ed8;background:#eff6ff}.stroller-round-status-badge--done{color:#166534;background:#f0fdf4}.stroller-round-progress{color:var(--color-text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;display:flex}.stroller-round-progress-item{color:var(--color-text-primary);font-weight:600}.stroller-round-progress-sep{color:var(--color-text-muted)}.baemin-call-form{gap:10px;margin-bottom:16px;display:grid}.baemin-call-form-row{grid-template-columns:72px 1fr;align-items:center;gap:8px;display:grid}.baemin-call-form-label{color:var(--color-text-muted);white-space:nowrap;font-size:13px;font-weight:600}.baemin-call-form-input{border:1px solid var(--color-border);background:var(--color-bg-soft);height:34px;color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);box-sizing:border-box;border-radius:8px;width:100%;padding:0 10px}.baemin-call-form-input:focus{border-color:var(--color-accent,#3b82f6);outline:none}.baemin-call-address-row{align-items:center;gap:6px;display:flex}.baemin-call-address-row .baemin-call-form-input{flex:1;min-width:0}.baemin-call-mode-row{flex-wrap:wrap;align-items:center;gap:16px;padding-top:2px;display:flex}.baemin-call-mode-option{color:var(--color-text-primary);cursor:pointer;align-items:center;gap:5px;font-size:13px;display:flex}.baemin-call-form-actions{justify-content:flex-end;padding-top:4px;display:flex}.baemin-call-error{color:var(--rm-battery-low,#ef4444);margin:0;font-size:12px}.baemin-call-notice{color:#166534;margin:0;font-size:12px}.baemin-call-offered-list{flex-direction:column;gap:8px;display:flex}.baemin-call-offered-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 4px;font-size:12px;font-weight:700}.baemin-call-card{border:1px solid var(--color-border);background:var(--color-bg-soft);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.baemin-call-card-info{flex-wrap:wrap;align-items:baseline;gap:4px;font-size:13px;display:flex}.baemin-call-card-name{color:var(--color-text-primary);font-weight:700}.baemin-call-card-phone{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.baemin-call-card-address,.baemin-call-card-sep{color:var(--color-text-muted)}.baemin-call-accept-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.baemin-call-vehicle-select{border:1px solid var(--color-border);background:var(--color-bg-soft);height:32px;color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);border-radius:8px;min-width:120px;padding:0 8px}.baemin-call-hint{color:var(--color-text-muted);font-size:12px}.dispatch-delivery-list{flex-direction:column;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.dispatch-completed-section{border-top:1px solid var(--color-divider);margin-top:12px;padding-top:8px}.dispatch-completed-toggle{cursor:pointer;color:var(--color-text-muted);font-size:12px;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:flex}.dispatch-completed-toggle:hover{color:var(--color-text-primary)}.dispatch-completed-body{margin-top:8px}.dispatch-completed-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dispatch-completed-item{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.dispatch-completed-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dispatch-completed-name{color:var(--color-text-primary);font-size:13px;font-weight:600}.dispatch-completed-address{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dispatch-completed-time{color:var(--color-text-disabled);font-variant-numeric:tabular-nums;font-size:11px}.dispatch-completed-thumbnail{object-fit:cover;border:1px solid var(--color-border);border-radius:6px;flex-shrink:0;width:52px;height:52px}
