/* Parking directory cards and responsive admin rescue layer. Loaded separately
   so the shared generated site bundle stays reproducible. */
.parking-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:12px;padding:14px 17px;background:#e9f1f6;border-bottom:1px solid var(--line,#dbe2e9)}
.parking-controls label{display:grid;gap:6px;font:700 10px/1.2 var(--mono,monospace);letter-spacing:.08em;color:var(--muted,#586b7e);text-transform:uppercase}
.parking-controls input,.parking-controls select{width:100%;min-height:42px;border:1px solid #b8cbd8;background:#fff;color:var(--ink,#0c1e32);font:600 13px var(--body,Arial,sans-serif);padding:10px 12px}
.parking-controls input:focus,.parking-controls select:focus{outline:3px solid #58bddd66;outline-offset:1px;border-color:#168ac0}
.parking-status{margin:0;padding:10px 17px 0;color:var(--muted,#586b7e);font:650 10px var(--mono,monospace);letter-spacing:.03em}
.parking-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 17px 18px;min-height:65px}
.parking-list>p{grid-column:1/-1;font-size:13px;margin:7px 0}
.parking-card{display:flex;min-width:0;flex-direction:column;padding:16px;background:#fff;border:1px solid #cfdae3;box-shadow:0 5px 17px #1736500d;transition:border-color .16s,box-shadow .16s,transform .16s}
.parking-card:hover{border-color:#1675c6;box-shadow:0 10px 24px #17365019;transform:translateY(-1px)}
.parking-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#1f73bb;font:750 9px/1.2 var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase}
.parking-card-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#617a8e;font-weight:650}
.parking-card h3{font-size:16px;line-height:1.2;margin:0 0 5px;color:var(--ink,#0c1e32)}
.parking-card-operator{color:var(--muted,#586b7e);font-size:12px;line-height:1.4;margin:0 0 11px;min-height:17px}
.parking-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;list-style:none;padding:9px 0 0;margin:0;border-top:1px solid #e0e7ed}
.parking-card-meta-item{min-width:0;display:grid;gap:2px}
.parking-card-meta-label{color:#6d8292;font:700 8px/1.1 var(--mono,monospace);letter-spacing:.03em;text-transform:uppercase}
.parking-card-meta-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#274257;font:650 11px/1.25 var(--body,Arial,sans-serif)}
.parking-card-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:13px}
.parking-card-link{color:#0b67bd;font:750 10px var(--mono,monospace);letter-spacing:.02em}
.parking-card-link:hover{text-decoration:underline}
.parking-more{display:block;margin:0 17px 17px;padding:12px 17px;border:1px solid #176ec0;background:#fff;color:#0b67bd;font:750 10px var(--mono,monospace);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.parking-more:hover{background:#0b67bd;color:#fff}
html[data-theme=dark] .parking-controls{background:#142e42;border-color:#2b4d64}
html[data-theme=dark] .parking-controls input,html[data-theme=dark] .parking-controls select{background:#102536;border-color:#466a7e;color:#edf7fb}
html[data-theme=dark] .parking-card{background:#142a3b;border-color:#35566c;box-shadow:none}
html[data-theme=dark] .parking-card h3{color:#edf7fb}
html[data-theme=dark] .parking-card-operator,html[data-theme=dark] .parking-status{color:#a8c2d2}
html[data-theme=dark] .parking-card-meta{border-color:#35566c}
html[data-theme=dark] .parking-card-meta-item strong{color:#d8e8f1}
html[data-theme=dark] .parking-more{background:#142a3b;border-color:#4a96ce;color:#8bdbf3}
@media(max-width:700px){.parking-controls{grid-template-columns:1fr}.parking-list{grid-template-columns:1fr;padding-left:12px;padding-right:12px}.parking-more{margin-left:12px;margin-right:12px}.parking-card{padding:15px}}

/* Admin login/setup pages should have one centred column. The previous grid
   reserved a sidebar-sized blank area before authentication, which caused
   the card to drift on desktop and overflow narrow mobile viewports. */
body:has(.admin-shell-login){background:#eef3f7}
.admin-shell-login{display:block;min-height:calc(100vh - 81px);max-width:920px;margin:0 auto}
.admin-main-login{max-width:600px;margin:0 auto;padding:clamp(34px,8vh,90px) 22px 70px}
.admin-main-login .admin-head{text-align:center;padding-bottom:24px}
.admin-main-login .admin-head .eyebrow{font-size:10px}
.admin-main-login .admin-head h1{font-size:clamp(30px,5vw,46px);overflow-wrap:anywhere}
.admin-main-login .login-card{max-width:520px;margin:0 auto;padding:clamp(22px,5vw,38px);box-shadow:0 18px 44px #0e29421a}
.admin-main-login .login-card h2{font-size:clamp(24px,4vw,32px)}
.admin-main-login .login-card .admin-btn{width:100%;min-height:48px}
.admin-main-login .login-card input{min-height:46px}
.admin-main-login .admin-notice{max-width:520px;margin-left:auto;margin-right:auto}
@media(max-width:560px){.admin-top-inner{min-height:66px;height:auto;padding:14px 16px}.admin-wordmark small{font-size:8px}.admin-main-login{padding:29px 15px 50px}.admin-main-login .login-card{padding:20px 17px}.admin-main-login .admin-head h1{font-size:30px}.admin-main-login .login-card h2{font-size:24px}.admin-main-login .login-card p{font-size:13px}.admin-main-login .login-card label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.parking-card{transition:none}}
