:root { --wp-canvas:#f5f3ef; --wp-surface:#fff; --wp-text:#292725; --wp-muted:#756e66; --wp-line:#dedad4; --wp-accent:#b73532; --wp-tint:#f7eae7; --wp-soft:#f1eeea; --wp-on-accent:#fff; color-scheme:light; }
/* Match the shared inventory/schedule desktop section-menu geometry. */
@media(min-width:761px) {
  .workspace-desktop .parking-shell > .parking-subnav { margin-top:20px; margin-bottom:24px; }
  .workspace-desktop .parking-subnav .parking-tabs { min-height:52px; gap:28px; }
  .workspace-desktop .parking-tabs > button { min-height:52px; padding:14px 0; font-size:16px; line-height:22px; font-weight:500; }
  .workspace-desktop .parking-tabs > button[aria-selected="true"] { font-weight:650; }
}
:root[data-theme="dark"] { --wp-canvas:#191817; --wp-surface:#222120; --wp-text:#f1eeea; --wp-muted:#b6afa6; --wp-line:#45413c; --wp-accent:#e58b82; --wp-tint:#392724; --wp-soft:#2c2926; --wp-on-accent:#241715; color-scheme:dark; }
.applied-discounts { margin-top:16px; border-top:1px solid var(--wp-line); }
.applied-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 0; }
.applied-heading h4 { margin:0; font-size:14px; }
.applied-discount { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--wp-line); }
.discount-info { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 16px; min-width:0; }
.discount-info strong { font-size:14px; overflow-wrap:anywhere; }
.discount-time,.discount-reason { font-size:12px; color:var(--wp-muted); font-variant-numeric:tabular-nums; }
.discount-time { white-space:nowrap; }
.discount-reason { flex:none; }
.parking-page .discount-remove,.parking-page .discount-refresh { flex:none; min-height:36px; padding:6px 10px; font-size:12px; }
.parking-page .discount-remove { color:var(--wp-accent); }
.native-workspace-app .discount-remove,.native-workspace-app .discount-refresh { min-height:44px; }
.discount-delete-dialog { width:min(400px,calc(100% - 32px)); max-height:calc(100dvh - 48px); overflow:auto; margin:auto; padding:24px; border:1px solid var(--wp-line); border-radius:14px; background:var(--wp-surface); color:var(--wp-text); box-shadow:0 16px 56px #0003; }
.discount-delete-dialog::backdrop { background:#0007; }
.discount-delete-dialog h2 { margin:0 0 18px; font-size:20px; }
.discount-delete-plate { margin:0 0 10px; font-size:21px; font-weight:750; }
.discount-delete-info { display:grid; gap:6px; padding:14px; border:1px solid var(--wp-line); border-radius:8px; background:var(--wp-soft); }
.discount-delete-info strong { font-size:15px; overflow-wrap:anywhere; }
.discount-delete-info time { font-size:13px; color:var(--wp-muted); font-variant-numeric:tabular-nums; }
.discount-delete-note { margin:16px 0 20px; font-size:14px; color:var(--wp-muted); }
.discount-delete-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.parking-page .discount-delete-actions button { min-height:46px; font-weight:650; }
.parking-page .discount-delete-confirm { background:var(--wp-accent); color:var(--wp-on-accent); border-color:var(--wp-accent); }
.native-workspace-app .discount-delete-dialog { border-radius:18px; }
.native-workspace-app .discount-delete-actions button { border-radius:12px; min-height:48px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--wp-canvas); color:var(--wp-text); font:16px/1.5 'Enter Workspace',sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; color:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--wp-accent); outline-offset:3px; }
.parking-shell { max-width:1480px; margin:auto; padding:0 38px 24px; }
.parking-app-header { display:none; }
.native-workspace-app .parking-app-header { display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:8px 18px; border-bottom:1px solid var(--wp-line); }
.parking-app-header a { display:flex; align-items:center; min-height:44px; min-width:44px; color:var(--wp-text); text-decoration:none; }
.parking-app-header strong { font-size:18px; }
.parking-page #parking-app-theme { width:44px; padding:0; font-size:23px; background:transparent; border:0; }
.parking-subnav { display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--wp-line); margin-bottom:16px; }
.parking-tabs { display:flex; gap:28px; min-height:74px; align-items:stretch; flex:1; min-width:0; }
.parking-settings-toggle { display:grid; place-items:center; flex:none; width:40px; height:40px; }
.parking-page .parking-settings-toggle { padding:8px; min-height:40px; background:transparent; border:0; color:var(--wp-muted); }
.parking-settings-toggle:hover { color:var(--wp-accent); }
.parking-settings-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; }
.parking-page .change-vehicle { padding:4px 10px; min-height:32px; font-size:12px; color:var(--wp-muted); background:none; }
#parking-settings { width:min(440px,calc(100% - 32px)); margin:auto; padding:0; border:1px solid var(--wp-line); border-radius:8px; background:var(--wp-surface); color:var(--wp-text); max-height:calc(100dvh - 40px); overflow:auto; }
#parking-settings::backdrop { background:#0007; }
#parking-settings-close { border:0; padding:0; min-height:32px; width:32px; font-size:25px; }
.settings-status { display:flex; align-items:center; justify-content:space-between; font-size:14px; gap:12px; }
.settings-status strong { color:var(--wp-accent); font-size:13px; font-weight:600; }
.settings-help { font-size:13px; color:var(--wp-muted); line-height:1.7; margin:14px 0; }
#parking-account-form label { display:grid; gap:7px; font-size:14px; margin-top:16px; }
#parking-account-form input { width:100%; }
#parking-account-form > button { width:100%; margin-bottom:4px; }
.parking-tabs button { border:0; border-bottom:2px solid transparent; padding:22px 0 18px; color:var(--wp-muted); background:none; font-size:16px; white-space:nowrap; }
.parking-tabs [aria-selected="true"] { border-color:var(--wp-accent); color:var(--wp-accent); font-weight:750; }
.parking-meta { display:flex; align-items:center; justify-content:flex-end; gap:8px 16px; max-width:52%; padding:0; font-size:12px; color:var(--wp-muted); }
.parking-meta p { margin:0; }
.parking-meta a { color:inherit; text-decoration:none; white-space:nowrap; }
.parking-meta a:hover { text-decoration:underline; }
.native-workspace-app .parking-meta a { display:none; }
.native-workspace-app .parking-meta:not(.has-message) { display:none; }
.connection-dot { display:inline-block; width:10px; height:10px; margin-left:5px; vertical-align:middle; border-radius:50%; background:var(--wp-muted); }
.connection-dot[data-state="connected"] { background:#25854b; }
.connection-dot[data-state="attention"] { background:#c33e39; }
:root[data-theme="dark"] .connection-dot[data-state="connected"] { background:#67cb88; }
:root[data-theme="dark"] .connection-dot[data-state="attention"] { background:#f17d77; }
.parking-grid { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr); gap:22px; align-items:stretch; }
.parking-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.parking-overview > div { min-width:0; padding:14px 20px; background:var(--wp-surface); border:1px solid var(--wp-line); border-radius:8px; }
.parking-overview > div:first-child { background:var(--wp-soft); }
.parking-overview dt { color:var(--wp-muted); font-size:13px; }
.parking-overview dd { margin:4px 0 0; font-size:26px; font-weight:750; line-height:1.3; font-variant-numeric:tabular-nums; white-space:nowrap; }
.parking-card { min-width:0; border:1px solid var(--wp-line); border-radius:8px; background:var(--wp-surface); overflow:hidden; }
.card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; min-height:54px; padding:12px 18px; border-bottom:1px solid var(--wp-line); }
h1,h2,h3,p { margin-top:0; }
.card-head h1,.card-head h2 { font-size:19px; line-height:1.5; font-weight:750; margin:0; }
.card-body { padding:16px 18px; }
.quiet { color:var(--wp-muted); font-size:13px; }
input,select { background:var(--wp-surface); border:1px solid var(--wp-line); border-radius:6px; padding:10px 12px; min-height:44px; min-width:0; }
input::placeholder { color:var(--wp-muted); }
button:where(:not([role="tab"]):not(.vehicle):not(.ticket):not(.web-icon)) { border:1px solid var(--wp-line); border-radius:6px; min-height:44px; padding:9px 18px; background:var(--wp-surface); }
button.primary:not([role="tab"]) { background:var(--wp-accent); color:var(--wp-on-accent); border-color:var(--wp-accent); font-weight:650; }
.search-row { display:grid; grid-template-columns:minmax(0,1fr) 70px 44px; gap:8px; }
.favorites-anchor { position:relative; }
.parking-page #favorites-toggle { display:grid; place-items:center; padding:0; width:44px; height:44px; color:var(--wp-accent); }
#favorites-toggle svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#favorites-toggle[aria-expanded="true"] svg { fill:var(--wp-tint); }
.favorites-popover { position:absolute; top:calc(100% + 7px); right:0; width:340px; max-width:calc(100vw - 56px); z-index:20; padding:14px; border:1px solid var(--wp-line); border-radius:8px; background:var(--wp-surface); box-shadow:0 8px 24px #0002; }
.favorites-popover:not([hidden]) { display:flex; flex-direction:column; overflow-y:auto; }
.favorites-popover.opens-up { top:auto; bottom:calc(100% + 7px); }
.favorites-heading,.favorite-editor,#favorites-message { flex-shrink:0; }
.favorites-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:14px; margin-bottom:10px; }
#favorites-list { display:grid; gap:6px; min-height:44px; max-height:294px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.parking-page .favorite-add { min-height:36px; padding:4px 10px; font-size:13px; font-weight:650; color:var(--wp-accent); background:var(--wp-tint); }
.favorite-editor { padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid var(--wp-line); }
.favorite-editor:not([hidden]) + #favorites-list { max-height:144px; }
#favorites-message:empty { display:none; }
.parking-page #favorites-list button { display:grid; gap:4px; text-align:left; padding:10px; }
#favorites-list button strong { font-size:13px; overflow-wrap:anywhere; }
#favorite-name,#favorite-plate { margin-top:10px; width:100%; font-size:13px; }
.favorite-item { display:grid; grid-template-columns:minmax(0,1fr) 36px; gap:4px; }
.parking-page #favorites-list .favorite-remove { padding:4px; text-align:center; display:block; }
.parking-page #favorites-list .favorite-item > button:not(.favorite-remove) { display:flex; align-items:center; gap:8px; min-width:0; white-space:nowrap; font-size:13px; }
#favorites-list .favorite-item > button strong { min-width:0; overflow:hidden; text-overflow:ellipsis; }
#favorites-list .favorite-item > button > span { flex-shrink:0; }
.parking-page #favorite-current { width:100%; margin-top:10px; background:var(--wp-soft); font-size:13px; }
#favorites-message { margin:8px 0 0; font-size:12px; }
.search-card { overflow:visible; }
.search-card .card-head { border-radius:7px 7px 0 0; }
.results-title { display:flex; align-items:center; justify-content:space-between; margin:18px 0 10px; }
.results-title h2 { font-size:14px; font-weight:650; margin:0; }
.results-title h2 span { margin-left:5px; color:var(--wp-muted); font-variant-numeric:tabular-nums; }
#vehicle-results { display:grid; gap:8px; max-height:160px; overflow-y:auto; }
.vehicle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:left; background:var(--wp-surface); border:1px solid var(--wp-line); border-radius:6px; padding:15px; }
.vehicle:hover { background:var(--wp-soft); }
.vehicle[aria-pressed="true"] { background:var(--wp-tint); border-color:var(--wp-accent); }
.vehicle strong { display:block; font-size:18px; font-weight:700; }
.vehicle small { display:block; margin-top:5px; font-size:13px; color:var(--wp-muted); }
.vehicle .duration { font-size:14px; white-space:nowrap; color:var(--wp-muted); }
.balance { display:flex; gap:10px; align-items:baseline; color:var(--wp-muted); font-size:13px; }
.balance strong { color:var(--wp-text); font-size:16px; font-variant-numeric:tabular-nums; }
.empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--wp-muted); min-height:235px; }
.empty-parking { display:grid; place-items:center; width:48px; height:48px; font-size:26px; font-weight:650; border:2px solid var(--wp-line); border-radius:8px; margin-bottom:20px; }
.empty-state h3 { font-size:17px; color:var(--wp-text); margin-bottom:8px; }
.empty-state p { font-size:14px; line-height:1.8; margin:0; }
.empty-results { color:var(--wp-muted); padding:32px 12px; text-align:center; font-size:14px; }
.selected-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.selected-heading h3 { margin:0; font-size:24px; letter-spacing:.01em; }
.tag { display:inline-block; padding:4px 9px; border-radius:4px; background:var(--wp-soft); font-size:12px; color:var(--wp-muted); }
.vehicle-facts { display:grid; grid-template-columns:1fr 1fr; margin:0 0 14px; padding:10px 12px; background:var(--wp-soft); border-radius:6px; gap:10px; }
.vehicle-facts > div { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.vehicle-facts dt { color:var(--wp-muted); font-size:13px; }
.vehicle-facts dd { margin:0; font-size:16px; font-weight:600; font-variant-numeric:tabular-nums; }
.vehicle-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; align-items:stretch; }
.parking-page .selected-heading .vehicle-facts { display:block; flex:none; margin:0; padding:0; background:none; }
.parking-page .selected-heading .vehicle-facts > div { display:grid; gap:3px; text-align:right; }
.entry-photo { position:relative; min-width:0; min-height:164px; display:flex; flex-direction:column; justify-content:center; gap:5px; text-align:center; background:var(--wp-soft); border:1px solid var(--wp-line); border-radius:6px; overflow:hidden; }
.entry-photo-status { padding:4px 8px; font-size:12px; line-height:1.5; color:var(--wp-muted); }
.parking-page .entry-photo button { padding:0; min-height:0; border:0; border-radius:0; background:transparent; }
.parking-page .entry-photo button:not(.entry-photo-open) { font-size:12px; text-decoration:underline; }
.entry-photo-open { position:absolute; inset:0; width:100%; height:100%; }
.entry-photo-open img { display:block; width:100%; height:100%; object-fit:contain; background:#171717; }
.entry-photo-open span { position:absolute; right:3px; bottom:3px; padding:2px 5px; border-radius:3px; color:#fff; background:#000b; font-size:10px; }
.entry-photo-dialog { width:min(900px,calc(100% - 32px)); max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); margin:auto; padding:16px; border:1px solid var(--wp-line); border-radius:14px; background:var(--wp-surface); color:var(--wp-text); overflow:auto; }
.entry-photo-dialog::backdrop { background:#0009; }
.entry-photo-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.entry-photo-dialog-head h2 { margin:0; font-size:18px; }
.entry-photo-dialog-head button { flex:none; min-height:40px; }
.entry-photo-dialog > img { display:block; width:100%; max-height:calc(100dvh - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); object-fit:contain; border-radius:6px; background:#171717; }
@media(max-width:760px) { .vehicle-summary { gap:10px; } .entry-photo-dialog { padding:12px; } .entry-photo-dialog-head h2 { font-size:16px; } }
.vehicle-summary .ticket-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.parking-page .vehicle-summary .ticket { min-height:44px; padding:7px 6px; text-align:center; }
.parking-page .vehicle-summary .ticket strong { font-size:14px; line-height:1.35; padding:0; overflow-wrap:anywhere; word-break:keep-all; }
.ticket-condition { display:block; font-size:11px; font-weight:500; margin-top:3px; white-space:nowrap; letter-spacing:-.04em; }
.vehicle-summary .tickets legend { font-size:12px; font-weight:500; color:var(--wp-muted); }
@media(max-width:760px) { .vehicle-summary { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); } .parking-page .vehicle-summary .ticket { padding:7px 4px; } .parking-page .vehicle-summary .ticket strong { font-size:13px; } .ticket-condition { font-size:10px; } }
.tickets { border:0; padding:0; margin:0; min-width:0; }
.tickets legend { font-size:14px; font-weight:650; margin-bottom:8px; }
.ticket-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ticket { position:relative; text-align:left; padding:8px 10px; min-height:54px; background:var(--wp-surface); border:1px solid var(--wp-line); border-radius:6px; }
.ticket[aria-pressed="true"] { background:var(--wp-tint); border-color:var(--wp-accent); }
.ticket strong { display:block; font-size:15px; line-height:1.3; padding-right:10px; }
.ticket small { display:block; color:var(--wp-muted); margin-top:3px; font-size:13px; }
.ticket[aria-pressed="true"]::after { content:'✓'; position:absolute; right:10px; top:10px; color:var(--wp-accent); font-size:13px; font-weight:750; }
.ticket-total { display:flex; align-items:center; gap:14px; font-size:14px; color:var(--wp-muted); }
.ticket-total strong { color:var(--wp-text); font-size:23px; font-variant-numeric:tabular-nums; }
.issue-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 12px; margin-top:10px; padding-top:10px; border-top:1px solid var(--wp-line); }
.issue-row p { grid-column:1/-1; font-size:12px; color:var(--wp-muted); margin:0; }
.issue-row button { flex:none; min-width:146px; }
.history-filter { display:flex; align-items:flex-end; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.history-filter label { display:flex; flex-direction:column; gap:7px; font-size:13px; color:var(--wp-muted); }
.history-filter input { color:var(--wp-text); }
.history-query-label { margin-left:auto; }
.range-dash { padding-bottom:12px; color:var(--wp-muted); }
.table-scroll { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:14px; white-space:nowrap; }
th,td { text-align:left; border-bottom:1px solid var(--wp-line); padding:16px 13px; }
th { font-size:13px; color:var(--wp-muted); font-weight:500; background:var(--wp-soft); }
td:first-child { color:var(--wp-muted); font-variant-numeric:tabular-nums; }
.fee-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.summary-units { display:flex; gap:6px; }
.summary-units button[aria-pressed="true"] { color:var(--wp-accent); background:var(--wp-tint); border-color:var(--wp-accent); font-weight:650; }
.summary-range { margin-bottom:18px; }
.summary-chart-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:30px 0 20px; }
.summary-chart-head h3 { margin:0; font-size:16px; }
.summary-chart-scroll { overflow-x:auto; margin-bottom:24px; }
.summary-chart { min-width:540px; display:flex; gap:12px; padding:26px 4px 0; }
.summary-column { flex:1; min-width:0; text-align:center; }
.summary-plot { height:125px; display:flex; align-items:flex-end; justify-content:center; border-bottom:1px solid var(--wp-line); }
.summary-bar { position:relative; width:65%; max-width:45px; background:var(--wp-line); border-radius:3px 3px 0 0; }
.summary-bar.is-current { background:var(--wp-accent); }
.bar-count { position:absolute; top:-23px; left:0; right:0; color:var(--wp-muted); font-size:12px; }
.summary-label { display:block; margin-top:8px; color:var(--wp-muted); font-size:11px; white-space:nowrap; }
.fee-item { padding:22px; background:var(--wp-soft); border-radius:6px; }
.fee-item h3 { font-size:14px; font-weight:500; color:var(--wp-muted); margin-bottom:12px; }
.fee-item strong { font-size:25px; font-weight:700; }
.fee-item p { font-size:13px; color:var(--wp-muted); margin:8px 0 0; }
.fee-note { margin:24px 0 0; font-size:13px; color:var(--wp-muted); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1050px) { .parking-grid { grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr); gap:16px; } .ticket-grid { gap:6px; } .ticket { padding:10px; } }
@media(min-width:761px) and (max-height:800px) {
  .parking-page .parking-tabs { min-height:58px; }
  .parking-tabs button { padding:15px 0 12px; }
  .parking-page .web-portal-footer { margin-top:14px; padding-top:12px; padding-bottom:12px; }
}
@media(max-width:760px) {
  .parking-overview { gap:6px; margin-bottom:10px; }
  .parking-overview > div { padding:10px; }
  .parking-overview dt { font-size:11px; }
  .parking-overview dd { font-size:18px; }
  body { padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
  .parking-page .web-portal-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; padding:20px 18px 0; border-bottom:1px solid var(--wp-line); gap:18px; }
  .web-brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
  .web-brand-logo { display:grid; width:44px; height:44px; }
  .web-brand-logo img { grid-area:1/1; width:44px; height:44px; object-fit:contain; }
  .web-logo-light { display:none; } [data-theme="light"] .web-logo-dark { display:none; } [data-theme="light"] .web-logo-light { display:block; }
  .web-brand-company { display:block; font-size:8px; letter-spacing:.13em; color:var(--wp-muted); }
  .web-brand-title { display:block; font-size:25px; font-weight:750; }
  .web-header-tools { display:flex; gap:8px; } .web-header-tools a { display:none; }
  .web-icon { display:grid; place-items:center; width:40px; height:40px; background:none; border:1px solid var(--wp-line); border-radius:50%; }
  .web-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; }
  .web-primary-nav { order:3; display:flex; gap:22px; width:100%; overflow-x:auto; }
  .web-primary-nav a,.web-nav-disabled { padding:0 0 12px; flex:none; font-size:14px; text-decoration:none; color:var(--wp-muted); border-bottom:2px solid transparent; }
  .web-primary-nav [aria-current="page"] { color:var(--wp-accent); border-color:var(--wp-accent); font-weight:700; }
  .web-nav-disabled { opacity:.6; }
  .parking-shell { padding:0 18px 24px; }
  .parking-tabs { gap:26px; min-height:62px; }
  .parking-tabs button { padding:18px 0 14px; font-size:15px; }
  .parking-subnav { flex-wrap:wrap; gap:0 12px; margin-bottom:12px; }
  .parking-meta { order:3; max-width:none; width:100%; justify-content:space-between; padding:0 0 8px; font-size:11px; }
  .parking-grid { grid-template-columns:1fr; }
  .parking-grid { gap:10px; }
  .parking-page[data-vehicle-selected="true"] .search-card .card-head { display:none; }
  .parking-page[data-vehicle-selected="false"] .detail-card { display:none; }
  .parking-page[data-vehicle-selected="true"] .search-card .card-body { padding:10px; }
  .fee-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .fee-item { padding:16px; } .fee-item strong { font-size:22px; }
  .card-head h1,.card-head h2 { font-size:17px; }
  .selected-heading h3 { font-size:24px; }
  .vehicle-facts { padding:10px; }
  .vehicle-facts dd { font-size:14px; }
  .issue-row { grid-template-columns:minmax(0,1fr) auto; } .issue-row button { min-width:118px; padding:9px 12px; } .ticket-total { display:block; } .ticket-total strong { display:block; }
  .history-filter { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .history-filter input { width:100%; } .range-dash { display:none; } .history-query-label { margin:0; }
  .parking-page .web-portal-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:12px 18px 0; padding:20px 0 max(20px,env(safe-area-inset-bottom)); border-top:1px solid var(--wp-line); font-size:11px; color:var(--wp-muted); }
  .web-portal-footer a { color:inherit; text-decoration:none; } .web-portal-footer small { font:inherit; }
}
.native-workspace-app .parking-overview > div { border-radius:14px; }
.native-workspace-app #favorites-list { max-height:min(294px,calc(100dvh - 340px)); }
.native-workspace-app .favorite-editor:not([hidden]) + #favorites-list { max-height:144px; }
@media(max-width:760px) and (max-height:740px) {
  .parking-page .web-portal-header { padding-top:10px; gap:10px; }
  .parking-page .web-brand-logo,.parking-page .web-brand-logo img { width:34px; height:34px; }
  .parking-page .web-brand-title { font-size:22px; }
  .parking-page .web-primary-nav { gap:18px; scrollbar-width:none; }
  .parking-page .web-primary-nav a,.parking-page .web-nav-disabled { padding-bottom:8px; }
  .parking-page .parking-tabs { min-height:48px; }
  .parking-page .parking-tabs button { padding:12px 0 10px; }
  .parking-page .parking-meta { padding:0 0 6px; gap:8px; }
  .parking-page .card-head { padding:9px 12px; min-height:46px; }
  .parking-page .card-body { padding:12px; }
  .parking-page .selected-heading { margin-bottom:8px; }
  .parking-page .selected-heading h3 { font-size:22px; }
  .parking-page .vehicle-facts { margin-bottom:10px; padding:8px; }
  .parking-page .vehicle-facts dt { font-size:11px; }
  .parking-page .vehicle-facts dd { font-size:13px; }
  .parking-page .ticket { padding:6px 8px; min-height:48px; }
  .parking-page .ticket strong { font-size:13px; padding-right:0; }
  .parking-page .ticket small { margin-top:2px; font-size:12px; }
  .parking-page .ticket-grid { gap:6px; }
  .parking-page .tickets legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .parking-page .issue-row { margin-top:10px; padding-top:10px; }
}
