/* === WedSetGo Dashboard Styles === */
:root {
    --d-bg: #0f172a;
    --d-surface: rgba(255,255,255,0.05);
    --d-surface-hover: rgba(255,255,255,0.08);
    --d-border: rgba(255,255,255,0.08);
    --d-text: #f1f5f9;
    --d-muted: rgba(255,255,255,0.5);
    --d-primary: #6A5ACD;
    --d-primary-glow: rgba(106,90,205,0.3);
    --d-secondary: #FF69B4;
    --d-success: #10b981;
    --d-warning: #f59e0b;
    --d-danger: #ef4444;
    --d-radius: 16px;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',system-ui,sans-serif; background:var(--d-bg); color:var(--d-text); min-height:100dvh; }

/* === AUTH === */
.auth-screen { min-height:100dvh; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at top right,#1e1b4b,#0f172a); padding:20px; }
.auth-container { background:var(--d-surface); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid var(--d-border); border-radius:24px; padding:3rem; width:90%; max-width:440px; text-align:center; box-shadow:0 25px 50px -12px rgba(0,0,0,0.5); animation:fadeIn .6s ease-out; }
.auth-logo { width:80px; margin-bottom:1.5rem; filter:drop-shadow(0 0 10px var(--d-primary)); }
.auth-container h1 { font-size:1.8rem; font-weight:700; margin-bottom:.5rem; }
.auth-container p { color:var(--d-muted); margin-bottom:2rem; line-height:1.5; }
.auth-form { display:flex; flex-direction:column; gap:1rem; margin-bottom:1.5rem; }
.auth-divider { display:flex; align-items:center; margin:1.5rem 0; color:var(--d-muted); font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.auth-divider::before,.auth-divider::after { content:''; flex:1; border-bottom:1px solid var(--d-border); }
.auth-divider span { margin:0 1rem; }
.auth-status { margin-top:1.5rem; font-size:.875rem; min-height:1.25rem; color:var(--d-secondary); }

.input-field { background:rgba(255,255,255,0.05); border:1px solid var(--d-border); border-radius:12px; padding:.875rem 1rem; color:white; font-size:1rem; outline:none; transition:all .3s ease; width:100%; }
.input-field:focus { background:rgba(255,255,255,0.08); border-color:var(--d-primary); box-shadow:0 0 0 4px var(--d-primary-glow); }

/* Custom Number Input Stepper */
.number-input-group { display:flex; align-items:center; background:rgba(255,255,255,0.05); border:1px solid var(--d-border); border-radius:12px; overflow:hidden; width:100%; transition:all .3s ease; margin-bottom:12px; }
.number-input-group:focus-within { border-color:var(--d-primary); box-shadow:0 0 0 4px var(--d-primary-glow); }
.number-input-group .num-field { border:none; border-radius:0; padding:.875rem 0; text-align:center; box-shadow:none; flex:1; margin-bottom:0; background:transparent; }
.number-input-group .num-field:focus { box-shadow:none; }
.num-btn { background:transparent; color:var(--d-muted); border:none; padding:0 14px; font-size:1.2rem; cursor:pointer; transition:all .2s; height:100%; display:flex; align-items:center; justify-content:center; }
.num-btn:hover { color:var(--d-text); background:rgba(255,255,255,0.05); }

/* Hide native number spin buttons */
input[type="number"]::-webkit-inner-spin-button, 
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
input[type="number"] { -moz-appearance:textfield; }

.btn-auth-primary { background:linear-gradient(135deg,var(--d-primary),#8B5CF6); color:white; border:none; padding:.875rem; border-radius:12px; font-weight:600; cursor:pointer; transition:all .3s ease; box-shadow:0 4px 6px -1px rgba(0,0,0,0.2); font-size:1rem; }
.btn-auth-primary:hover { transform:translateY(-2px); box-shadow:0 10px 15px -3px rgba(0,0,0,0.3); filter:brightness(1.1); }
.btn-google { background:#fff; color:#1f2937; border:none; padding:.875rem 1.5rem; border-radius:12px; font-weight:600; display:flex; align-items:center; justify-content:center; gap:12px; width:100%; cursor:pointer; transition:all .3s ease; box-shadow:0 4px 6px -1px rgba(0,0,0,0.1); font-size:1rem; }
.btn-google:hover { transform:translateY(-2px); box-shadow:0 10px 15px -3px rgba(0,0,0,0.2); background:#f9fafb; }

@keyframes fadeIn { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* === DASHBOARD LAYOUT === */
.dashboard { max-width:1100px; margin:0 auto; padding:0 20px 40px; animation:fadeIn .4s ease-out; }

.dash-header { display:flex; align-items:center; justify-content:space-between; padding:20px 0; border-bottom:1px solid var(--d-border); margin-bottom:24px; flex-wrap:wrap; gap:12px; }
.dash-header-left { display:flex; align-items:center; gap:12px; }
.dash-logo { height:36px; filter:drop-shadow(0 0 8px var(--d-primary-glow)); }
.dash-title { font-size:1.3rem; font-weight:700; background:linear-gradient(135deg,var(--d-secondary),var(--d-primary)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.dash-header-right { display:flex; align-items:center; gap:16px; }
.dash-user-email { color:var(--d-muted); font-size:.9rem; }
.btn-signout { background:rgba(239,68,68,0.1); color:#ef4444; border:1px solid rgba(239,68,68,0.2); padding:8px 18px; border-radius:10px; cursor:pointer; font-weight:600; font-size:.85rem; transition:all .2s; }
.btn-signout:hover { background:rgba(239,68,68,0.2); transform:translateY(-1px); }

/* Stats */
.dash-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:24px; }
.stat-card { background:var(--d-surface); border:1px solid var(--d-border); border-radius:var(--d-radius); padding:20px; display:flex; align-items:center; gap:16px; transition:transform .2s,border-color .2s; }
.stat-card:hover { transform:translateY(-2px); border-color:rgba(255,255,255,0.15); }
.stat-icon { font-size:1.8rem; }
.stat-num { font-size:1.5rem; font-weight:800; display:block; }
.stat-label { font-size:.8rem; color:var(--d-muted); text-transform:uppercase; letter-spacing:.05em; }

/* Tabs */
.dash-tabs { display:flex; gap:4px; background:var(--d-surface); border-radius:14px; padding:4px; margin-bottom:24px; border:1px solid var(--d-border); }
.tab-btn { flex:1; padding:12px; background:none; border:none; color:var(--d-muted); font-weight:600; font-size:.95rem; cursor:pointer; border-radius:10px; transition:all .25s; }
.tab-btn.active { background:var(--d-primary); color:white; box-shadow:0 4px 12px var(--d-primary-glow); }
.tab-btn:hover:not(.active) { color:var(--d-text); background:var(--d-surface-hover); }

.tab-content { display:none; }
.tab-content.active { display:block; animation:fadeIn .3s ease-out; }

/* Toolbar */
.tab-toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.tab-toolbar h2 { font-size:1.4rem; font-weight:700; }
.toolbar-actions { display:flex; gap:10px; align-items:center; }
.filter-select { background:var(--d-surface); border:1px solid var(--d-border); border-radius:10px; padding:8px 14px; color:var(--d-text); font-size:.9rem; cursor:pointer; outline:none; }
.filter-select option { background:#1e293b; }
.btn-add { background:linear-gradient(135deg,var(--d-primary),#8B5CF6); color:white; border:none; padding:10px 20px; border-radius:10px; font-weight:600; cursor:pointer; transition:all .2s; font-size:.9rem; }
.btn-add:hover { transform:translateY(-1px); box-shadow:0 4px 12px var(--d-primary-glow); }

/* Item List */
.item-list { display:flex; flex-direction:column; gap:8px; }
.loading { text-align:center; color:var(--d-muted); padding:40px; }
.empty-state { text-align:center; color:var(--d-muted); padding:60px 20px; font-size:1rem; }
.empty-state .empty-icon { font-size:3rem; margin-bottom:12px; display:block; }

/* Task Item */
.task-item { display:flex; align-items:center; gap:14px; background:var(--d-surface); border:1px solid var(--d-border); border-radius:12px; padding:16px 18px; transition:all .2s; }
.task-item:hover { border-color:rgba(255,255,255,0.15); background:var(--d-surface-hover); }
.task-item.completed .task-text { text-decoration:line-through; opacity:.5; }
.task-cb { width:22px; height:22px; border-radius:6px; border:2px solid var(--d-primary); background:none; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .2s; color:transparent; font-size:14px; }
.task-cb.checked { background:var(--d-primary); color:white; border-color:var(--d-primary); }
.task-text { flex:1; font-size:.95rem; }
.task-tags { display:flex; gap:6px; flex-wrap:wrap; }
.tag { background:rgba(106,90,205,0.15); color:#a78bfa; padding:2px 10px; border-radius:50px; font-size:.75rem; font-weight:600; }
.btn-delete { background:none; border:none; color:var(--d-muted); cursor:pointer; font-size:1.1rem; padding:4px 8px; border-radius:6px; transition:all .2s; opacity:0; }
.task-item:hover .btn-delete,.guest-item:hover .btn-delete { opacity:1; }
.btn-delete:hover { color:var(--d-danger); background:rgba(239,68,68,0.1); }

/* Guest Item */
.guest-item { display:flex; align-items:center; gap:14px; background:var(--d-surface); border:1px solid var(--d-border); border-radius:12px; padding:16px 18px; transition:all .2s; }
.guest-item:hover { border-color:rgba(255,255,255,0.15); background:var(--d-surface-hover); }
.guest-name { flex:1; font-weight:600; font-size:.95rem; }
.guest-count { color:var(--d-muted); font-size:.85rem; margin-right:8px; }
.status-badge { padding:4px 14px; border-radius:50px; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; cursor:pointer; border:none; transition:all .2s; }
.status-badge.pending { background:rgba(245,158,11,0.15); color:#fbbf24; }
.status-badge.confirmed { background:rgba(16,185,129,0.15); color:#34d399; }
.status-badge.declined { background:rgba(239,68,68,0.15); color:#f87171; }
.status-badge:hover { filter:brightness(1.2); transform:scale(1.05); }

.guest-summary { display:flex; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.guest-summary .gs-card { background:var(--d-surface); border:1px solid var(--d-border); border-radius:12px; padding:12px 18px; font-size:.85rem; display:flex; align-items:center; gap:8px; }
.gs-dot { width:10px; height:10px; border-radius:50%; display:inline-block; }

/* Budget */
.budget-summary-card { background:linear-gradient(135deg,rgba(106,90,205,0.15),rgba(255,105,180,0.1)); border:1px solid var(--d-border); border-radius:var(--d-radius); padding:28px; margin-bottom:24px; }
.budget-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.budget-total { font-size:2rem; font-weight:800; }
.budget-sub { color:var(--d-muted); font-size:.9rem; }
.budget-bar { width:100%; height:10px; background:rgba(255,255,255,0.08); border-radius:10px; overflow:hidden; margin-top:12px; }
.budget-bar-fill { height:100%; border-radius:10px; transition:width .5s ease; background:linear-gradient(90deg,var(--d-primary),var(--d-secondary)); }

.budget-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; margin-bottom:28px; }
.budget-cat-card { background:var(--d-surface); border:1px solid var(--d-border); border-radius:12px; padding:18px; transition:all .2s; }
.budget-cat-card:hover { border-color:rgba(255,255,255,0.15); }
.budget-cat-name { font-weight:700; font-size:.9rem; margin-bottom:10px; }
.budget-cat-row { display:flex; justify-content:space-between; font-size:.8rem; color:var(--d-muted); margin-bottom:4px; }
.budget-cat-bar { width:100%; height:6px; background:rgba(255,255,255,0.06); border-radius:6px; overflow:hidden; margin-top:8px; }
.budget-cat-bar-fill { height:100%; border-radius:6px; background:var(--d-primary); transition:width .4s; }
.budget-cat-bar-fill.over { background:var(--d-danger); }

.section-subtitle { font-size:1.1rem; font-weight:700; margin-bottom:14px; }

.tx-item { display:flex; align-items:center; gap:14px; background:var(--d-surface); border:1px solid var(--d-border); border-radius:12px; padding:14px 18px; transition:all .2s; }
.tx-item:hover { background:var(--d-surface-hover); }
.tx-cat-dot { width:8px; height:8px; border-radius:50%; background:var(--d-primary); flex-shrink:0; }
.tx-details { flex:1; }
.tx-desc { font-size:.9rem; font-weight:600; }
.tx-meta { font-size:.75rem; color:var(--d-muted); }
.tx-amount { font-weight:700; color:var(--d-secondary); }

/* Modal */
.modal { position:fixed; inset:0; background:rgba(0,0,0,0.7); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; z-index:9999; animation:fadeIn .3s cubic-bezier(0.16, 1, 0.3, 1); padding:20px; }
#modal-confirm { align-items: flex-start; padding-top: 60px; }
#modal-confirm .modal-content { animation: slideDown .4s cubic-bezier(0.16, 1, 0.3, 1); }

@keyframes slideDown {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.modal-content { background:linear-gradient(145deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.95)); border:1px solid rgba(255,255,255,0.1); border-radius:24px; padding:32px; width:100%; max-width:420px; box-shadow:0 30px 60px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.1); }
.modal-content h3 { margin-bottom:20px; font-size:1.4rem; font-weight:700; color:#fff; }
.modal-content .input-field { margin-bottom:12px; background:rgba(0,0,0,0.2); }
.modal-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:24px; }
.btn-cancel { background:rgba(255,255,255,0.05); color:var(--d-text); border:1px solid rgba(255,255,255,0.1); padding:10px 20px; border-radius:12px; cursor:pointer; font-weight:600; transition:all .2s; }
.btn-cancel:hover { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.2); transform:translateY(-1px); }
.btn-save { background:linear-gradient(135deg,var(--d-primary),#8B5CF6); color:white; border:none; padding:10px 20px; border-radius:12px; cursor:pointer; font-weight:600; transition:all .2s; box-shadow:0 4px 12px rgba(106,90,205,0.3); }
.btn-save:hover { transform:translateY(-2px); box-shadow:0 8px 16px rgba(106,90,205,0.5); }

/* Responsive */
@media(max-width:768px) {
    .dash-stats { grid-template-columns:1fr; }
    .dash-header { flex-direction:column; align-items:flex-start; }
    .tab-toolbar { flex-direction:column; align-items:flex-start; }
    .budget-grid { grid-template-columns:1fr; }
    .guest-summary { flex-direction:column; }
}
@media(max-width:480px) {
    .dash-tabs { flex-direction:column; }
    .stat-card { padding:14px; }
}

/* === SEATING ARRANGEMENT === */
.seating-setup-card { background:#fff; border:1px solid rgba(0,0,0,0.08); border-radius:24px; padding:48px 32px; text-align:center; max-width:600px; margin:40px auto; box-shadow:0 20px 40px rgba(0,0,0,0.06); animation:fadeIn .5s ease-out; }
.seating-setup-card h2 { font-size:1.8rem; font-weight:800; margin-bottom:12px; color:#1f2937; }
.seating-setup-card p { color:#6b7280; margin-bottom:32px; font-size:1rem; line-height:1.6; }
.seating-workspace { display:flex; gap:20px; height:700px; }

/* Sidebar */
.seating-sidebar { width:260px; background:#fff; border:1px solid rgba(0,0,0,0.08); box-shadow:0 8px 24px rgba(0,0,0,0.06); border-radius:16px; padding:16px; display:flex; flex-direction:column; flex-shrink:0; position:relative; z-index:50; color:#1f2937; }
.seating-sidebar h3 { color:#1f2937; margin-bottom:12px; font-size:1.1rem; }
.unassigned-list { flex:1; overflow-y:auto; background:#faf9f6; border-radius:12px; padding:8px; display:flex; flex-direction:column; gap:8px; min-height:100px; border:1px solid rgba(0,0,0,0.05); }
.unassigned-list.drag-over { background:rgba(106,90,205,0.05); border:1px dashed var(--d-primary); }

/* Ads Sidebar */
.seating-ads-sidebar { width:260px; background:#fff; border:1px solid rgba(0,0,0,0.08); box-shadow:0 8px 24px rgba(0,0,0,0.06); border-radius:16px; padding:16px; display:flex; flex-direction:column; flex-shrink:0; z-index:50; color:#1f2937; align-items:center; }
.seating-ads-sidebar ins { background:#f3f4f6; border-radius:8px; border:1px dashed #d1d5db; width:100%; display:flex !important; align-items:center; justify-content:center; }

/* Seating Tools */
.tool-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:8px; }
.tool-btn { background:#fff; border:1px solid rgba(0,0,0,0.08); border-radius:12px; padding:12px 8px; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:6px; transition:all 0.2s; box-shadow:0 2px 4px rgba(0,0,0,0.02); }
.tool-btn:hover { background:var(--d-surface-hover); border-color:var(--d-primary); transform:translateY(-2px); box-shadow:0 6px 12px rgba(0,0,0,0.06); }
.tool-btn span { font-size:0.75rem; font-weight:600; color:#4a4036; }
.tool-icon-preview { background:#e2d9c8; border:1px solid #b09671; position:relative; }
.tool-icon-preview.shape-circle { border-radius:50%; }
.tool-icon-preview.shape-square { border-radius:4px; }
.tool-icon-preview.shape-rectangle { border-radius:4px; }

/* Guest Token */
.guest-token { background:#fff; border:1px solid rgba(0,0,0,0.1); border-radius:12px; padding:10px 14px; font-size:0.85rem; cursor:grab; user-select:none; display:flex; justify-content:space-between; align-items:center; transition:all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1); color:#4a4036; box-shadow:0 2px 6px rgba(0,0,0,0.04); }
.guest-token:hover { transform:translateY(-2px); border-color:rgba(0,0,0,0.15); box-shadow:0 6px 12px rgba(0,0,0,0.08); background:#fafafa; }
.guest-token:active { cursor:grabbing; transform:scale(0.95); box-shadow:0 2px 4px rgba(0,0,0,0.05); }
.guest-token.dragging { opacity:0.8; transform:scale(1.05); box-shadow:0 12px 24px rgba(0,0,0,0.12); }
.guest-avatar { width:32px; height:32px; border-radius:50%; background-image:url('assets/people-sprite.png'); background-size:400% 400%; mix-blend-mode:multiply; flex-shrink:0; }

/* Canvas */
.seating-canvas-container { flex:1; background-color:#faf9f6; border:1px solid rgba(0,0,0,0.08); border-radius:16px; position:relative; overflow:auto; box-shadow:inset 0 0 20px rgba(0,0,0,0.02); }
.seating-canvas { width:800px; height:600px; position:relative; transform-origin: 0 0; margin: 0; transition: width 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); }

/* Zoom Controls */
.seating-zoom-controls { position:absolute; top:16px; right:16px; display:flex; background:#fff; border:1px solid rgba(0,0,0,0.1); border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,0.08); z-index:100; overflow:hidden; }
.seating-zoom-controls button { background:transparent; border:none; width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1.1rem; color:#4a4036; transition:background 0.2s; border-right:1px solid rgba(0,0,0,0.05); }
.seating-zoom-controls button:last-child { border-right:none; }
.seating-zoom-controls button:hover { background:rgba(0,0,0,0.05); }
.seating-zoom-controls button:active { background:rgba(0,0,0,0.1); }

/* Table Element Base */
.seating-table { position:absolute; background:linear-gradient(135deg, #d6c1a0, #c4a98b); border:1px solid #b09671; box-shadow:inset 0 2px 4px rgba(255,255,255,0.3), 0 10px 20px rgba(0,0,0,0.15); display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; user-select:none; z-index:10; transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); color:#4a4036; text-shadow:0 1px 0 rgba(255,255,255,0.4); }
.seating-table:hover { box-shadow:inset 0 2px 4px rgba(255,255,255,0.4), 0 14px 28px rgba(0,0,0,0.2); }
.seating-table.is-dragging { transform:scale(1.06) !important; box-shadow:0 24px 48px rgba(0,0,0,0.3), 0 0 0 3px rgba(106,90,205,0.5) !important; cursor:grabbing !important; z-index:50 !important; transition:transform 0.1s, box-shadow 0.1s !important; }
.seating-table::after { content:"🪴"; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); font-size:1.4rem; opacity:0.8; filter:drop-shadow(0 4px 4px rgba(0,0,0,0.2)); pointer-events:none; }

/* Table Shapes */
.shape-circle { width:120px; height:120px; border-radius:50%; }
.shape-square { width:120px; height:120px; border-radius:8px; }
.shape-rectangle { width:240px; height:90px; border-radius:8px; }

/* Table Controls Overlay */
.table-drag-handle { position:absolute; top:8px; right:8px; width:28px; height:28px; background:var(--d-primary); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; transition:opacity 0.2s; z-index:25; font-size:12px; box-shadow:0 2px 4px rgba(0,0,0,0.3); }
.seating-table:hover .table-drag-handle { opacity:1; }

.table-name { font-weight:700; font-size:0.9rem; text-align:center; margin-bottom:4px; pointer-events:none; white-space:nowrap; }
.table-capacity { font-size:0.75rem; color:var(--d-muted); pointer-events:none; }

/* Seat Drop Zones (Realistic Chairs) */
.seat-dropzone { position:absolute; width:36px; height:36px; background:#f4f0e6; border:1px solid #dcd3c4; border-bottom:6px solid #b09671; border-radius:50% 50% 12% 12%; z-index:20; transition:all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow:0 4px 6px rgba(0,0,0,0.1), inset 0 2px 4px rgba(255,255,255,0.6); margin-left:-2px; margin-top:-2px; }
.seat-dropzone.drag-over { background:#e2d9c8; border-color:var(--d-primary); transform:scale(1.1); box-shadow:0 6px 12px rgba(0,0,0,0.15); }

/* Seat Tokens (Realistic People Sprite) */
.seat-token { position:absolute; width:44px; height:44px; border-radius:50%; background-image:url('assets/people-sprite.png'); background-size:400% 400%; mix-blend-mode:multiply; cursor:grab; user-select:none; z-index:30; transition:all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1); top:-4px; left:-4px; transform:rotate(var(--rot)) scale(1); filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1)); }
.seat-token:hover { transform:rotate(var(--rot)) scale(1.15) !important; z-index:40; filter:drop-shadow(0 6px 12px rgba(0,0,0,0.3)); }
.seat-token:active { cursor:grabbing; transform:rotate(var(--rot)) scale(0.95) !important; filter:drop-shadow(0 2px 4px rgba(0,0,0,0.15)); }
.seat-token.dragging { opacity:0.8; transform:rotate(var(--rot)) scale(1.1) !important; filter:drop-shadow(0 12px 24px rgba(0,0,0,0.4)); }

/* Stage Element */
.seating-stage { position:absolute; width:300px; height:180px; background-image:url('assets/stage.png'); background-size:100% 100%; background-repeat:no-repeat; background-position:center; border:2px solid #e2d9c8; border-radius:12px; display:flex; align-items:center; justify-content:center; cursor:move; user-select:none; z-index:5; box-shadow:0 12px 24px rgba(0,0,0,0.15); transition:all 0.2s; }
.stage-label { position:absolute; bottom:12px; width:100%; text-align:center; color:#fff; font-weight:800; font-size:0.9rem; text-transform:uppercase; letter-spacing:3px; text-shadow:0 2px 4px rgba(0,0,0,0.6); pointer-events:none; }
.seating-stage:hover { box-shadow:0 16px 32px rgba(0,0,0,0.2); transform:translateY(-2px); }

@media(max-width:900px) {
    .seating-workspace { flex-direction:column; height:auto; }
    .seating-sidebar { width:100%; height:300px; }
    .seating-canvas-container { height:500px; }
}

@media print {
    @page { size: landscape; margin: 0; }
    
    /* Hide everything by default */
    body * { display: none !important; }
    
    /* Show only the workspace and the canvas */
    html, body { background: #fff !important; width: 100%; height: 100%; margin: 0; padding: 0; }
    
    .seating-workspace, 
    .seating-workspace *, 
    .seating-canvas-container, 
    .seating-canvas-container *,
    .seating-canvas,
    .seating-canvas * { 
        display: block !important; 
        visibility: visible !important; 
        position: static !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    /* Target specific containers that MUST be visible but clean */
    .seating-section, .seating-section .container {
        display: block !important;
        visibility: visible !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    /* Hide UI elements even if they are inside the workspace */
    .no-print, 
    .btn, 
    .seating-sidebar, 
    .seating-sidebar-container,
    .seating-zoom-controls, 
    .table-drag-handle, 
    .seating-ads-sidebar,
    .navbar,
    .hero-mini,
    .seating-setup-card,
    .seo-content,
    .footer,
    .modal { 
        display: none !important; 
    }
    
    .seating-canvas-container { 
        width: 100% !important; 
        height: auto !important; 
        overflow: visible !important; 
        background: #fff !important; 
    }
    
    .seating-canvas { 
        transform-origin: top left; 
        width: 100% !important; 
        height: auto !important; 
    }
    
    /* Hide empty seats for a cleaner map */
    .seat-dropzone:empty { display: none !important; }
    
    /* Hide the print list section entirely as requested previously */
    #print-table-list { display: none !important; }
}
