.log-workspace{color:#1f2937;background:#f3f4f6;width:100%;min-height:100dvh}.log-workspace-main{min-width:0;padding:14px}.log-workspace-title-row{justify-content:space-between;align-items:center;gap:12px;margin:12px 0 14px;display:flex}.log-workspace-title-row h1{margin:0;font-size:20px;font-weight:600}.log-workspace-car{align-items:center;gap:8px;font-size:13px;display:flex}.log-workspace-car select{background:#fff;border:1px solid #d1d5db;border-radius:8px;max-width:260px;min-height:36px;padding:6px 10px}.log-workspace-header{padding:14px;padding-top:max(14px, env(safe-area-inset-top));background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;min-height:64px;display:flex}.log-workspace-header a{flex-shrink:0;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.log-workspace-header strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.log-workspace-header span{text-overflow:ellipsis;white-space:nowrap;max-width:42%;font-size:13px;overflow:hidden}.log-workspace :focus-visible{outline-offset:2px;outline:2px solid #2563eb}.legacy-review-list{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 3px 14px #0000000a}.legacy-review-toolbar,.legacy-review-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.torque-management-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.torque-management-card{color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;text-decoration:none;display:block}.torque-management-card h2{margin:0 0 8px;font-size:18px}.torque-management-card p{color:#64748b;margin:8px 0;font-size:14px;line-height:1.5}.torque-management-card strong{font-size:26px}.legacy-review-toolbar button,.legacy-review-table button{color:#fff;cursor:pointer;background:#111827;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px}.legacy-review-toolbar button:disabled,.legacy-review-table button:disabled{opacity:.5;cursor:not-allowed}.legacy-review-table .review-list-open{color:inherit;background:0 0;border:0;padding:6px 0}@media (max-width:1000px){.torque-management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.torque-management-grid{grid-template-columns:1fr}}.legacy-review-toolbar a,.legacy-review-filters a,.legacy-review-search button,.legacy-review-search a,.legacy-review-pagination a{color:#374151;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:13px;text-decoration:none}.legacy-review-filters a[aria-current=page],.legacy-review-search button{color:#fff;background:#111827;border-color:#111827}.legacy-review-filters span{font-variant-numeric:tabular-nums;margin-left:6px}.legacy-review-search{gap:8px;margin-bottom:12px;display:flex}.legacy-review-search input:not([type=hidden]){border:1px solid #d1d5db;border-radius:8px;flex:1;width:0;min-height:38px;padding:8px 10px}.legacy-review-count{margin:10px 0;font-size:13px}.legacy-review-table-scroll{border:1px solid #e5e7eb;border-radius:12px;overflow:auto}.legacy-review-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.legacy-review-table th,.legacy-review-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:8px 7px}.legacy-review-table th{background:#f9fafb;font-weight:600}.legacy-review-table .has-qc{background:#fff7ed}.review-list-selection{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;font-size:13px;display:flex}.review-list-selection button,.review-list-dialog button{color:#374151;cursor:pointer;font:inherit;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px}.review-list-selection .review-list-danger,.review-list-dialog .review-list-danger{color:#fff;background:#dc2626;border-color:#dc2626}.review-list-dialog .review-list-primary{color:#fff;background:#111827;border-color:#111827}.review-list-selection button:disabled,.review-list-dialog button:disabled{opacity:.5;cursor:not-allowed}.review-list-row{cursor:pointer}.legacy-review-table .review-list-row:hover,.legacy-review-table .review-list-row.is-selected{background:#eff6ff}.review-list-open{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 0}.review-list-open:focus-visible,.review-list-selection button:focus-visible,.review-list-dialog button:focus-visible{outline-offset:3px;outline:2px solid #2563eb}.legacy-review-table input[type=checkbox]{accent-color:#2563eb;cursor:pointer;width:18px;height:18px}.review-list-dialog{box-sizing:border-box;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:20px;overflow:auto;box-shadow:0 20px 50px #0003}.review-list-dialog::backdrop{background:#11182766}.review-list-dialog header{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-list-dialog h2{overflow-wrap:anywhere;margin:0;font-size:17px}.review-list-dialog p{overflow-wrap:anywhere;font-size:13px;line-height:1.6}.review-list-dialog-actions{gap:8px;margin-top:16px;display:grid}.review-list-dialog-actions button{min-height:40px}.legacy-review-table a{text-underline-offset:3px;text-decoration:underline}.legacy-review-table .legacy-review-filename{white-space:normal;overflow-wrap:anywhere;min-width:230px;max-width:400px}.legacy-review-filename strong,.legacy-review-filename span,.legacy-review-table small{display:block}.legacy-review-filename span{color:#64748b;margin-top:3px;font-size:12px}.legacy-review-empty{text-align:center;padding:32px 14px}.legacy-review-pagination{justify-content:center;align-items:center;gap:16px;margin-top:14px;font-size:13px;display:flex}.review-detail-summary,.review-map-panel,.review-data-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 3px 14px #0000000a}.review-detail-summary{margin-bottom:12px;padding:12px}.log-workspace-main:has(.review-detail) .log-workspace-car{display:none}.review-summary-line{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.review-summary-line>div{overflow-wrap:anywhere;min-width:0}.review-summary-line p{margin:4px 0}.review-summary-line dl{gap:6px;margin:0;display:flex}.review-summary-line dl>div{text-align:right;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px}.review-summary-line dt{color:#64748b;font-size:11px}.review-summary-line dd{white-space:nowrap;margin:4px 0 0;font-weight:600}.review-detail-toolbar,.review-detail-toolbar nav,.review-map-head,.review-map-head>div,.review-data-tools,.review-selected-panel>div,.review-data-pages{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-detail-toolbar{justify-content:space-between;margin-top:10px}.review-detail a,.review-detail button{font-size:12px}.review-detail-toolbar a,.review-detail-toolbar button,.review-map-head button,.review-selected-panel a,.review-data-pages a{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:7px 9px;text-decoration:none}.review-detail-toolbar a[aria-current=page]{color:#fff;background:#6b7280}.review-detail-workspace{height:var(--review-height,70vh);grid-template-columns:minmax(340px,36%) minmax(0,1fr);gap:12px;min-height:520px;display:grid}.review-map-panel{flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.review-map-head{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:10px 12px;font-size:13px}.review-route-map{flex:1;min-height:360px}.review-map-fallback{text-align:center;font-size:13px;position:absolute;top:50%;left:16px;right:16px}.review-map-label{background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:4px 8px;font-size:12px;box-shadow:0 2px 6px #0002}.review-data-panel{flex-direction:column;min-width:0;padding:10px;display:flex;overflow:hidden}.review-data-tools{border-bottom:1px solid #e5e7eb;padding:6px 8px 12px;font-size:13px}.review-data-tools span{color:#64748b;font-size:12px}.review-selected-panel{min-height:48px;max-height:160px;padding:10px 8px;font-size:12px;overflow:auto}.review-selected-panel span{color:#64748b}.review-selected-panel p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.review-sensor-scroll{border:1px solid #e5e7eb;border-radius:8px;flex:1;min-height:0;overflow:auto}.review-sensor-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.review-sensor-table th,.review-sensor-table td{white-space:nowrap;text-align:right;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:7px 5px}.review-sensor-table th{z-index:1;text-align:center;background:#f9fafb;position:sticky;top:0}.review-sensor-table td:first-child{text-align:left}.review-sensor-table .sensor-tablet-pair{display:none}.sensor-pair-line{display:block}.review-detail.is-ipad .review-sensor-table .sensor-pair-source{display:none}.review-detail.is-ipad .review-sensor-table .sensor-tablet-pair{vertical-align:middle;width:74px;min-width:74px;max-width:74px;padding-top:4px;padding-bottom:4px;display:table-cell}.review-detail.is-ipad .review-sensor-table tbody .sensor-tablet-pair{line-height:1.06}.review-detail.is-ipad .review-sensor-table .sensor-tablet-latlng{width:88px;min-width:88px;max-width:88px}.review-detail.is-ipad .review-sensor-table .sensor-tablet-altbearing,.review-detail.is-ipad .review-sensor-table .sensor-tablet-fuel{width:60px;min-width:60px;max-width:60px}.review-detail.is-ipad .review-sensor-table .sensor-tablet-temp{width:58px;min-width:58px;max-width:58px}.review-detail.is-ipad .sensor-tablet-pair .sensor-pair-line+.sensor-pair-line{margin-top:2px}.review-sensor-table button{color:inherit;background:0 0;border:0;padding:0;font-size:11px}.sensor-gps{background:#f3f7ff}.sensor-temp{background:#fffaf4}.sensor-fuel{background:#f3faf7}.sensor-accum{background:#faf6fd}.sensor-drive{background:#f6f8fc}.review-sensor-table .is-qc-reference td{background:#f1f5f9}.review-sensor-table .is-qc-reference td:first-child{box-shadow:inset 4px 0 #94a3b8}.review-sensor-table .has-final-overlap td{background:#ffedd5}.review-sensor-table .has-qc td{background:#fff7ed}.review-sensor-table .is-selected td{background:#dbeafe;box-shadow:inset 0 1px #93c5fd,inset 0 -1px #93c5fd}.review-sensor-table .review-qc-cell{text-overflow:ellipsis;max-width:220px;overflow:hidden}.review-confirm-button{color:#334155;cursor:pointer;background:#f3f4f6;border:1px solid #cbd5e1;border-radius:8px;padding:7px 9px}.review-confirm-button:disabled{opacity:.6;cursor:default}.review-confirm-button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.review-overlap-panel{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;max-height:180px;padding:8px;font-size:12px;overflow:auto}.review-overlap-panel li{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.review-overlap-badge{color:#9a3412;background:#fed7aa;border-radius:4px;margin-left:4px;padding:2px 4px;display:inline-block}.review-overlap-badge.stage{color:#3730a3;background:#e0e7ff}.review-detail-toolbar .review-trip-delete{color:#b91c1c;background:#fff1f2;border-color:#fca5a5}.review-range-tools{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.review-range-tools button,.route-window-actions a,.route-window-actions button{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:7px 9px;text-decoration:none}.review-range-tools button:disabled{opacity:.55}.route-speed-legend{color:#475569;flex-wrap:wrap;gap:6px 10px;padding:6px 12px;font-size:11px;display:flex}.route-speed-legend span{align-items:center;gap:4px;display:inline-flex}.route-speed-legend i{border-radius:2px;width:16px;height:4px;display:inline-block}.torque-route-window{color:#0f172a;background:#fff;flex-direction:column;height:100dvh;display:flex}.torque-route-window>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.torque-route-window h1{margin:0;font-size:20px}.torque-route-window header p{color:#64748b;margin:4px 0 0;font-size:12px}.route-window-actions{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.route-window-actions>span{color:#1d4ed8;background:#eff6ff;border-radius:14px;padding:6px 9px}.route-window-selection{color:#475569;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 16px;font-size:12px;display:flex}.route-window-selection label{align-items:center;gap:6px;max-width:100%;display:flex}.route-window-selection select{min-width:0;max-width:min(420px,70vw);padding:5px}.torque-route-window>.review-map-panel{border-radius:0;flex:1;height:auto;min-height:320px}.route-point-info{z-index:3;background:#fff;border:1px solid #94a3b8;border-radius:8px;width:max-content;max-width:calc(100% - 32px);padding:12px;font-size:12px;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0002}.route-point-info p{margin:6px 0}.route-point-info button{float:right;background:0 0;border:0;margin-left:10px;font-size:18px}.review-data-pages{justify-content:center;padding-top:8px;font-size:12px}@media (max-width:1100px){.review-detail-workspace{flex-direction:column;height:auto;display:flex}.review-map-panel{height:420px}.review-data-panel{height:65vh;min-height:420px}.review-summary-line{flex-direction:column;align-items:stretch}.review-summary-line dl{flex-wrap:wrap}.review-summary-line dd{white-space:normal}}@media (max-width:720px){.log-workspace-main{padding:10px}.log-workspace-title-row{flex-direction:column;align-items:flex-start}.log-workspace-car{width:100%}.log-workspace-car select{flex:1;min-width:0;max-width:none}.legacy-review-list{padding:10px}.legacy-review-search input:not([type=hidden]){font-size:16px}}.review-corrections{padding:0 12px 8px;font-size:12px}.review-correction-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.review-correction-buttons button{color:#334155;cursor:pointer;background:#f3f4f6;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px}.review-correction-buttons input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:64px;min-width:0;padding:5px 7px}.review-correction-buttons button:disabled{cursor:wait;opacity:.6}.review-correction-buttons :focus-visible{outline-offset:2px;outline:2px solid #2563eb}.review-corrections p{overflow-wrap:anywhere;margin:6px 0 0}.review-corrections p:empty{margin:0}.review-correction-buttons .runtime-delete-confirm{color:#b91c1c;background:#fff1f2;border-color:#fca5a5}.review-delete-row{color:#b91c1c;cursor:pointer;background:#fff1f2;border:1px solid #fca5a5;border-radius:8px;padding:7px 9px}.review-delete-row:disabled{opacity:.6;cursor:wait}.review-jump-panel{border:1px solid #d8e0ec;border-radius:8px;margin:4px 10px;padding:8px;font-size:12px}.review-jump-panel summary{cursor:pointer;font-weight:600}.review-jump-panel ul{max-height:140px;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.review-jump-panel li{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.review-jump-panel button{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;padding:5px 8px}.review-jump-panel li{flex-wrap:wrap}.review-accumulated{border-top:1px solid #e5e7eb;flex-shrink:0;max-height:260px;padding-top:8px;overflow:auto}.review-accumulated summary{cursor:pointer;font-weight:600}.review-accumulated fieldset{border:0;min-width:0;margin:8px 0;padding:0}.review-accumulated legend{margin-bottom:6px}.review-accumulated-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.review-accumulated-fields label{flex-direction:column;gap:4px;display:flex}.review-accumulated-fields input,.review-accumulated-fields select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;padding:6px}.review-accumulated :focus-visible{outline-offset:2px;outline:2px solid #2563eb}.review-accumulated-preview ul{padding-left:18px}.review-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.review-detail .review-toolbar-actions>a,.review-detail .review-toolbar-actions button,.review-detail .review-correction-buttons button,.review-detail .review-selected-panel a,.review-detail .review-confirm-button{color:#fff;white-space:nowrap;background:#6b7280;border-color:#6b7280}.review-detail .review-danger,.review-detail .review-trip-delete,.review-detail .review-delete-row,.review-detail .runtime-delete-confirm{color:#fff!important;background:#dc2626!important;border-color:#dc2626!important}.review-detail .review-primary{color:#fff!important;background:#111827!important;border-color:#111827!important}.review-detail .review-publish-blocked{opacity:1;cursor:not-allowed;color:#9a3412!important;background:#ffedd5!important;border-color:#fed7aa!important}.review-publish-control>button{white-space:nowrap;flex-shrink:0;min-height:34px}.review-data-tools{flex-shrink:0;gap:6px;padding:4px 8px 8px}.review-data-tools>.review-corrections,.review-runtime-delete{margin:0;padding:0}.review-selected-panel{flex-shrink:0;min-height:32px;padding:8px}.review-selected-heading{justify-content:space-between;margin-bottom:6px}.review-selected-panel .review-corrections{margin:0;padding:0}.review-accumulated-slot{flex-shrink:0;min-height:0}.review-accumulated{max-height:220px;padding:6px 8px;font-size:11px}.review-accumulated fieldset{flex-wrap:wrap;align-items:flex-end;gap:6px;margin:4px 0;display:flex}.review-accumulated legend{color:#64748b;margin:0;font-size:11px}.review-accumulated .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.review-accumulated-fields{flex:530px;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:0}.review-accumulated-fields label{justify-content:flex-end;gap:3px}.review-accumulated-fields input,.review-accumulated-fields select{box-sizing:border-box;padding:5px}.review-accumulated .review-range-tools{gap:5px;margin:0}.review-detail [hidden]{display:none}@media (max-width:1100px){.review-data-panel:has(.review-accumulated-slot:not([hidden])){height:auto}.review-data-panel:has(.review-accumulated-slot:not([hidden])) .review-sensor-scroll{flex:none;height:60vh;min-height:320px}}@media (max-width:720px){.review-toolbar-actions{justify-content:flex-start}.review-accumulated-fields{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.review-accumulated-fields input,.review-accumulated-fields select{font-size:16px}}.torque-stage-status.fuel-flow-missing{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;margin-left:6px}.review-sensor-table .is-in-range td{background:#f3e8ff;box-shadow:inset 0 1px #e9d5ff,inset 0 -1px #e9d5ff}.review-sensor-table .is-range-start td:first-child{box-shadow:inset 4px 0 #9333ea}.review-sensor-table .is-range-end td:last-child{box-shadow:inset -4px 0 #9333ea}.review-accumulated{border:1px solid #e5e7eb;border-radius:10px;margin:4px 8px 8px;padding:6px 8px}.review-accumulated-title{white-space:nowrap;align-self:center;margin-right:8px;font-size:13px}.review-accumulated-fields{flex:none;grid-template-columns:repeat(7,72px)}.review-accumulated-fields label{color:#64748b;font-size:10px}.review-accumulated-fields input,.review-accumulated-fields select{height:28px;font-size:11px}.review-accumulated .review-range-tools button{white-space:nowrap;padding:5px 7px}.review-accumulated .review-range-tools span{color:#64748b;font-variant-numeric:tabular-nums}.review-accumulated-actions{margin-left:auto}.review-accumulated #accumulated-result{color:#64748b;background:#f9fafb;border:1px solid #e5e7eb;border-radius:7px;padding:6px 8px}@media (max-width:720px){.review-accumulated-fields{flex:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.review-accumulated-fields input,.review-accumulated-fields select{height:34px;font-size:16px}.review-accumulated-actions{margin-left:0}}.log-workspace-main:has(.drive-log-page){box-sizing:border-box;max-width:1280px;margin-inline:auto}.log-workspace-main:has(.drive-log-page) .log-workspace-title-row{flex-flow:wrap}.log-workspace-main:has(.drive-log-page) .log-workspace-title-row h1{font-size:1.25rem;font-weight:600}.log-workspace-main:has(.drive-log-page) .log-workspace-car{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:8px 10px}.drive-log-page{width:100%;display:block}.drive-log-page .drive-home-description{color:#6b7280;margin:0 0 12px;font-size:.84rem;line-height:1.45}.drive-log-page .torque-management-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.drive-log-page .drive-home-actions .torque-management-card{color:#111827;border-radius:18px;padding:18px;box-shadow:0 8px 24px #0f172a0a}.drive-log-page .drive-home-actions h2{text-wrap:balance;margin:0 0 7px;font-size:1.05rem;font-weight:600;line-height:1.45}.drive-log-page .drive-home-actions p{color:#6b7280;text-wrap:pretty;margin:0;font-size:.88rem;line-height:1.45}.drive-log-page .drive-home-stats .torque-management-card{padding:15px}.drive-log-page .drive-home-stats p{color:#6b7280;margin:0 0 6px;font-size:.84rem}.drive-log-page .drive-home-stats strong{color:#111827;font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:600;line-height:1.45;display:block}.drive-log-page .drive-home-stats .drive-home-duration{font-size:1.25rem}.drive-log-page .drive-home-stats .drive-home-recent{font-size:1.1rem}.drive-home-trips{margin:12px 0}.drive-home-trips .legacy-review-toolbar{justify-content:space-between;align-items:center;margin-bottom:10px}.drive-home-trips h2{margin:0;font-size:1rem;font-weight:600}.drive-home-trips .legacy-review-toolbar a,.drive-home-trips .drive-trip-actions a{color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-radius:7px;padding:5px 8px;font-size:.78rem;line-height:1.3;text-decoration:none;display:inline-block}.drive-home-trips .drive-trip-actions .drive-trip-primary{color:#fff;background:#111827;border-color:#111827}.drive-home-trips .drive-trip-secondary{color:#6b7280}.drive-home-trips .drive-trip-table{font-size:.82rem;line-height:1.5}@media (max-width:980px){.drive-log-page .torque-management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.drive-log-page .torque-management-grid{grid-template-columns:1fr}}.drive-place-list-page{color:#334155;width:100%}.place-list-navigation{justify-content:flex-end;gap:8px;display:flex}.log-workspace-main:has(.drive-place-list-page) .log-workspace-title-row h1{margin-right:auto}.log-workspace-main:has(.drive-place-list-page) .log-workspace-title-row{justify-content:flex-start}.place-list-navigation a,.place-list-filters>a,.place-list-view a,.place-list-pagination a{background:#f3f4f6;border:1px solid #d9dee7;border-radius:8px;padding:8px 12px;font-size:14px;text-decoration:none;display:inline-block}.place-filter-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:12px;padding:16px}.place-list-filters{grid-template-columns:120px 100px minmax(230px,1fr) auto auto;align-items:end;gap:8px;display:grid}.place-list-filters label{color:#8391a3;flex-direction:column;gap:5px;font-size:13px;display:flex}.place-list-filters input,.place-list-filters select{color:#334155;background:#fff;border:1px solid #d9dee7;border-radius:8px;width:100%;min-height:40px;padding:8px;font-size:14px}.place-list-filters button{color:#fff;background:#111827;border:0;border-radius:8px;min-height:40px;padding:9px 14px}.place-list-view{gap:8px;margin-top:12px;display:flex}.place-list-view [aria-current],.place-list-pagination [aria-current]{color:#fff;background:#111827;border-color:#111827}.place-filter-card p{color:#8391a3;margin:10px 0 0;font-size:13px}.place-table-scroll{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow-x:auto}.place-list-table{border-collapse:collapse;width:100%;font-size:13px}.place-list-table th{text-align:left;background:#f8fafc;padding:10px 8px;font-weight:600}.place-list-table th a{color:inherit}.place-list-table td{vertical-align:middle;border-top:1px solid #e8ecf1;padding:0}.place-list-table td[colspan]{text-align:center;color:#8391a3;padding:24px}.place-list-table td>a{color:inherit;min-height:40px;padding:10px 8px;text-decoration:none;display:block}.place-list-table tr{cursor:pointer}.place-list-table tbody tr:hover{background:#f6f8fb}.place-list-table small{color:#8391a3;margin-top:5px;font-size:12px;display:block}.place-list-table td:not(.place-name):not(.place-memo){white-space:nowrap}.place-list-table .place-name{word-break:keep-all;overflow-wrap:anywhere;min-width:240px;max-width:430px;line-height:1.45}.place-missing{color:#ea580c;background:#ffedd5;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.place-memo{overflow-wrap:anywhere;max-width:140px}.place-list-table td>a.place-detail-button,.place-delete-button{box-sizing:border-box;color:#fff;text-align:center;background:#15803d;border:0;border-radius:6px;min-width:52px;height:28px;min-height:28px;margin:8px;padding:5px 10px;font-size:13px;line-height:18px;text-decoration:none;display:inline-block}.place-delete-button{cursor:pointer;background:#ef2028}.place-delete-button:disabled{opacity:.55;cursor:wait}.place-list-result:empty{display:none}.place-list-result{background:#f8fafc;border-radius:8px;padding:12px}.place-list-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:16px;display:flex}@media (max-width:900px){.place-list-filters{grid-template-columns:1fr 1fr}.place-list-filters label:nth-child(3){grid-column:1/-1}}:is(.log-workspace-main:has(.place-dictionary-page),.log-workspace-main:has(.place-dictionary-form-page)){padding:0}:is(.log-workspace-main:has(.place-dictionary-page)>.log-workspace-title-row,.log-workspace-main:has(.place-dictionary-form-page)>.log-workspace-title-row){display:none}.place-dictionary-page,.place-dictionary-form-page{box-sizing:border-box;color:#334155;width:100%;margin-inline:auto;padding:20px}.place-dictionary-page{max-width:1280px}.place-dictionary-form-page{max-width:1680px;padding:24px 32px}.place-dictionary-topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.place-dictionary-topbar h1{color:#111827;margin:0;font-size:24px;font-weight:600;line-height:1.35}.place-dictionary-topbar p{color:#8391a3;margin:6px 0 0;font-size:14px;line-height:1.5}.place-dictionary-topbar nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.place-dictionary-topbar a,.place-dictionary-pagination a,.place-form-actions>a,.place-map-buttons button,.place-rectangle-helper button,.place-confirm-dialog button{box-sizing:border-box;color:#334155;min-height:38px;font:inherit;cursor:pointer;background:#f3f4f6;border:1px solid #d9dee7;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;text-decoration:none;display:inline-flex}.place-dictionary-topbar .place-primary,.place-form-actions .place-primary{color:#fff;background:#2563eb;border-color:#2563eb}.place-dictionary-filter-card,.place-form-card,.place-map-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 16px #0f172a0a}.place-dictionary-filter-card{margin-bottom:12px;padding:16px}.place-dictionary-filters{grid-template-columns:minmax(220px,1fr) 140px 120px 110px auto;align-items:end;gap:10px;display:grid}.place-dictionary-filters label,.place-entry-form label,.place-rectangle-helper label{color:#64748b;flex-direction:column;gap:5px;min-width:0;font-size:13px;display:flex}.place-dictionary-filters input,.place-dictionary-filters select,.place-entry-form input,.place-entry-form select,.place-entry-form textarea,.place-rectangle-helper input{box-sizing:border-box;color:#334155;width:100%;min-width:0;min-height:40px;font:inherit;background:#fff;border:1px solid #d9dee7;border-radius:8px;padding:8px 10px;font-size:14px}.place-entry-form textarea{resize:vertical;line-height:1.5}.place-dictionary-filters button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:8px;padding:9px 16px}.place-dictionary-filter-card>p{color:#8391a3;justify-content:space-between;gap:12px;margin:12px 0 0;font-size:13px;display:flex}.place-dictionary-table-scroll{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow-x:auto}.place-dictionary-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:1150px;font-size:13px}.place-dictionary-table th{text-align:left;white-space:nowrap;background:#f8fafc;padding:10px 9px}.place-dictionary-table th a{color:inherit;text-decoration:none}.place-dictionary-table td{vertical-align:middle;border-top:1px solid #e8ecf1;height:48px;padding:0}.place-dictionary-table td>a{box-sizing:border-box;min-height:48px;color:inherit;padding:10px 9px;text-decoration:none;display:block}.place-dictionary-table tbody tr:hover{background:#f6f8fb}.place-dictionary-table code{color:#475569;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}.place-dictionary-table strong{color:#111827}.place-dictionary-table small{color:#8391a3;white-space:nowrap;margin-top:3px;font-size:11px;line-height:1.45;display:block}.place-match-badge,.place-active-badge{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.place-match-badge.is-circle{color:#4338ca;background:#eef2ff}.place-match-badge.is-rect{color:#b45309;background:#fef3c7}.place-match-badge.is-polygon{color:#b91c1c;background:#fee2e2}.place-active-badge{color:#64748b;background:#e5e7eb}.place-active-badge.is-active{color:#15803d;background:#dcfce7}.place-dictionary-memo{text-overflow:ellipsis;white-space:nowrap;width:220px;display:block;overflow:hidden}.place-dictionary-empty{color:#8391a3;text-align:center;margin:0;padding:36px 16px}.place-dictionary-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:16px;display:flex}.place-dictionary-pagination a[aria-current=page]{color:#fff;background:#2563eb;border-color:#2563eb}.place-dictionary-toast{z-index:1000;color:#fff;background:#111827;border-radius:10px;max-width:min(420px,100vw - 32px);padding:12px 16px;animation:.2s ease-out place-toast-in;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 38px #0004}.place-dictionary-toast.is-error{background:#b91c1c}@keyframes place-toast-in{0%{opacity:0;transform:translateY(8px)}}.place-dictionary-form-layout{grid-template-columns:minmax(700px,1fr) minmax(560px,720px);align-items:start;gap:20px;display:grid}.place-entry-form{gap:14px;min-width:0;display:grid}.place-form-card,.place-map-card{padding:18px}.place-form-card h2,.place-map-card h2{color:#111827;margin:0 0 14px;font-size:17px;font-weight:600}.place-form-card h3{color:#334155;justify-content:space-between;align-items:center;margin:16px 0 10px;font-size:14px;display:flex}.place-form-card h3 span{color:#64748b;font-size:12px;font-weight:500}.place-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.place-form-wide{grid-column:1/-1}.place-form-help,.place-map-help,.place-map-mode,.place-map-notice{color:#8391a3;margin:10px 0 0;font-size:12px;line-height:1.5}.place-map-notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px}.place-shape-panel{border-top:1px solid #edf0f4;margin-top:16px;padding-top:2px}.place-rectangle-helper{grid-template-columns:130px 130px auto;align-items:end;gap:8px;margin-top:12px;display:grid}.place-polygon-points{gap:6px;margin:0;padding:0;list-style:none;display:grid}.place-polygon-points li{background:#f8fafc;border-radius:8px;grid-template-columns:28px 1fr 1fr;gap:8px;padding:8px;display:grid}.place-polygon-points code{font-size:12px}.place-form-actions{justify-content:flex-end;align-items:center;gap:8px;padding:4px 0;display:flex}.place-status-control{margin-right:auto}.place-form-actions button{min-height:38px;font:inherit;cursor:pointer;border:1px solid #d9dee7;border-radius:8px;padding:8px 14px}.place-deactivate{color:#fff!important;background:#dc2626!important;border-color:#dc2626!important}.place-activate{color:#fff!important;background:#15803d!important;border-color:#15803d!important}.place-map-card{min-width:0;position:sticky;top:16px}.place-map-buttons{flex-wrap:nowrap;gap:6px;margin-bottom:8px;display:flex}.place-map-buttons button{white-space:nowrap;min-height:36px;padding:7px 9px;font-size:12px}.place-map-buttons button.is-active{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:600}.place-map-buttons .place-map-clear{color:#dc2626;background:#fff;border-color:#fecaca}.place-dictionary-map{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;width:100%;height:min(70vh,680px);min-height:560px;margin-top:10px;overflow:hidden}.place-confirm-dialog{box-sizing:border-box;color:#334155;border:1px solid #e5e7eb;border-radius:16px;width:min(430px,100vw - 32px);margin:auto;padding:22px;box-shadow:0 20px 60px #0004}.place-confirm-dialog::backdrop{background:#11182770}.place-confirm-dialog h2{color:#111827;margin:0 0 10px;font-size:18px}.place-confirm-dialog p{line-height:1.65}.place-confirm-dialog>div{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.place-saving-overlay{z-index:1100;color:#fff;background:#11182770;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex;position:fixed;inset:0}.place-saving-overlay span{border:3px solid #fff5;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite place-spin}@keyframes place-spin{to{transform:rotate(360deg)}}@media (max-width:1380px){.place-dictionary-form-page{max-width:1280px;padding:20px}.place-dictionary-form-layout{grid-template-columns:minmax(620px,1fr) minmax(480px,560px)}.place-dictionary-map{height:520px;min-height:480px}}@media (max-width:1180px){.place-dictionary-form-layout{grid-template-columns:1fr}.place-map-card{position:static}.place-dictionary-map{height:520px;min-height:420px}}@media (max-width:900px){.place-dictionary-topbar{flex-direction:column}.place-dictionary-topbar nav{justify-content:flex-start}.place-dictionary-filters{grid-template-columns:1fr 1fr}.place-dictionary-filters label:first-child,.place-dictionary-filters button{grid-column:1/-1}.place-dictionary-filter-card>p{flex-direction:column;gap:4px}}@media (max-width:640px){.place-dictionary-page,.place-dictionary-form-page{padding:14px}.place-form-grid{grid-template-columns:1fr}.place-form-wide{grid-column:auto}.place-rectangle-helper{grid-template-columns:1fr 1fr}.place-rectangle-helper button{grid-column:1/-1}.place-dictionary-map{height:420px;min-height:360px}.place-form-actions{flex-wrap:wrap}.place-status-control{width:100%;margin-right:0}.place-status-control>button{width:100%}}@media (prefers-reduced-motion:reduce){.place-dictionary-toast,.place-saving-overlay span{animation:none}}.log-workspace-main:has(.drive-place-editor-page){padding:0}.log-workspace-main:has(.drive-place-editor-page)>.log-workspace-title-row{display:none}.drive-place-editor-page{box-sizing:border-box;color:#334155;width:100%;padding:18px 20px}.drive-place-editor-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.drive-place-editor-title{align-items:center;gap:10px;display:flex}.drive-place-editor-title h1{color:#111827;margin:0;font-size:22px;font-weight:600}.drive-place-editor-topbar nav,.drive-place-trip-summary nav{align-items:center;gap:8px;display:flex}.drive-place-editor-topbar a,.drive-place-trip-summary a,.trip-place-coordinates button,.trip-place-coordinates a,.trip-place-coordinates .is-disabled{box-sizing:border-box;color:#334155;min-height:34px;font:inherit;background:#f3f4f6;border:1px solid #d9dee7;border-radius:8px;justify-content:center;align-items:center;padding:7px 11px;font-size:13px;text-decoration:none;display:inline-flex}.drive-place-save{color:#fff;min-height:34px;font:inherit;cursor:pointer;background:#15803d;border:1px solid #15803d;border-radius:8px;padding:7px 13px;font-weight:600}.drive-place-save:disabled{opacity:.6;cursor:wait}.drive-place-trip-summary{background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;min-height:52px;margin-bottom:12px;padding:10px 14px;display:flex}.drive-place-trip-summary>div{flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.drive-place-trip-summary b{background:#f1f5f9;border-radius:999px;padding:3px 8px;font-size:12px}.drive-place-trip-summary strong{color:#111827}.drive-place-trip-summary nav a:first-child{color:#fff;background:#111827;border-color:#111827}.drive-place-trip-summary nav .drive-place-route{color:#fff;background:#15803d;border-color:#15803d}.drive-place-gps-notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;align-items:flex-start;gap:8px;margin:8px 12px 4px;padding:9px 10px;font-size:13px;line-height:1.45;display:flex}.drive-place-gps-notice strong{white-space:nowrap;background:#ffedd5;border-radius:999px;flex:none;padding:2px 7px;font-size:11px}.drive-place-editor-grid{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.trip-place-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:8px;min-width:0;display:flex;overflow:hidden}.trip-place-panel>header{justify-content:space-between;align-items:center;gap:12px;padding:14px 12px 4px;display:flex}.trip-place-panel h2{color:#111827;margin:0;font-size:17px;font-weight:600}.trip-place-coordinates{color:#8391a3;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:flex}.trip-place-coordinates strong{color:#334155}.trip-place-coordinates button,.trip-place-coordinates a,.trip-place-coordinates .is-disabled{cursor:pointer;min-height:28px;padding:4px 8px}.trip-place-coordinates button:disabled,.trip-place-coordinates .is-disabled{opacity:.5;cursor:not-allowed}.trip-place-suggestions{min-height:82px;padding:8px 12px 10px}.trip-place-suggestions>p:first-child{color:#64748b;margin:0 0 7px;font-size:12px}.trip-place-suggestions>div{flex-wrap:wrap;gap:7px;display:flex}.trip-place-suggestions button{color:#2563eb;max-width:100%;font:inherit;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;display:inline-flex}.trip-place-suggestions button.is-selected{outline-offset:1px;outline:2px solid #2563eb}.trip-place-suggestions button b{font-size:11px}.trip-place-suggestions button strong{color:#2563eb}.trip-place-suggestions button span{color:#64748b}.trip-place-no-suggestion{color:#8391a3;margin:0;font-size:12px;line-height:1.5}.trip-place-input-row{grid-template-columns:70px minmax(220px,1fr) 126px;align-items:end;gap:8px;padding:0 12px 12px;display:grid}.trip-place-input-row>div,.trip-place-input-row label{color:#64748b;flex-direction:column;gap:5px;min-width:0;font-size:12px;display:flex}.trip-place-input-row input{box-sizing:border-box;color:#334155;width:100%;min-width:0;height:38px;font:inherit;border:1px solid #d9dee7;border-radius:8px;padding:7px 9px;font-size:14px}.trip-place-manual{color:#334155;height:38px;font:inherit;cursor:pointer;background:#f3f4f6;border:1px solid #d9dee7;border-radius:8px;font-weight:600}.trip-place-manual[aria-pressed=true]{color:#fff;background:#f59e0b;border-color:#f59e0b}.trip-place-panel.is-manual .trip-place-input-row{background:#fff7ed;padding-top:9px}.trip-place-panel.is-manual .trip-place-radius input{background:#f3f4f6}.trip-place-manual-hint{color:#c2410c;margin:0;padding:0 12px 8px;font-size:12px;font-weight:600}.trip-place-map-area{border-top:1px solid #e5e7eb}.trip-place-search{grid-template-columns:minmax(180px,1fr) auto 90px auto;gap:7px;padding:10px 12px;display:grid}.trip-place-search input,.trip-place-search select,.trip-place-search button{box-sizing:border-box;color:#334155;min-width:0;height:36px;font:inherit;background:#f3f4f6;border:1px solid #d9dee7;border-radius:8px;padding:6px 9px;font-size:13px}.trip-place-search input{background:#fff}.trip-place-search button{cursor:pointer}.trip-place-search .trip-place-search-button{color:#fff;background:#15803d;border-color:#15803d;font-weight:600}.trip-place-map{background:#f8fafc;width:100%;height:600px}.trip-place-search-results{box-sizing:border-box;min-height:160px;max-height:220px;padding:10px 12px;overflow-y:auto}.trip-place-search-results>p{color:#8391a3;margin:0 0 8px;font-size:12px}.trip-place-result{color:#64748b;background:#fcfcfd;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:7px;padding:9px;font-size:12px}.trip-place-result>strong,.trip-place-result>span,.trip-place-result>small{display:block}.trip-place-result>strong{color:#111827;margin-bottom:3px;font-size:13px}.trip-place-result>span{color:#4b5563;line-height:1.35}.trip-place-result>small{color:#6b7280;margin-top:4px}.trip-place-result>div{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.trip-place-result button{color:#111827;min-height:34px;font:inherit;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:6px 9px;font-size:12px}.trip-place-result .trip-place-apply{color:#fff;background:#15803d;border-color:#15803d}.drive-place-memo{color:#64748b;flex-direction:column;gap:5px;margin-top:12px;font-size:12px;display:flex}.drive-place-memo textarea{box-sizing:border-box;color:#334155;width:100%;min-height:48px;font:inherit;resize:vertical;border:1px solid #d9dee7;border-radius:8px;padding:9px 10px;font-size:14px}.drive-place-error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:13px}.drive-place-editor-page :focus-visible{outline-offset:2px;outline:2px solid #2563eb}@media (max-width:1700px){.trip-place-map{height:520px}}@media (max-width:1100px){.drive-place-editor-grid{grid-template-columns:1fr}.trip-place-map{height:520px}.trip-place-search-results{max-height:260px}}@media (max-width:700px){.drive-place-editor-page{padding:12px}.drive-place-editor-topbar,.drive-place-trip-summary,.trip-place-panel>header{flex-direction:column;align-items:flex-start}.drive-place-editor-topbar nav,.drive-place-trip-summary nav{flex-wrap:wrap}.trip-place-input-row{grid-template-columns:1fr}.trip-place-search{grid-template-columns:1fr 1fr}.trip-place-search input{grid-column:1/-1;font-size:16px}.trip-place-map{height:500px}.trip-place-coordinates{flex-wrap:wrap}}.log-workspace-main:has(.drive-detail-page){padding:0}.log-workspace-main:has(.drive-detail-page)>.log-workspace-title-row{display:none}.drive-detail-page{box-sizing:border-box;color:#334155;width:100%;padding:16px 20px 24px}.drive-detail-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.drive-detail-head h1{color:#111827;margin:0;font-size:22px;font-weight:600}.drive-detail-head p{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.5}.drive-detail-head nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.drive-detail-head nav>a,.drive-detail-head summary{box-sizing:border-box;color:#334155;cursor:pointer;background:#f3f4f6;border:1px solid #d9dee7;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:7px 11px;font-size:13px;text-decoration:none;list-style:none;display:inline-flex}.drive-detail-head details{position:relative}.drive-detail-head details>summary{color:#fff;background:#ea580c;border-color:#ea580c}.drive-detail-head details>summary::-webkit-details-marker{display:none}.drive-detail-head details>div{z-index:20;background:#fff;border:1px solid #d9dee7;border-radius:12px;width:300px;padding:14px;position:absolute;top:42px;right:0;box-shadow:0 14px 35px #11182733}.drive-detail-head details strong{color:#111827;font-size:14px}.drive-detail-head details p{margin:7px 0 11px;font-size:12px}.drive-detail-head details button{color:#334155;width:100%;min-height:36px;font:inherit;cursor:pointer;background:#f3f4f6;border:1px solid #d9dee7;border-radius:8px;margin-top:6px;font-size:12px}.drive-detail-head details button:first-of-type{color:#fff;background:#111827;border-color:#111827}.drive-detail-head details button:disabled{opacity:.55;cursor:wait}.drive-detail-head nav>.route{color:#fff;background:#15803d;border-color:#15803d}.drive-detail-error,.drive-detail-progress{border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:13px;font-weight:600}.drive-detail-error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca}.drive-detail-progress{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.drive-detail-stats{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.drive-detail-stats article,.drive-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 3px 14px #0000000a}.drive-detail-stats article{box-sizing:border-box;min-width:0;min-height:82px;padding:11px 12px}.drive-detail-stats span,.drive-detail-stats small{color:#8391a3;font-size:11px;display:block}.drive-detail-stats strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 2px;font-size:17px;font-weight:600;display:block;overflow:hidden}.drive-detail-workspace{grid-template-columns:minmax(470px,1fr) minmax(290px,.5fr) minmax(520px,.98fr);align-items:stretch;gap:12px;height:calc(100vh - 245px);min-height:610px;max-height:780px;display:grid}.drive-detail-map{min-width:0}.drive-detail-map>.review-map-panel{border-radius:14px;height:100%}.drive-detail-map .review-route-map{min-height:430px}.drive-detail-center{grid-template-rows:minmax(350px,1fr) auto;gap:12px;min-width:0;display:grid}.drive-detail-card{min-width:0;overflow:hidden}.drive-detail-card>header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:0 11px;display:flex}.drive-detail-card>header strong{color:#111827;font-size:15px;font-weight:600}.drive-detail-card>header span{color:#8391a3;text-align:right;font-size:11px}.drive-detail-charts{grid-template-rows:1fr 1fr;gap:8px;height:calc(100% - 41px);padding:8px;display:grid}.drive-detail-chart{box-sizing:border-box;cursor:crosshair;background:#fff;border:1px solid #edf0f4;border-radius:10px;width:100%;height:100%;min-height:135px;position:relative;overflow:hidden}.drive-detail-chart svg{width:100%;height:100%;display:block}.drive-detail-chart .grid{stroke:#e5e7eb;stroke-width:1px}.drive-detail-chart>span{z-index:1;color:#64748b;pointer-events:none;white-space:nowrap;font-size:10px;line-height:1;position:absolute}.drive-detail-chart-title{top:9px;left:7px}.drive-detail-chart-max{top:27px;left:7px}.drive-detail-chart-zero{bottom:22px;left:7px}.drive-detail-chart-average{left:6.3%;transform:translateY(-100%)}.drive-detail-card table{border-collapse:collapse;color:#334155;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.drive-detail-card th{color:#334155;font-weight:600}.drive-detail-card th,.drive-detail-card td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;height:31px;padding:4px 7px}.drive-detail-card tbody tr[role=button],.drive-detail-card tbody tr[tabindex]{cursor:pointer}.drive-detail-card tbody tr:hover{background:#f8fafc}.drive-detail-card tbody tr.selected{background:#dbeafe;box-shadow:inset 3px 0 #2563eb}.drive-detail-logs{flex-direction:column;display:flex}.drive-detail-logs>div{flex:1;overflow:auto}.drive-detail-logs thead{z-index:2;background:#f8fafc;position:sticky;top:0}.drive-detail-logs td:nth-child(2){text-overflow:ellipsis;max-width:155px;overflow:hidden}.drive-detail-bottom{grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:12px;margin-top:12px;display:grid}.drive-detail-bottom .drive-detail-card{min-height:190px}.drive-detail-bottom b{border-radius:999px;padding:3px 7px;font-size:10px;display:inline-flex}.drive-detail-bottom b.accel{color:#c2410c;background:#fff7ed}.drive-detail-bottom b.brake{color:#b91c1c;background:#fee2e2}.drive-detail-page :focus-visible{outline-offset:2px;outline:2px solid #2563eb}@media (max-width:1550px){.drive-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.drive-detail-workspace{grid-template-columns:minmax(410px,1fr) minmax(270px,.52fr) minmax(460px,1fr);height:calc(100vh - 330px)}.drive-detail-stats article{min-height:70px}.drive-detail-stats strong{font-size:16px}}@media (max-width:1180px){.drive-detail-workspace{grid-template-columns:1fr 1fr;height:auto;max-height:none}.drive-detail-map{height:620px}.drive-detail-logs{grid-column:1/-1;height:620px}.drive-detail-bottom{grid-template-columns:1fr}}@media (max-width:760px){.drive-detail-page{padding:12px}.drive-detail-head{flex-direction:column}.drive-detail-head nav{justify-content:flex-start}.drive-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.drive-detail-workspace{grid-template-columns:1fr}.drive-detail-map{height:520px}.drive-detail-center{grid-template-rows:auto auto}.drive-detail-charts{height:440px}.drive-detail-logs{grid-column:auto;height:560px}.drive-detail-head details>div{width:min(300px,100vw - 24px);left:0;right:auto}}
:root{--font-family:var(--font-pretendard), -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", Arial, sans-serif;font-family:var(--font-family)}body{font-family:var(--font-family);font-size:15px}button,input,select,textarea{font-family:inherit}:root .form-field input,:root .form-field select,:root .form-field textarea,:root .date-input-display,:root .app-action-bar :is(button,a){font-size:15px}@media (max-width:760px){body,:root .app-action-bar :is(button,a){font-size:14px}}:root .topbar-title,:root .topbar-add{font-size:13px}:root .desktop-side-summary h2{font-size:17px}:root .page-head h1,:root .section-title-row h1{font-size:28px}:root .dashboard-record-date strong{font-size:13px}:root .dashboard-record-date span{font-size:12px}:root .dashboard-record-title{font-size:16px}:root .dashboard-record-chip{font-size:11px}:root .repair-record-group h2{font-size:16px}:root .dashboard-record-place{font-size:13px}:root .dashboard-record-amount strong{font-size:16px}:root .dashboard-record-amount small,:root .dashboard-record-info-badge,:root .dashboard-record-paid-badge,:root .dashboard-record-discount-badge,:root .dashboard-record-mileage-badge,:root .dashboard-record-memo,:root .toll-route-chip,:root .toll-route-arrow,:root .process-chip{font-size:12px}:root .record-detail-main h1,:root .repair-detail-content h1{font-size:26px}:root .record-detail-section-head h2,:root .record-form-section h2{font-size:18px}:root .insurance-coverage-row label>span:first-child{font-size:12px}:root .inventory-help{font-size:13px}:root .insurance-roadside-form label>span:first-child{font-size:12px}:root .insurance-roadside-item strong{font-size:15px}:root .insurance-roadside-item>div span{font-size:12px}:root .insurance-roadside-item p{font-size:13px}:root .repair-detail-group h3{font-size:15px}:root .repair-detail-group table{font-size:13px}:root .repair-detail-group th{font-size:12.5px}:root .repair-detail-subtotal{font-size:13px}:root .repair-detail-subtotal strong{font-size:15px}:root .login-copy h1{font-size:42px}:root .login-form span,:root .form-field>span:first-child,:root .login-remember span{font-size:13px}:root .repair-accident-link-field span{font-size:11px}:root .repair-choice-button{font-size:13px}:root .drawer-account strong{font-size:16px}:root .drawer-account-row a{font-size:12px}:root .drawer-account select{font-family:inherit;font-size:16px}:root .drawer-record-link,:root .drawer-menu a{font-size:14px}:root .drawer-section-label{font-size:12px}:root .dashboard-card strong{font-size:24px}:root .vehicle-metric p{font-size:13px}:root .vehicle-metric strong{font-size:22px}:root .vehicle-metric small,:root .mileage-metric dt{font-size:12px}:root .mileage-metric dd,:root .vehicle-metric-split .vehicle-metric-split-item strong{font-size:18px}:root .other-category-field>span{font-size:13px}:root .other-category-chip{font-family:inherit;font-size:13px}:root .form-help-text{font-size:12px}:root .carwash-quick-button{font-family:inherit}:root .carwash-quick-button strong{font-size:13px}:root .carwash-quick-button small{font-size:11px}:root .carwash-selected-header strong,:root .carwash-selected-header span{font-size:13px}:root .carwash-chip-button,:root .carwash-chip-move{font-family:inherit;font-size:12px}:root .carwash-edit-header strong{font-size:17px}:root .carwash-product-picker>span{font-size:12px}:root .carwash-product-option{font-family:inherit;font-size:12px}:root .carwash-product-option small{font-size:11px}:root .carwash-inventory-empty{font-size:12px}:root .segmented-field>span,:root .other-card-toggle strong{font-size:13px}:root .other-card-toggle small{font-size:11px}:root .settings-card h2{font-size:18px}:root .settings-link-icon{font-size:20px}:root .settings-link-card h3{font-size:16px}:root .settings-link-card p,:root .settings-link-card>strong{font-size:13px}:root .car-summary-card h3{font-size:17px}:root .car-summary-card p,:root .car-summary-card>strong{font-size:13px}:root .default-badge{font-size:12px}:root .car-image-actions label,:root .car-image-upload-box>label:first-child>span{font-size:13px}:root .car-image-upload-box small{font-size:12px}@media (max-width:760px){:root .page-head h1,:root .section-title-row h1{font-size:22px}:root .mobile-quick-add-menu .quick-add-link{font-size:12px}:root .bottom-nav-item{font-family:inherit;font-size:11px}:root .car-summary-card h3{font-size:15px}:root .car-summary-card p{font-size:12px}:root .settings-link-icon{font-size:18px}:root .settings-link-card h3{font-size:15px}:root .settings-link-card p,:root .car-image-actions label{font-size:12px}:root .drawer-record-link,:root .drawer-menu a,:root .dashboard-summary-grid .dashboard-card p{font-size:13px}:root .dashboard-summary-grid .dashboard-card strong{font-size:17px}:root .dashboard-summary-grid .dashboard-card small,:root .vehicle-metric p{font-size:12px}:root .vehicle-metric strong{font-size:18px}:root .vehicle-metric small{font-size:11px}:root .mileage-metric dd{font-size:17px}:root .vehicle-summary-grid .vehicle-metric:not(.mileage-metric) p{font-size:11px}:root .vehicle-summary-grid .vehicle-metric:not(.mileage-metric) strong{font-size:15px}:root .vehicle-summary-grid .vehicle-metric:not(.mileage-metric) small{font-size:10px}:root .vehicle-metric-split .vehicle-metric-split-item strong{font-size:13px}:root .dashboard-record-date strong{font-size:12px}:root .dashboard-record-date span{font-size:11px}:root .dashboard-record-title{font-size:15px}:root .repair-record-group h2{font-size:13px}:root .dashboard-record-chip{font-size:10px}:root .dashboard-record-info-badge,:root .dashboard-record-paid-badge,:root .dashboard-record-discount-badge,:root .dashboard-record-mileage-badge{font-size:11px}:root .dashboard-record-place{font-size:12px}:root .dashboard-record-amount strong{font-size:15px}:root .dashboard-record-amount small{font-size:11px}:root .dashboard-record-memo{font-size:12px}:root .process-chip{font-size:11px}:root .carwash-quick-button strong{font-size:12px}:root .carwash-quick-button small{font-size:10px}:root .place-select-button,:root .other-category-chip{font-size:13px}:root .other-date-field input[type=date],:root .other-mileage-field input{font-size:16px}:root .other-category-primary .other-category-chip,:root .other-form-grid .other-category-primary .other-category-chip{font-size:12px}}:root .fixed-cost-fields>span{font-size:13px}@media (max-width:760px){:root .other-form-grid .wash-type-field .segmented-options span,:root .other-card-toggle strong{font-size:12px}:root .other-card-toggle small{font-size:10px}}:root .user-summary-card h3{font-size:16px}:root .user-summary-card p{font-size:13px}:root .user-summary-avatar{font-size:24px}:root .profile-image-preview{font-size:42px}:root .user-edit-grid label span{font-size:13px}@media (max-width:760px){:root .user-summary-avatar{font-size:21px}:root .profile-image-preview{font-size:30px}}:root .inventory-hide-inactive-toggle,:root .inventory-simple-stock-grid label>span:first-child{font-size:12px}:root .inventory-simple-stock-grid input,:root .inventory-simple-stock-grid select{font-size:13px}:root .inventory-variant-row label>span:first-child{font-size:12px}:root .inventory-variant-row input:not([type=radio]),:root .inventory-variant-row select{font-size:13px}:root .variant-default-field,:root .inventory-product-kind,:root .inventory-product-vehicle-chip,:root .inventory-product-record-chip,:root .inventory-product-inactive-chip{font-size:12px}:root .inventory-product-record-summary p{font-size:14px}:root .inventory-product-record-summary small{font-size:12px}:root .inventory-product-card strong{font-size:16px}:root .inventory-product-card small{font-size:13px}:root .inventory-product-card em{font-size:14px}:root .purchase-product-select-button,:root .purchase-product-picker-option{font-family:inherit}:root .purchase-item-column-header{font-size:12px}:root .purchase-cost-category-chip{font-size:11px}:root .inventory-car-chip,:root .form-help-text{font-size:13px}@media (max-width:760px){:root .inventory-car-chip{font-size:12px}}:root .washcard-log-row{font-size:14px}:root .dashboard-record-row .dashboard-record-icon{box-sizing:border-box;border-width:2px;width:33px;height:33px}:root .dashboard-record-row .dashboard-record-icon img{width:23px;height:23px}@media (max-width:760px){:root .dashboard-record-row .dashboard-record-icon{width:31px;height:31px}:root .dashboard-record-row .dashboard-record-icon img{width:22px;height:22px}}:root .topbar-car,:root .desktop-top-nav a,:root .desktop-side-menu a,:root .desktop-side-summary dt,:root .desktop-side-summary dd{font-size:15px}:root .desktop-add-button{font-size:13px}:root .inventory-section-head h2,:root .stats-panel-head h2{font-size:18px}:root .inventory-summary-grid strong{font-size:23px}:root .stats-summary-card strong{font-size:22px}:root .stats-summary-card span,:root .stats-panel-head span{font-size:13px}:root .stats-summary-card small,:root .ghost-button.compact,:root .primary-button.compact{font-size:14px}:root .repair-detail-panel h2{font-size:17px}:root .repair-detail-group td{font-size:13px}@media (max-width:760px){:root .topbar-car{font-size:16px}:root .topbar-title,:root .stats-summary-card strong{font-size:15px}:root .stats-summary-card span{font-size:11px}:root .stats-panel-head span{font-size:12px}}:root body,:root :is(input,textarea,select){font-weight:400}:root :is(button,[role=button],label,th,nav a),:root .form-field>span:first-child,:root .app-action-bar :is(a,button),:root .desktop-side-menu a,:root .desktop-top-nav a,:root .drawer-menu a,:root .drawer-record-link,:root .inventory-car-chip,:root .product-active-chip{font-weight:500}:root :is(h1,h2,h3,h4,h5,h6,strong,b){font-weight:600}:root :is(button,[role=button],label,nav a) :is(strong,b),:root .form-field :is(input,textarea,select),:root .date-input-display{font-weight:400}:root :is(button,[role=button],label,nav a) :is(strong,b){font-weight:500}:root :is(small),:root .form-help-text,:root .inventory-help,:root .dashboard-record-memo{font-weight:400}:root .record-year-divider,:root .record-year-divider>span,:root .vehicle-metric.owned-period-metric>strong{font-size:18px}@media (max-width:760px){:root .record-year-divider,:root .record-year-divider>span,:root .vehicle-metric.owned-period-metric>strong{font-size:16px}}
