.module-parking{--parking-ink:#172b44;--parking-muted:#64748b;--parking-line:#dce5ef;--parking-blue:#1d5d98;display:grid;gap:1rem;max-width:91rem;margin-inline:auto;color:var(--parking-ink);font-family:var(--font-product),Geist,system-ui,sans-serif}
.module-parking button,.module-parking input,.module-parking select,.module-parking textarea{font:inherit}
.parking-header{display:flex;justify-content:space-between;align-items:center;padding:1.6rem 1.8rem;border:1px solid var(--parking-line);border-radius:1.35rem;background:linear-gradient(120deg,#f7fbff,#eef6fb 65%,#e5f2fb)}
.parking-header .eyebrow{margin:0 0 .35rem;color:#327eae;font-size:.72rem;font-weight:800;letter-spacing:.12em}.parking-header h2{margin:0;font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.045em}.parking-header p:last-child{margin:.35rem 0 0;color:var(--parking-muted)}.parking-header-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:1rem;background:#d7eafa;color:#174c79}.parking-header-icon svg{width:1.7rem;height:1.7rem}
.parking-header .parking-return{margin-top:.75rem;padding:.5rem .75rem;border:1px solid #c5d7e8;border-radius:.7rem;background:#fff;color:#205882;font-weight:700;cursor:pointer}.parking-header .parking-return[hidden]{display:none}
.parking-toolbar{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.parking-views{display:flex;gap:.35rem;padding:.3rem;border:1px solid var(--parking-line);border-radius:.85rem;background:#fff}.parking-views button{min-height:2.35rem;padding:.45rem .9rem;border:0;border-radius:.6rem;background:transparent;color:var(--parking-ink);font-weight:700}.parking-views button:hover,.parking-views button:focus-visible{background:#e7f2fb}.parking-search{display:flex;align-items:center;gap:.5rem;min-width:min(100%,20rem);padding:0 .8rem;border:1px solid var(--parking-line);border-radius:.8rem;background:#fff}.parking-search svg{width:1rem;height:1rem;color:var(--parking-muted)}.parking-search input{min-height:2.9rem;width:100%;border:0;background:transparent;outline:0}
.parking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1rem}.parking-main,.parking-side>section{border:1px solid var(--parking-line);border-radius:1.1rem;background:#fff;box-shadow:0 4px 20px rgb(25 55 90 / .035)}.parking-main{overflow:hidden}.parking-side{display:grid;gap:1rem}.parking-side>section{padding:1rem}.parking-side h3{margin:0 0 .75rem;font-size:1.04rem}.parking-help{margin:0 0 .85rem;color:var(--parking-muted);font-size:.8rem;line-height:1.55}.parking-side label{display:grid;gap:.35rem;margin:.6rem 0;color:var(--parking-ink);font-size:.78rem;font-weight:700}.parking-side input,.parking-side select,.parking-side textarea,.parking-edit-tools input{min-height:2.6rem;width:100%;box-sizing:border-box;padding:.45rem .65rem;border:1px solid var(--parking-line);border-radius:.55rem;background:#fff;color:var(--parking-ink)}.parking-side input[type=file]{height:auto;font-size:.72rem}
.parking-edit-tools{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.75rem;border-bottom:1px solid var(--parking-line);background:#f8fbfe}.parking-edit-tools>div{display:flex;flex-wrap:wrap;gap:.35rem}.parking-edit-tools button,.parking-canvas-head button,.parking-row button,.parking-save button{min-height:2.3rem;padding:.4rem .65rem;border:1px solid var(--parking-line);border-radius:.55rem;background:#fff;color:var(--parking-ink);font-size:.75rem;font-weight:700;cursor:pointer}.parking-edit-tools button.is-active,.parking-save button:first-child{border-color:var(--parking-blue);background:var(--parking-blue);color:#fff}.parking-edit-tools label{flex:0 0 7.5rem;color:var(--parking-muted);font-size:.7rem;font-weight:700}.parking-edit-tools input{min-height:2.3rem}
.parking-canvas-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:3.2rem;padding:.5rem .9rem;color:var(--parking-muted);font-size:.76rem}.parking-canvas-head>div{display:flex;align-items:center;gap:.4rem}.parking-canvas-head strong{min-width:2.7rem;text-align:center}.parking-viewport{position:relative;min-height:22rem;overflow:hidden;background:linear-gradient(45deg,#e9eef4 25%,transparent 25%),linear-gradient(-45deg,#e9eef4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9eef4 75%),linear-gradient(-45deg,transparent 75%,#e9eef4 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;touch-action:none;cursor:grab}.parking-viewport:active{cursor:grabbing}.parking-stage{position:relative;width:100%;transform-origin:0 0;user-select:none}.parking-stage img{display:block;width:100%;height:auto;pointer-events:none}.parking-stage #parking-overlay{position:absolute;inset:0}.parking-space{position:absolute;display:block;min-width:0;min-height:0;overflow:hidden;padding:0;border:1px solid rgb(44 119 176 / .46);border-radius:.2rem;background:rgb(54 148 212 / .055);cursor:pointer;box-shadow:none;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.parking-space:hover:not(.is-selected):not(.is-loading-focus),.parking-space:focus-visible:not(.is-selected):not(.is-loading-focus){z-index:1;border:1.5px solid rgb(37 113 173 / .72);background:rgb(54 148 212 / .12)}.parking-space.is-selected{z-index:2;border:2px solid #2f9e62;background:rgb(47 158 98 / .18);box-shadow:0 0 0 3px rgb(47 158 98 / .18)}.parking-empty{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:1rem;text-align:center;color:var(--parking-muted);font-weight:700}.parking-empty[hidden]{display:none}.parking-selection{min-height:4.6rem;padding:.9rem 1rem;border-top:1px solid var(--parking-line);color:var(--parking-muted);font-size:.85rem}.parking-selection h3{margin:0;color:var(--parking-ink);font-size:1rem}.parking-selection p{margin:.3rem 0 0}
.parking-save{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.8rem}.parking-save button{flex:1}.parking-list-panel header{display:flex;align-items:center;justify-content:space-between}.parking-list{display:grid;gap:.45rem;max-height:31rem;overflow:auto}.parking-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem;border:1px solid var(--parking-line);border-radius:.65rem}.parking-row.is-selected{border-color:#f1b54b;background:#fffaf0}.parking-row>div:first-child{display:grid;gap:.1rem;min-width:0}.parking-row strong,.parking-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parking-row strong{font-size:.8rem}.parking-row small{font-size:.69rem;color:var(--parking-muted)}.parking-row-actions{display:flex;gap:.2rem;flex-wrap:wrap;justify-content:flex-end}.parking-row button{min-height:1.85rem;padding:.3rem .45rem;font-size:.68rem}.parking-row button.parking-danger{color:#b42318}.parking-list-empty{color:var(--parking-muted);font-size:.8rem}.parking-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.parking-dimensions label{min-width:0}.parking-dimensions input{min-width:0}.parking-space-editor textarea{resize:vertical}#parking-status{min-height:1.5rem;margin:.1rem .25rem;color:#1e618d;font-size:.8rem}#parking-status.is-error{color:#b42318}
@media(max-width:900px){.parking-layout{grid-template-columns:minmax(0,1fr)}.parking-side{grid-template-columns:repeat(2,minmax(0,1fr))}.parking-space-editor{grid-column:1/-1}}
@media(max-width:620px){.parking-header{padding:1.2rem}.parking-header-icon{display:none}.parking-toolbar{align-items:stretch;flex-direction:column}.parking-search{min-width:0}.parking-views{width:max-content}.parking-canvas-head{align-items:flex-start;flex-direction:column}.parking-viewport{min-height:17rem}.parking-side{grid-template-columns:1fr}.parking-space-editor{grid-column:auto}.parking-edit-tools{align-items:stretch;flex-direction:column}.parking-edit-tools label{flex:auto}.parking-row{align-items:flex-start;flex-direction:column}.parking-row-actions{width:100%;justify-content:flex-start}}
.parking-edit-actions{display:flex;flex-wrap:wrap;gap:.35rem}.parking-edit-tools button:disabled{opacity:.45;cursor:not-allowed}.parking-text-size{display:flex;align-items:center;gap:.25rem;color:var(--parking-muted);font-size:.7rem;font-weight:700}.parking-text-size button{min-height:2rem;padding:.3rem .5rem}.parking-edit-tools .parking-reset{border-color:#f0cbc7;color:#ad3026;background:#fff}.parking-edit-tools .parking-reset:hover{background:#fff5f4}
@media(max-width:620px){.parking-text-size{flex-wrap:wrap}}
.parking-space--loading{border-color:rgb(220 117 35 / .58);background:rgb(239 140 57 / .09)}.parking-space--loading:hover:not(.is-selected):not(.is-loading-focus),.parking-space--loading:focus-visible:not(.is-selected):not(.is-loading-focus){border-color:rgb(220 117 35 / .82);background:rgb(239 140 57 / .17)}.parking-space--loading.is-selected,.parking-space--loading.is-loading-focus{z-index:2;border:2px solid #e77725;background:rgb(239 140 57 / .28);box-shadow:0 0 0 3px rgb(231 119 37 / .2)}
.parking-selection-chip{position:absolute;z-index:3;display:grid;place-items:center;box-sizing:border-box;min-width:6rem;max-width:calc(100% - 1rem);min-height:3rem;padding:.5rem .85rem;border:2px solid #2b83c4;border-radius:.7rem;background:rgb(26 104 173 / .88);color:#fff;font-weight:800;line-height:1.15;text-align:center;white-space:normal;box-shadow:0 5px 15px rgb(14 62 101 / .23);pointer-events:none;transform:translateX(-50%)}.parking-selection-chip--small{font-size:1rem}.parking-selection-chip--medium{font-size:1.16rem}.parking-selection-chip--large{font-size:1.33rem}.parking-selection-chip--loading{border-color:#e77725;background:rgb(218 102 24 / .9);box-shadow:0 5px 15px rgb(123 56 9 / .24)}
.parking-side label[hidden]{display:none}
.module-parking [hidden]{display:none!important}
.parking-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.parking-header-actions button{width:fit-content;min-height:2.65rem;padding:.5rem .85rem;border:1px solid #b8cee0;border-radius:.7rem;background:#fff;color:#205882;font-weight:700;cursor:pointer}.parking-header-actions button:hover,.parking-header-actions button:focus-visible{border-color:#1d5d98;background:#eef6fc}.parking-header-actions #parking-exit-editor{border-color:#bfd7cc;color:#225f49}
.module-parking:not(.parking--admin) .parking-layout{grid-template-columns:minmax(0,1fr) minmax(19rem,min(42vw,40rem))}.parking-list{display:grid;gap:.9rem;max-height:none;overflow:visible}.parking-grid-group{min-width:0}.parking-grid-group h4{margin:0 0 .5rem;color:#465d72;font-size:.75rem;font-weight:800;letter-spacing:.04em}.parking-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.5rem,1fr));gap:.45rem;min-width:0}.parking-cell{display:grid;place-items:center;min-width:0;min-height:2.7rem;padding:.3rem .25rem;border:1px solid #cbd9e6;border-radius:.62rem;background:#f8fbfe;color:#21445f;font-size:.79rem;font-weight:750;line-height:1.1;text-align:center;overflow-wrap:anywhere;cursor:pointer}.parking-cell:hover,.parking-cell:focus-visible{border-color:#3480b2;background:#eaf4fb}.parking-cell.is-selected{border:2px solid #d88915;background:#fff3d8;color:#744c0a;box-shadow:0 0 0 2px rgb(216 137 21 / .13)}.parking-cell--zone{border-color:#efc9aa;background:#fff8f1;color:#9c511d}.parking-cell--zone.is-loading-focus{border:2px solid #df762b;background:#ffead8;color:#8b4210}.parking-cell--zone.is-selected{border:2px solid #df762b;background:#ffead8;color:#8b4210;box-shadow:0 0 0 2px rgb(223 118 43 / .14)}.parking-space-editor .parking-danger{border-color:#ebc7c4;background:#fff;color:#a8362c}
@media(max-width:900px){.module-parking:not(.parking--admin) .parking-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.parking-grid{grid-template-columns:repeat(auto-fill,minmax(3.5rem,1fr));gap:.4rem}.parking-cell{min-height:2.75rem}.parking-header-actions button{min-height:2.75rem}}
