/* Pryntd Spaces Map — frontend Designer / Manager / Browse surfaces. Light mode. */
.pryntd-space-surface { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:#1a1f2b; max-width: 1000px; margin: 1rem auto; }
.pryntd-space-surface * { box-sizing: border-box; }
.pryntd-space-surface__gate { padding: 1rem 1.25rem; border:1px solid #f0d9a8; background:#fdf6e6; border-radius:12px; color:#7a5b12; }

/* Designer */
.psm-d-head { display:grid; grid-template-columns: auto 1fr; gap:.5rem .75rem; align-items:center; margin-bottom:.75rem; }
.psm-d-field { font-weight:600; font-size:.85rem; color:#4b5563; }
.psm-d-head input, .psm-d-select { padding:.55rem .7rem; border:1px solid #cdd3dd; border-radius:10px; font:inherit; width:100%; background:#fff; }
.psm-d-uploadrow { display:flex; align-items:center; gap:.6rem; }
.psm-d-upload { padding:.55rem .9rem; border:1px solid #2456c9; background:#eef3ff; color:#2456c9; border-radius:10px; font:inherit; font-weight:600; cursor:pointer; }
.psm-d-upload:hover { background:#e0e9ff; }
.psm-d-preview { color:#6b7280; font-size:.85rem; }
.psm-m-embed { color:#2456c9; }
.psm-d-hint { color:#6b7280; font-size:.85rem; margin:.25rem 0 .5rem; }

/* Tool picker */
.psm-d-toolbar { display:flex; gap:.4rem; flex-wrap:wrap; margin:.5rem 0 .35rem; }
.psm-d-tool { padding:.45rem .9rem; border:1px solid #cdd3dd; background:#fff; color:#1a1f2b; border-radius:9px; font:inherit; font-weight:600; cursor:pointer; }
.psm-d-tool:hover { border-color:#2456c9; }
.psm-d-tool.is-active { background:#2456c9; color:#fff; border-color:#2456c9; }
.psm-d-finish { margin-left:auto; background:#2f9e63; color:#fff; border-color:#2f9e63; }

/* Live guidance line */
.psm-d-status { margin:.15rem 0 .6rem; padding:.5rem .7rem; background:#eef3ff; border:1px solid #d6e0fb; border-radius:9px; color:#2b4a8a; font-size:.88rem; }

.psm-d-stage { position:relative; background-size:100% 100%; background-repeat:no-repeat; background-position:center; border:1px dashed #b9c1cf; border-radius:14px; background-color:#f7f9fc; aspect-ratio: 16 / 10; overflow:hidden; }
.psm-d-svg { position:absolute; inset:0; width:100%; height:100%; display:block; cursor:crosshair; }
.psm-d-seat { fill:#2456c9; opacity:.8; stroke:rgba(0,0,0,.25); stroke-width:1.5; vector-effect:non-scaling-stroke; cursor:pointer; }
.psm-d-seat:hover { opacity:1; }
.psm-d-ghost { fill:rgba(36,86,201,.25); stroke:#2456c9; stroke-width:1.5; stroke-dasharray:2 1.5; vector-effect:non-scaling-stroke; }
.psm-d-polyprogress { fill:none; stroke:#2456c9; stroke-width:1.5; stroke-dasharray:2 1.5; vector-effect:non-scaling-stroke; }
.psm-d-vertex { fill:#2456c9; stroke:#fff; stroke-width:1; vector-effect:non-scaling-stroke; }
.psm-d-seatlabel { font-size:3px; fill:#fff; font-weight:600; pointer-events:none; }

/* Toast */
.psm-d-toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px); background:#1a1f2b; color:#fff; padding:.6rem 1rem; border-radius:10px; font-size:.88rem; opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease; z-index:9999; }
.psm-d-toast.is-shown { opacity:1; transform:translateX(-50%) translateY(0); }

/* Seat editor list */
.psm-d-list { margin:.75rem 0; display:grid; gap:.4rem; }
.psm-d-listhead { color:#4b5563; font-weight:600; font-size:.88rem; margin-bottom:.15rem; }
.psm-d-colhead { display:grid; grid-template-columns: auto 1.4fr .8fr .7fr 1fr auto; gap:.4rem; padding:0 .15rem; }
.psm-d-colhead span { font-size:.72rem; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:.03em; }
.psm-d-row { display:grid; grid-template-columns: auto 1.4fr .8fr .7fr 1fr auto; gap:.4rem; align-items:center; border-radius:9px; padding:.15rem; }
.psm-d-row.is-focus { background:#eef3ff; outline:2px solid #2456c9; }
.psm-d-row input { padding:.45rem .55rem; border:1px solid #cdd3dd; border-radius:8px; font:inherit; }
.psm-d-shape { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:7px; background:#eef3ff; color:#2456c9; font-weight:700; font-size:.8rem; }
.psm-d-del { border:0; background:#f3d3d3; color:#8a2020; border-radius:8px; cursor:pointer; font-weight:700; width:28px; height:28px; }
.psm-d-empty { color:#6b7280; }
.psm-d-actions { display:flex; align-items:center; gap:.75rem; margin-top:.5rem; }
.psm-d-save { padding:.6rem 1.2rem; border:0; border-radius:10px; background:#2456c9; color:#fff; font-weight:600; cursor:pointer; }
.psm-d-msg { color:#2f9e63; font-weight:600; }

/* Booking settings panel */
.psm-d-settings { margin:.75rem 0; border:1px solid #e5e8ee; border-radius:12px; padding:.4rem .8rem; background:#fbfcfe; }
.psm-d-settings > summary { cursor:pointer; font-weight:700; color:#1a1f2b; padding:.35rem 0; list-style:revert; }
.psm-d-settings h4 { margin:.7rem 0 .3rem; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; color:#6b7280; }
.psm-d-setgroup { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }
.psm-d-setgroup h4 { width:100%; }
.psm-d-setgrid { display:grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap:.5rem .9rem; align-items:end; }
.psm-d-setfull { grid-column:1 / -1; }
.psm-d-setfield { display:flex; flex-direction:column; gap:.2rem; font-size:.78rem; font-weight:600; color:#4b5563; }
.psm-d-setfield input { padding:.45rem .55rem; border:1px solid #cdd3dd; border-radius:8px; font:inherit; }
.psm-d-setfield input[type=color] { padding:2px; height:34px; }
.psm-d-setcheck { display:flex; align-items:center; gap:.4rem; font-size:.85rem; color:#1a1f2b; }
.psm-d-setcheck input { width:16px; height:16px; }

/* Manager */
.psm-m-bar { margin:.5rem 0; }
.psm-m-new { display:inline-block; padding:.5rem .9rem; background:#2456c9; color:#fff; border-radius:10px; text-decoration:none; font-weight:600; }
.psm-m-table, .psm-m-restable { width:100%; border-collapse:collapse; }
.psm-m-table th, .psm-m-table td, .psm-m-restable th, .psm-m-restable td { text-align:left; padding:.5rem .6rem; border-bottom:1px solid #eceff4; font-size:.92rem; }
.psm-m-link { color:#2456c9; text-decoration:none; margin-right:.6rem; background:none; border:0; cursor:pointer; font:inherit; padding:0; }
.psm-m-res { padding:.5rem .25rem; }
.psm-m-tools { margin-bottom:.4rem; }
.psm-m-export { padding:.4rem .8rem; border:1px solid #cdd3dd; background:#fff; border-radius:8px; cursor:pointer; }
.psm-m-status { padding:2px 8px; border-radius:999px; font-size:.75rem; font-weight:600; }
.psm-m-status.is-confirmed { background:#e3f6ec; color:#1c7a45; }
.psm-m-status.is-pending { background:#fff3d6; color:#8a6112; }
.psm-m-status.is-cancelled { background:#f6e3e3; color:#8a2020; }
.psm-m-ok, .psm-m-no { border:0; border-radius:6px; width:26px; height:26px; cursor:pointer; margin-right:4px; font-weight:700; }
.psm-m-ok { background:#e3f6ec; color:#1c7a45; }
.psm-m-no { background:#f6e3e3; color:#8a2020; }

/* Browse */
.psm-b-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap:1rem; }
.psm-b-card { display:block; padding:1rem; border:1px solid #e5e8ee; border-radius:14px; text-decoration:none; color:inherit; background:#fff; transition:box-shadow .12s ease; }
.psm-b-card:hover { box-shadow:0 6px 18px rgba(20,40,90,.1); }
.psm-b-name { font-weight:700; margin-bottom:.25rem; }
.psm-b-meta { color:#6b7280; font-size:.85rem; }
.psm-b-avail { color:#2f9e63; font-size:.82rem; font-weight:600; margin-top:.4rem; }

@media (max-width:640px){ .psm-d-row { grid-template-columns:1fr 1fr; } .psm-d-head { grid-template-columns:1fr; } }
