#profileDialog { width:min(1120px,calc(100vw - 32px)); max-width:none; height:min(860px,calc(100dvh - 32px)); max-height:none; margin:auto; padding:0; border:1px solid var(--border-strong); border-radius:20px; background:var(--bg,#fff); color:var(--text-primary,#182d35); box-shadow:0 20px 100px #0004; }
#profileDialog::backdrop {background:#102a3677;backdrop-filter:blur(3px)}
.profile-shell {height:100%;display:flex;flex-direction:column;min-height:0}
.profile-header {padding:22px 26px 14px;display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid var(--border-strong)}
.profile-header h2 {font-size:23px;margin:4px 0 8px;letter-spacing:-.5px}.profile-kicker {text-transform:uppercase;color:#008c89;font-weight:700;letter-spacing:1.5px;font-size:10px}.profile-header p {font-size:12px;color:var(--text-secondary);margin:0;line-height:1.5}
.profile-btn {border:1px solid var(--border-strong);background:var(--bg);color:var(--text-primary);border-radius:10px;padding:9px 13px;font:inherit;font-size:12px;cursor:pointer}.profile-btn:hover {border-color:#00978f}.profile-btn:disabled {opacity:.5;cursor:default}.profile-btn:focus-visible,#profileDialog select:focus-visible,#profileDialog input:focus-visible {outline:3px solid #1ca5a5;outline-offset:2px}
.profile-launch {width:100%;margin-top:12px;text-align:left;font-weight:600}.profile-vehicle-launch {margin:5px 0}
.profile-controls {padding:14px 26px 10px;display:flex;flex-wrap:wrap;gap:10px;align-items:end}.profile-controls label {display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--text-secondary);font-weight:600}.profile-controls select,.profile-controls input {border:1px solid var(--border-strong);border-radius:8px;padding:8px;font:inherit;font-size:12px;background:var(--bg);color:var(--text-primary);min-height:35px;max-width:180px}.profile-controls .profile-route-filter {max-width:225px}.profile-controls input[type=date] {width:132px}
.profile-progress {margin:0 26px 10px;padding:9px 12px;border-radius:8px;background:#008d8910;font-size:12px;line-height:1.5;color:var(--text-secondary)}.profile-progress progress {width:100%;height:4px;accent-color:#008d89}
.profile-tabs {display:flex;overflow-x:auto;gap:4px;padding:0 26px;flex-shrink:0;border-bottom:1px solid var(--border-strong)}.profile-tabs button {background:none;border:0;border-bottom:3px solid transparent;white-space:nowrap;padding:12px 11px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-secondary)}.profile-tabs button[aria-selected=true] {color:#008b88;border-color:#008b88}
.profile-content {overflow:auto;flex:1;min-height:0;padding:22px 26px 30px}.profile-content h3 {font-size:16px;margin:0 0 14px}.profile-content h4 {font-size:13px;margin:24px 0 12px}.profile-note {color:var(--text-secondary);font-size:12px;line-height:1.65;max-width:850px;margin:12px 0}.profile-empty {padding:28px;border:1px dashed var(--border-strong);border-radius:12px;font-size:13px;line-height:1.7;color:var(--text-secondary)}
.profile-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.profile-metric {padding:17px;border:1px solid var(--border-strong);border-radius:12px;min-width:0}.profile-metric small {font-size:11px;color:var(--text-secondary);display:block;margin-bottom:10px}.profile-metric strong {font-size:26px;letter-spacing:-.7px;display:block}.profile-metric p {font-size:11px;color:var(--text-secondary);line-height:1.5;margin:7px 0 0}
.profile-table-wrap {overflow:auto;border:1px solid var(--border-strong);border-radius:10px;margin:10px 0 20px}.profile-table {width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}.profile-table th {font-size:10px;letter-spacing:.4px;text-transform:uppercase;background:#008c8908;padding:12px;color:var(--text-secondary)}.profile-table td {padding:12px;border-top:1px solid var(--border-strong)}.profile-table td:first-child {font-weight:600}.profile-table button {padding:5px 9px}
.profile-chart {width:100%;height:195px;display:block;border:1px solid var(--border-strong);border-radius:12px;background:#008c8904}.profile-chart text {fill:var(--text-secondary);font-size:11px}.profile-chart-label {font-size:11px;color:var(--text-secondary);margin-top:7px}.profile-two {display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-map {height:300px;border-radius:12px;margin:12px 0;border:1px solid var(--border-strong)}
.profile-tag {display:inline-block;padding:4px 7px;border-radius:6px;font-size:10px;color:#007c76;background:#008c8914}.profile-tag.unavailable {color:#8f651d;background:#e8a02f13}.profile-definition {padding:13px 0;border-bottom:1px solid var(--border-strong)}.profile-definition summary {cursor:pointer;font-size:12px;font-weight:600}.profile-definition p {font-size:12px;color:var(--text-secondary);line-height:1.7;margin:10px 0 3px}.profile-footer {padding:10px 26px;border-top:1px solid var(--border-strong);font-size:10px;color:var(--text-secondary);display:flex;justify-content:space-between;gap:8px}
@media(max-width:700px){#profileDialog{width:100vw;height:100dvh;border-radius:0;border:0}.profile-header,.profile-controls{padding:14px 16px}.profile-header h2{font-size:20px}.profile-tabs{padding:0 10px}.profile-progress{margin:0 16px 10px}.profile-content{padding:16px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-metric{padding:12px}.profile-metric strong{font-size:23px}.profile-two{grid-template-columns:1fr}.profile-controls select,.profile-controls input{max-width:145px}.profile-footer{padding:10px 16px}}
