.layout-upload-form{margin:15px 0}
.layout-upload-form input[type=file]{height:auto;max-width:100%}
.layout-canvas{position:relative;width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#f1f5f9;overflow:hidden;margin:12px 0}
.layout-canvas img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}
.layout-overlay{position:absolute;inset:0;touch-action:none;cursor:crosshair}
.layout-seat-rect,.layout-draft{position:absolute;padding:0;min-width:0;min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:10px;font-weight:700;color:#fff;background:#155eab70;border:2px solid #1662ac;border-radius:1px;cursor:pointer;z-index:2}
.layout-seat-rect.st-confirmed{background:#16a34a66;border-color:#15803d}
.layout-seat-rect.st-review{background:#ca8a0488;border-color:#a16207}
.layout-draft{background:#dc262655;border:2px dashed #dc2626;pointer-events:none;z-index:3}
.layout-seat-form{padding:16px;border:1px solid #c3d4ed;background:#f8fafc;border-radius:10px;margin:14px 0}
.layout-seat-form h3{margin:0;font-size:16px}
.layout-fields{display:grid;gap:11px}
.layout-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.layout-actions button{flex:0 0 auto}
.layout-stats{font-size:13px;border-radius:8px;background:#eaf2fa;padding:10px;margin:14px 0}
.layout-list-row .layout-actions{align-items:center;justify-content:space-between}
.layout-list-row select{flex:1;max-width:210px}
@media(min-width:640px){.layout-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
