:root{--bg:#0b1020;--panel:#11182a;--panel-2:#151e33;--line:#26334e;--text:#eef3ff;--muted:#8f9bb3;--accent:#ff6b35;--accent-2:#ff9b45;--cyan:#48d5c7;--danger:#ef5a67;--shadow:0 18px 45px #0007;--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% -10%,#1c3154 0,transparent 35%),var(--bg);overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;color:var(--accent-2)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:36px;border:1px solid var(--line);border-radius:24px;background:#11182ae8;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.login-card h1{margin:6px 0;font-size:34px}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,var(--accent),#ff3f5e);font-weight:900;font-size:28px;box-shadow:0 12px 30px #ff583544}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:20px}.login-card label,.inspector-form label,dialog label{display:grid;gap:7px;margin:18px 0;color:#c4cee1;font-size:13px;font-weight:700}.login-card input,.inspector-form input,dialog input,.search,select,.filter-grid input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--text);background:#0a1120;outline:none}.login-card input:focus,.inspector-form input:focus,dialog input:focus,.search:focus,select:focus{border-color:var(--accent)}
.primary,.secondary,.ghost,.danger{border:0;border-radius:10px;padding:10px 14px;font-weight:800;color:var(--text)}.primary{background:linear-gradient(135deg,var(--accent),#ff495d);box-shadow:0 8px 22px #ff60352a}.secondary{background:#1e6d68}.ghost{background:#192338;border:1px solid var(--line)}.danger{background:#3a1720;color:#ff98a1}.login-card .primary{width:100%;margin-top:8px}.error{min-height:20px;color:#ff8f99;font-size:13px}
.app{height:100vh;display:grid;grid-template-rows:64px 1fr}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);background:#0d1424d9;backdrop-filter:blur(18px);z-index:20}.brand{display:flex;align-items:center;gap:11px;min-width:260px}.brand div{display:grid}.brand small{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.map-switcher,.top-actions{display:flex;align-items:center;gap:10px}.map-switcher label{font-size:12px;color:var(--muted)}.map-switcher select{min-width:210px;padding:8px 10px}.sync-state{font-size:12px;color:var(--cyan)}.sync-state:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.workspace{min-height:0;display:grid;grid-template-columns:310px 1fr 285px}.inventory-panel,.inspector-panel{min-height:0;padding:18px;background:var(--panel);overflow-y:auto}.inventory-panel{border-right:1px solid var(--line)}.inspector-panel{border-left:1px solid var(--line)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-heading h2{margin:0;font-size:21px}.count{padding:4px 8px;border-radius:99px;background:#23304a;color:#b9c5d9;font-size:11px}.search{margin-bottom:10px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-grid select,.filter-grid input{min-width:0;padding:9px;font-size:12px}.toggle{display:flex;align-items:center;gap:9px;margin:13px 0;font-size:12px;color:#c1cbdd}.toggle input{display:none}.toggle span{width:34px;height:19px;border-radius:99px;background:#28344c;position:relative}.toggle span:after{content:"";width:13px;height:13px;position:absolute;top:3px;left:3px;border-radius:50%;background:#8190aa;transition:.2s}.toggle input:checked+span{background:#1c665f}.toggle input:checked+span:after{left:18px;background:var(--cyan)}
.inventory-list{display:grid;gap:8px;padding-bottom:20px}.asset-card{padding:11px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#151f35,#11192a);cursor:grab;transition:.15s}.asset-card:hover{border-color:#405278;transform:translateY(-1px)}.asset-card.assigned{opacity:.55;cursor:not-allowed}.asset-top{display:flex;justify-content:space-between;gap:8px}.asset-card strong{font-size:13px}.pill{flex:none;height:max-content;padding:3px 7px;border-radius:99px;background:#243653;color:#a9c5eb;font-size:9px;font-weight:800;text-transform:uppercase}.asset-meta{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.45}.asset-id{color:var(--accent-2);font-family:ui-monospace,SFMono-Regular,monospace}
.map-area{min-width:0;min-height:0;display:grid;grid-template-rows:58px 1fr;background:#080d19}.map-toolbar{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--line)}.hint{margin-left:8px;color:var(--muted);font-size:11px}.zoom{display:flex;align-items:center;gap:6px;margin-left:auto}.zoom button{padding:7px 11px}.zoom span{width:46px;text-align:center;color:var(--muted);font-size:11px}.viewport{position:relative;overflow:auto;background-color:#090f1c;background-image:linear-gradient(#1b253b55 1px,transparent 1px),linear-gradient(90deg,#1b253b55 1px,transparent 1px);background-size:30px 30px}.canvas{position:relative;width:1600px;height:1000px;transform-origin:top left;margin:38px;box-shadow:0 0 0 1px #26334e,0 30px 80px #0008;background:#0e1627;border-radius:8px}
.map-object{position:absolute;user-select:none;transform-origin:center}.table-body{position:absolute;inset:28px 0;border:2px solid #536685;border-radius:12px;background:linear-gradient(145deg,#293852,#172239);box-shadow:0 10px 22px #0005;display:grid;place-items:center;cursor:move}.table-body strong{font-size:12px;color:#dce6f7}.table-body small{position:absolute;bottom:7px;color:#8796b0;font-size:9px}.map-object.selected .table-body{border-color:var(--accent);box-shadow:0 0 0 3px #ff663522,0 10px 25px #0006}.seat-row{position:absolute;left:0;right:0;height:38px;display:flex;justify-content:space-around;align-items:center}.seat-row.a{top:0}.seat-row.b{bottom:0}.seat{position:relative;width:34px;height:34px;border:1px solid #536783;border-radius:9px;background:#19253b;color:#a9b8cf;display:grid;place-items:center;font-size:9px;font-weight:900;cursor:pointer;transition:.15s}.seat:hover,.seat.selected{border-color:var(--accent);background:#392235;color:#fff}.seat.occupied{background:#19403d;border-color:#2a8d83;color:#b9fff7}.seat.dragover{box-shadow:0 0 0 4px #48d5c744;border-color:var(--cyan)}.seat-badge{position:absolute;right:-5px;top:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--accent);color:white;font-size:9px;display:grid;place-items:center}.standalone .table-body{inset:5px;border-style:dashed}.standalone .seat-row{inset:0;height:auto}.standalone .seat{width:100%;height:100%;font-size:11px}
.empty-state{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px;line-height:1.55}.inspector-form{display:grid}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inspector-form label{margin:8px 0}.inspector-form .primary{margin-top:12px}.inspector-form .danger{margin-top:8px}.seat-assets{display:grid;gap:8px}.seat-asset{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-radius:10px;background:#18243a;border:1px solid var(--line)}.seat-asset strong{font-size:12px}.seat-asset small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.seat-asset button{border:0;background:#3b1b25;color:#ff9ca5;border-radius:7px;padding:5px 8px}.drop-help{margin-top:16px;padding:16px;border:1px dashed #365f63;border-radius:11px;color:#75c9c1;text-align:center;font-size:11px}
dialog{width:min(460px,calc(100% - 30px));border:1px solid var(--line);border-radius:18px;padding:22px;color:var(--text);background:var(--panel-2);box-shadow:var(--shadow)}dialog::backdrop{background:#050914c7;backdrop-filter:blur(5px)}.dialog-heading,.dialog-actions{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{margin:0}.icon-button{border:0;background:transparent;color:var(--muted);font-size:25px}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;left:50%;bottom:22px;z-index:100;transform:translate(-50%,120px);padding:11px 16px;border-radius:10px;background:#eaf1ff;color:#162138;font-weight:800;font-size:12px;box-shadow:var(--shadow);transition:.25s}.toast.show{transform:translate(-50%,0)}.toast.error-toast{background:#ffced2;color:#49131b}
@media(max-width:1100px){.workspace{grid-template-columns:270px 1fr}.inspector-panel{position:fixed;right:0;top:64px;bottom:0;width:285px;z-index:30;box-shadow:var(--shadow)}.hint{display:none}}@media(max-width:760px){.workspace{grid-template-columns:1fr}.inventory-panel{display:none}.brand{min-width:0}.brand small,.sync-state,.map-switcher label{display:none}.map-switcher select{min-width:120px}.topbar{padding:0 8px}.map-toolbar{overflow-x:auto}.inspector-panel{width:min(90vw,320px)}}

/* Editor v2 */
button:disabled,select:disabled{cursor:not-allowed;opacity:.45}
.canvas{overflow:hidden}
.canvas-empty{position:absolute;inset:0;display:grid;place-content:center;gap:7px;text-align:center;color:var(--muted)}
.canvas-empty strong{color:var(--text);font-size:22px}
.map-background{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#fff}
.map-background img,.map-background object{width:100%;height:100%;display:block;border:0}
.map-background.fit-contain img{object-fit:contain}
.map-background.fit-cover img{object-fit:cover}
.map-background.fit-stretch img{object-fit:fill}
.map-object{z-index:2}
.map-object.selected{z-index:3}
.table-body strong{max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seat{width:42px;padding:2px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.standalone .table-body{border-radius:50%;background:linear-gradient(145deg,#3b3154,#211b35)}
.standalone .seat{border-radius:50%;background:#241b36cc}
.rotation-field{display:grid;grid-template-columns:1fr 66px 12px;align-items:center;gap:7px}
.rotation-field input[type=range]{padding:0}
.rotation-presets{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.rotation-presets button{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#192338;color:#cdd8ea;font-size:11px}
#map-dialog{width:min(520px,calc(100% - 30px))}
.dialog-actions.split-actions{display:grid;grid-template-columns:auto 1fr auto auto}
.background-name{margin:7px 0;padding:9px 11px;border-radius:9px;background:#0d1424}
