.parking-hero,.parking-detail-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.parking-eyebrow{display:inline-block;color:#23628b;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.parking-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.parking-actions form{margin:0}
.parking-actions .button,.parking-actions button,.parking-submit{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem 1rem;border:0;border-radius:10px;text-decoration:none;cursor:pointer}
.parking-actions .button{background:#edf4f8;color:#12384f}
.parking-actions .primary,.parking-submit,.parking-form button.primary{background:#0b6b53;color:#fff}
.parking-danger{background:#a12d35!important;color:#fff!important}
.parking-table-wrap{overflow-x:auto}
.parking-table{width:100%;border-collapse:collapse}
.parking-table th,.parking-table td{padding:.78rem;border-bottom:1px solid #dce5ea;text-align:left;vertical-align:middle}
.parking-status{display:inline-block;padding:.28rem .55rem;border-radius:999px;background:#edf4f8;font-size:.82rem;font-weight:700;white-space:nowrap}
.parking-status-new{background:#fff1c9;color:#765500}.parking-status-confirmed{background:#dff5e9;color:#155b3f}.parking-status-anonymized{background:#e9edf0;color:#495861}
.parking-search label{display:block;font-weight:700;margin-bottom:.45rem}.parking-search>div{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.parking-search input{min-width:min(100%,320px)}
.parking-form-card{max-width:820px}.parking-form{display:grid;gap:1rem}.parking-field{display:grid;gap:.35rem}.parking-field label{font-weight:700}.parking-field input:not([type=checkbox]),.parking-field select,.parking-field textarea{width:100%;box-sizing:border-box;padding:.72rem;border:1px solid #b7c7d0;border-radius:9px;background:var(--card-bg,#fff);color:inherit}.parking-field input[type=checkbox]{width:20px;height:20px}.parking-field.has-error input,.parking-field.has-error textarea{border-color:#b22b34}.parking-error{color:#a12d35;font-weight:700}.errorlist{color:#a12d35}
.parking-category-options ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;list-style:none;padding:0;margin:0}.parking-category-options li{margin:0}.parking-category-options label{display:flex;align-items:center;gap:.5rem;height:100%;padding:.75rem .85rem;border:1px solid var(--mx-line,#b7c7d0);border-radius:10px;background:var(--mx-surface,#fff);cursor:pointer;font-weight:600}.parking-category-options label:has(input:checked){border-color:#2463d4;background:#eef5ff;box-shadow:0 0 0 2px rgba(36,99,212,.12)}.parking-category-options input{accent-color:#2463d4}
.parking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.parking-detail-grid>div{padding:.8rem;border:1px solid #dce5ea;border-radius:10px}.parking-detail-grid dt{font-size:.78rem;color:#61717b;text-transform:uppercase}.parking-detail-grid dd{margin:.25rem 0 0;font-weight:700}.parking-detail-wide{grid-column:1/-1}
.parking-qr-card{text-align:center}.parking-qr-card img{max-width:100%;height:auto;background:#fff;padding:.75rem;border-radius:16px}.parking-public-url{overflow-wrap:anywhere}
.parking-public-card{max-width:680px;margin:1.5rem auto}.parking-notice{padding:1rem;border-radius:12px;background:#edf6f5;border:1px solid #badbd4}.parking-notice h2{font-size:1rem;margin-top:0}.parking-notice p{font-size:.92rem}.parking-success-card{text-align:center}.parking-success-icon{width:64px;height:64px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:#dff5e9;color:#136344;font-size:2rem;font-weight:900}
@media(max-width:700px){.parking-detail-grid{grid-template-columns:1fr}.parking-table th,.parking-table td{padding:.6rem;font-size:.9rem}.parking-actions>*{flex:1 1 auto}.parking-actions form button{width:100%}.parking-category-options ul{grid-template-columns:1fr 1fr}.parking-category-options label{font-size:.9rem;padding:.65rem}}

/* Integrare Parcare cu temele MEEX, inclusiv formularul public QR. */
.meex-public-main{width:100%;max-width:100%!important;margin:0 auto;padding-top:24px!important}
.meex-public-header .meex-brand span{color:var(--mx-text,#17243a)!important}
.meex-public-header .meex-brand{display:inline-flex;align-items:center;gap:10px}
.meex-public-header .meex-brand-logo{width:40px;height:40px;flex:0 0 40px;border-radius:12px;object-fit:cover;box-shadow:0 4px 12px rgba(15,23,42,.18)}
.parking-eyebrow{color:var(--mx-primary-strong,#23628b)}
.parking-actions .button{background:var(--mx-surface-3,#edf4f8);color:var(--mx-text,#12384f);border:1px solid var(--mx-line,#dce5ea)}
.parking-table th,.parking-table td{border-color:var(--mx-line,#dce5ea)}
.parking-form input:not([type=checkbox]),.parking-form select,.parking-form textarea{background:var(--mx-surface,#fff);border-color:var(--mx-line,#b7c7d0);color:var(--mx-text,#17243a)}
.parking-detail-grid>div{background:var(--mx-surface-2,#fff);border-color:var(--mx-line,#dce5ea)}
.parking-detail-grid dt{color:var(--mx-muted,#61717b)}
.parking-notice{background:color-mix(in srgb,var(--mx-success,#1d9b68) 9%,var(--mx-surface,#fff));border-color:color-mix(in srgb,var(--mx-success,#1d9b68) 35%,var(--mx-line,#badbd4))}

html[data-meex-theme="dark"] .parking-status-new{background:#4a3d20;color:#ffd979}
html[data-meex-theme="dark"] .parking-status-confirmed{background:#1f4437;color:#8ce2b8}
html[data-meex-theme="dark"] .parking-status-anonymized{background:var(--mx-surface-3);color:var(--mx-muted)}
html[data-meex-theme="dark"] .parking-notice{background:#193b34;border-color:#386a5d}
html[data-meex-theme="dark"] .parking-success-icon{background:#1f4437;color:#8ce2b8}
html[data-meex-theme="dark"] .parking-error,
html[data-meex-theme="dark"] .errorlist{color:#ff9b94}

@media(max-width:680px){.meex-public-header .meex-module-name{display:inline!important}.meex-public-main{padding-top:14px!important}.meex-public-header .meex-brand-logo{width:34px;height:34px;flex-basis:34px;border-radius:10px}}

/* Dashboard parcare: indicatori orizontali si zone lizibile */
.parking-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.parking-a11y-label{display:none}
.parking-kpi{display:flex;flex-direction:column;gap:.15rem;padding:1rem;border:1px solid var(--mx-line,#dce5ea);border-radius:14px;background:var(--mx-surface-2,#fff)}
.parking-kpi span{font-size:.8rem;font-weight:700;color:var(--mx-muted,#61717b);text-transform:uppercase}.parking-kpi strong{font-size:2rem;line-height:1.1;color:var(--mx-text,#17243a)}.parking-kpi small{color:var(--mx-muted,#61717b)}
.parking-kpi-link{text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.parking-kpi-link:hover,.parking-kpi-link:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,99,235,.18);outline:2px solid #2563eb;outline-offset:2px}.parking-kpi-link small{color:#2563eb;font-weight:800}
.parking-kpi-occupied{border-top:4px solid #d97706}.parking-kpi-reserved{border-top:4px solid #7c3aed}.parking-kpi-available{border-top:4px solid #15966b}
.parking-zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.parking-zone-card{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border-radius:12px;background:var(--mx-surface-3,#edf4f8)}.parking-zone-card span{font-size:1.1rem;font-weight:800;color:var(--mx-primary-strong,#23628b)}.parking-zone-card small,.parking-muted,.parking-secondary{color:var(--mx-muted,#61717b)}.parking-secondary{font-size:.8rem}
html[data-meex-theme="dark"] .parking-kpi,html[data-meex-theme="dark"] .parking-zone-card{background:var(--mx-surface-2,#202b38);border-color:var(--mx-line,#3a4654)}
html[data-meex-theme="dark"] .parking-kpi strong{color:var(--mx-text,#f2f5f7)}
@media(max-width:900px){.parking-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parking-zone-grid{grid-template-columns:1fr}}
