.ags-seatmap-shell{display:grid;gap:14px}
.ags-seatmap-card{border:1px solid rgba(148,163,184,.22);border-radius:22px;background:linear-gradient(180deg,rgba(21,34,54,.90),rgba(8,17,31,.96));box-shadow:0 18px 45px rgba(0,0,0,.22);padding:14px;min-width:0}
.ags-seatmap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.ags-seatmap-head h3,.ags-seatmap-head h4{margin:0;color:#f7fbff;line-height:1.1}
.ags-seatmap-head p{margin:4px 0 0;color:#9fb0cf;font-size:13px}
.ags-seatmap-forge{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(360px,1.15fr) minmax(260px,.85fr);gap:14px;align-items:start}
.ags-seatmap-tools{display:grid;gap:12px}
.ags-seatmap-presets,.ags-seatmap-toolgrid,.ags-seatmap-meta-grid{display:grid;gap:8px}
.ags-seatmap-presets{grid-template-columns:1fr 1fr}
.ags-seatmap-toolgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ags-seatmap-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ags-seatmap-action{border:1px solid rgba(148,163,184,.28);border-radius:16px;background:rgba(255,255,255,.05);color:#eef5ff;min-height:42px;padding:9px 11px;font-weight:900;cursor:pointer;text-align:left}
.ags-seatmap-action:hover{border-color:rgba(78,155,255,.55);transform:translateY(-1px)}
.ags-seatmap-action.is-active{background:linear-gradient(135deg,rgba(47,211,154,.20),rgba(64,132,255,.16));border-color:rgba(47,211,154,.50)}
.ags-seatmap-action small{display:block;color:#9fb0cf;font-weight:800;margin-top:2px}
.ags-seatmap-action.is-danger{border-color:rgba(255,92,122,.38);color:#ffd7df}
.ags-seatmap-action.is-primary{background:linear-gradient(135deg,#2fd39a,#2f80ed);border-color:transparent;color:#06111f;text-align:center}
.ags-seatmap-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ags-seatmap-field{display:grid;gap:6px;color:#aebbd5;font-size:12px;font-weight:850}
.ags-seatmap-field input,.ags-seatmap-field select,.ags-seatmap-field textarea{width:100%;min-height:38px;border:1px solid rgba(148,163,184,.24);border-radius:13px;background:#07111f;color:#f7fbff;padding:9px 10px;outline:none}
.ags-seatmap-field input:focus,.ags-seatmap-field select:focus,.ags-seatmap-field textarea:focus{border-color:rgba(78,155,255,.75);box-shadow:0 0 0 4px rgba(78,155,255,.12)}
.ags-seatmap-stage{display:grid;gap:10px}
.ags-seatmap-host{position:relative;width:100%;min-height:320px;border:1px solid rgba(148,163,184,.20);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(78,155,255,.13),transparent 38%),linear-gradient(180deg,rgba(15,28,48,.88),rgba(6,13,25,.96));overflow:auto;padding:12px}
.ags-seatmap-svg{display:block;width:min(100%,560px);height:auto;margin:0 auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.28));touch-action:none;user-select:none}
.ags-seatmap-body{fill:url(#agsSeatBodyGrad);stroke:rgba(226,236,255,.55);stroke-width:2}
.ags-seatmap-inner{fill:rgba(3,7,18,.42);stroke:rgba(255,255,255,.18);stroke-width:1.2}
.ags-seatmap-windshield{fill:rgba(203,226,255,.28);stroke:rgba(255,255,255,.28);stroke-width:1}
.ags-seatmap-front-label{fill:#ffb167;font-size:12px;font-weight:950;text-anchor:middle;letter-spacing:3px}
.ags-seatmap-front-arrow{fill:#ff8a2a}
.ags-seatmap-grid-line{stroke:rgba(255,255,255,.035);stroke-width:1}
.ags-seatmap-item{outline:none}
.ags-seatmap-item.is-clickable{cursor:grab}
.ags-seatmap-item.is-clickable:active{cursor:grabbing}
.ags-seatmap-item .ags-seatmap-shape{stroke-width:1.7}
.ags-seatmap-item-seat .ags-seatmap-shape{fill:url(#agsSeatGrad);stroke:#54a7ff}
.ags-seatmap-item-premium .ags-seatmap-shape{fill:url(#agsSeatPremiumGrad);stroke:#b49aff}
.ags-seatmap-item-driver .ags-seatmap-shape{fill:url(#agsSeatDriverGrad);stroke:#8effc3}
.ags-seatmap-item-door .ags-seatmap-shape{fill:rgba(238,244,255,.82);stroke:#dce8fb}
.ags-seatmap-item-aisle .ags-seatmap-shape{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.22);stroke-dasharray:6 6}
.ags-seatmap-item-bathroom .ags-seatmap-shape,.ags-seatmap-item-coffee .ags-seatmap-shape,.ags-seatmap-item-snack .ags-seatmap-shape,.ags-seatmap-item-storage .ags-seatmap-shape,.ags-seatmap-item-tv .ags-seatmap-shape,.ags-seatmap-item-table .ags-seatmap-shape,.ags-seatmap-item-stairs .ags-seatmap-shape{fill:rgba(255,138,42,.16);stroke:#ffb067}
.ags-seatmap-item-empty .ags-seatmap-shape{fill:rgba(255,92,122,.10);stroke:rgba(255,92,122,.45);stroke-dasharray:5 5}
.ags-seatmap-status-reserved .ags-seatmap-shape,.ags-seatmap-status-occupied .ags-seatmap-shape,.ags-seatmap-item.is-occupied .ags-seatmap-shape{fill:rgba(255,209,102,.32);stroke:#ffd166}
.ags-seatmap-status-blocked .ags-seatmap-shape,.ags-seatmap-status-maintenance .ags-seatmap-shape{fill:rgba(255,92,122,.26);stroke:#ff5c7a}
.ags-seatmap-item.is-selected .ags-seatmap-shape{stroke:#ffffff;stroke-width:3;filter:drop-shadow(0 0 10px rgba(47,211,154,.75))}
.ags-seatmap-resize-handle{fill:#f7fbff;stroke:#2fd39a;stroke-width:1.5;cursor:nwse-resize;pointer-events:auto;filter:drop-shadow(0 3px 7px rgba(0,0,0,.35))}
.ags-seatmap-cushion{fill:rgba(255,255,255,.32)}
.ags-seatmap-wheel{fill:none;stroke:#0b1220;stroke-width:5}
.ags-seatmap-text{fill:#fbfdff;text-anchor:middle;dominant-baseline:middle;font-size:15px;font-weight:950;pointer-events:none}
.ags-seatmap-note{fill:rgba(255,255,255,.76);text-anchor:middle;font-size:8px;font-weight:800;pointer-events:none}
.ags-seatmap-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ags-seatmap-summary span,.ags-seatmap-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:rgba(255,255,255,.05);padding:7px 10px;color:#b9c6df;font-size:12px;font-weight:850}
.ags-seatmap-summary b,.ags-seatmap-pill b{color:#fff}
.ags-seatmap-editor{display:grid;gap:10px}
.ags-seatmap-empty{border:1px dashed rgba(148,163,184,.24);border-radius:18px;color:#9fb0cf;background:rgba(255,255,255,.035);padding:16px;line-height:1.4}
.ags-seatmap-store-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.ags-seatmap-product-list,.ags-seatmap-unit-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:4px}
.ags-seatmap-product,.ags-seatmap-unit-product{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(255,255,255,.04);padding:9px}
.ags-seatmap-product-img{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(78,155,255,.14);border:1px solid rgba(148,163,184,.20);overflow:hidden;font-size:12px;font-weight:950;color:#e8f2ff}
.ags-seatmap-product-img img{width:100%;height:100%;object-fit:cover}
.ags-seatmap-product b,.ags-seatmap-unit-product b{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ags-seatmap-product span,.ags-seatmap-unit-product span{display:block;color:#9fb0cf;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ags-seatmap-unit-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.ags-seatmap-unit-controls input{min-height:32px}
.ags-seatmap-notice{border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(255,255,255,.04);padding:10px;color:#aebbd5;font-size:13px}
.ags-seatmap-notice.is-warn{border-color:rgba(255,209,102,.35);background:rgba(255,209,102,.08);color:#ffe6a3}
.ags-seatmap-public-selector{display:grid;gap:10px}
.ags-seatmap-public-selector .ags-seatmap-host{min-height:280px;padding:8px}
.ags-seatmap-public-selector .ags-seatmap-svg{width:min(100%,460px)}
@media(max-width:1180px){
  .ags-seatmap-forge{grid-template-columns:1fr}
  .ags-seatmap-store-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .ags-seatmap-presets,.ags-seatmap-toolgrid,.ags-seatmap-meta-grid{grid-template-columns:1fr}
  .ags-seatmap-host{border-radius:18px;min-height:260px}
  .ags-seatmap-svg{width:640px;max-width:none}
  .ags-seatmap-public-selector .ags-seatmap-svg{width:520px;max-width:none}
  .ags-seatmap-product,.ags-seatmap-unit-product{grid-template-columns:42px minmax(0,1fr)}
  .ags-seatmap-product .ags-seatmap-action,.ags-seatmap-unit-product .ags-seatmap-action{grid-column:1/-1}
}
