:root {
    --admin-bg: #0f111a;
    --admin-sidebar-bg: #161925;
    --admin-card-bg: #1c2030;
    --admin-border: #2d334a;
    --admin-text-primary: #ffffff;
    --admin-text-secondary: #94a3b8;
    --admin-accent-blue: #55d493;
    --admin-accent-purple: #8b5cf6;
    --admin-accent-green: #10b981;
    --admin-accent-red: #ef4444;
    --admin-accent-orange: #f59e0b;
    --admin-accent-yellow: #eab308;
}

.admin-body {
    background-color: var(--admin-bg);
    color: var(--admin-text-primary);
    font-family: " Helvetica", sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.dashboard-layout {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    width: 260px;
    background-color: var(--admin-sidebar-bg);
    border-right: 1px solid var(--admin-border);
    display: flex;
    flex-direction: column;
    position: fixed;
    height: 98vh;
    z-index: 100;
}

.sidebar-header {
    padding: 0rem 1rem;
}

.sidebar-header .logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.logo-icon {
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, var(--admin-accent-blue), var(--admin-accent-purple));
    border-radius: 8px;
}

.logo-text {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: -0.02em;
}

.sidebar-nav {
    flex: 1;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 90vh;
    overflow-x: hidden;
    overflow-y: auto;
    margin-bottom: 20px;
}
.lucide{

width: 16px;
height: 16px;

}
.nav-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 6px 6px;
    border-radius: 24px;
    color: var(--admin-text-secondary);
    text-decoration: none;
    transition: all 0.7s ease;
    font-weight: 500;
    font-size: 0.9rem;
}

.nav-item:hover {
    background-color: rgba(255, 255, 255, 0.05);
    color: var(--admin-text-primary);
}

.nav-item.active {
    background-color: var(--admin-card-bg);
    color: white;
    font-size: 1rem;
}

.nav-item i {
    width: 14px;
    height: 14px;
}

.badge {
    margin-left: auto;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.badge-green { background-color: var(--admin-accent-green); color: white; }
.badge-red { background-color: var(--admin-accent-red); color: white; }

.main-content {
    flex: 1;
    margin-left: 260px;
    display: flex;
    flex-direction: column;
}

.top-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #171d2d !important;
    position: sticky;
    min-height: 64px !important;
    padding: 5px 30px !important;
    box-shadow: 0 10px 30px rgba(2, 6, 23, .18) !important;
    top: 0;
    z-index: 90;
}

.location-selector {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--admin-card-bg);
    padding: 0.625rem 1.25rem;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.date-time {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 500;
}

.status-pill {
    background-color: var(--admin-accent-green);
    color: white;
    padding: 2px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.icon-btn {
    background: none;
    border: none;
    color: var(--admin-text-secondary);
    cursor: pointer;
    position: relative;
    padding: 0.5rem;
}

.notification-dot {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 8px;
    height: 8px;
    background-color: var(--admin-accent-red);
    border-radius: 50%;
    border: 2px solid var(--admin-bg);
}

.user-profile {
    width: 40px;
    height: 40px;
    background-color: var(--admin-accent-purple);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    cursor: pointer;
}

.content-area {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
}

.stat-card {
    background-color: var(--admin-card-bg);
    border: 1px solid var(--admin-border);
    border-radius: 20px;
    padding: 1.5rem;
}

.stat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.stat-label {
    color: var(--admin-text-secondary);
    font-size: 0.875rem;
    font-weight: 600;
}

.stat-trend {
    font-size: 0.75rem;
    font-weight: 600;
}

.trend-up { color: var(--admin-accent-green); }

.stat-value {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.stat-sub {
    font-size: 0.8125rem;
    color: var(--admin-text-secondary);
}

.stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-purple { background-color: rgba(139, 92, 246, 0.1); color: var(--admin-accent-purple); }
.icon-red { background-color: rgba(239, 68, 68, 0.1); color: var(--admin-accent-red); }
.icon-orange { background-color: rgba(245, 158, 11, 0.1); color: var(--admin-accent-orange); }
.icon-yellow { background-color: rgba(234, 179, 8, 0.1); color: var(--admin-accent-yellow); }

.dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 1.5rem;
}

.card {
    background-color: var(--admin-card-bg);
    border: 1px solid var(--admin-border);
    border-radius: 20px;
    padding: 1.5rem;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.header-title {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.header-title h3 {
    margin: 0;
    font-size: 1.25rem;
}

.live-indicator {
    background-color: var(--admin-accent-green);
    color: white;
    font-size: 0.625rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

.header-filters {
    display: flex;
    gap: 0.5rem;
}

.filter-btn {
    background-color: rgba(255, 255, 255, 0.05);
    border: none;
    color: var(--admin-text-secondary);
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

.filter-btn.active {
    background-color: var(--admin-accent-blue);
    color: white;
}

.orders-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
}

.order-card {
    background-color: var(--admin-bg);
    border: 1px solid var(--admin-border);
    border-radius: 16px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.order-id {
    font-weight: 700;
    font-size: 1rem;
}

.order-status-tag {
    font-size: 0.625rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
}

.tag-new { background-color: var(--admin-accent-blue); color: white; }
.tag-preparing { background-color: var(--admin-accent-orange); color: white; }
.tag-ready { background-color: var(--admin-accent-green); color: white; }

.order-source {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--admin-text-secondary);
}

.source-icon {
    width: 60px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
}

.order-customer {
    font-weight: 600;
    font-size: 0.9375rem;
}

.order-items {
    font-size: 0.8125rem;
    color: var(--admin-text-secondary);
    line-height: 1.5;
}

.order-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--admin-border);
}

.payment-status {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
}

.paid { color: var(--admin-accent-green); }
.pending { color: var(--admin-accent-yellow); }

.order-time {
    font-size: 0.75rem;
    color: var(--admin-text-secondary);
}

.dashboard-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.view-all {
    color: var(--admin-accent-blue);
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 600;
}

.suppliers-list, .po-list, .inventory-list, .top-menu-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--admin-border);
}

.list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.item-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.item-name {
    font-weight: 600;
    font-size: 0.9375rem;
}

.item-sub {
    font-size: 0.75rem;
    color: var(--admin-text-secondary);
}

.status-label {
    font-size: 0.625rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
}

.status-active { color: var(--admin-accent-green); }
.status-delayed { color: var(--admin-accent-orange); }

.po-actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.dashboard-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    gap: 1.5rem;
}

.inventory-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.inventory-icon {
    width: 32px;
    height: 32px;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.inventory-details {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.stock-info {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.stock-value {
    font-weight: 700;
}

.stock-min {
    font-size: 0.75rem;
    color: var(--admin-text-secondary);
}

.stock-status {
    font-size: 0.625rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
}

.status-ok { background-color: rgba(16, 185, 129, 0.1); color: var(--admin-accent-green); }
.status-low { background-color: rgba(245, 158, 11, 0.1); color: var(--admin-accent-orange); }
.status-critical { background-color: rgba(239, 68, 68, 0.1); color: var(--admin-accent-red); }

.chart-container {
    height: 200px;
    margin-bottom: 1.5rem;
}

.chart-stats {
    display: flex;
    justify-content: space-between;
    padding-top: 1.5rem;
    border-top: 1px solid var(--admin-border);
}

.chart-stat {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.chart-stat .label {
    font-size: 0.75rem;
    color: var(--admin-text-secondary);
    font-weight: 600;
}

.chart-stat .value {
    font-weight: 700;
    font-size: 1.125rem;
}

.top-menu-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.menu-item-img {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    object-fit: cover;
}

.menu-item-details {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu-item-price {
    font-weight: 700;
    color: var(--admin-accent-green);
}

.btn {
    padding: 0.625rem 1.25rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.875rem;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
}

.btn-green { background-color: var(--admin-accent-green); color: white; }
.btn-purple { background-color: var(--admin-accent-purple); color: white; }
.btn-blue { background-color: var(--admin-accent-blue); color: white; }

.btn-purple-outline {
    background-color: rgba(139, 92, 246, 0.1);
    color: var(--admin-accent-purple);
    border: 1px solid rgba(139, 92, 246, 0.2);
    flex: 1;
}

.btn-gray-outline {
    background-color: rgba(255, 255, 255, 0.05);
    color: var(--admin-text-secondary);
    border: 1px solid var(--admin-border);
    flex: 1;
}

@media (max-width: 1200px) {
    .dashboard-grid {
        grid-template-columns: 1fr;
    }
    .dashboard-bottom-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .sidebar {
        width: 80px;
    }
    .sidebar .logo-text, .nav-item span, .badge {
        display: none;
    }
    .main-content {
        margin-left: 80px;
    }
    .dashboard-bottom-grid {
        grid-template-columns: 1fr;
    }
}

.page-panel {
    display: none;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.page-panel.is-active {
    display: flex;
    opacity: 1;
    transform: translateY(0);
}

.stack-card {
    margin-bottom: 1.5rem;
}

.table-responsive {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    text-align: left;
    padding: 0.95rem 0.75rem;
    border-bottom: 1px solid var(--admin-border);
    font-size: 0.92rem;
}

.admin-table th {
    color: var(--admin-text-secondary);
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.action-cell {
    white-space: nowrap;
}

.empty-cell,
.empty-box {
    color: var(--admin-text-secondary);
    text-align: center;
    padding: 1rem;
}

.text-red {
    color: var(--admin-accent-red);
}

.mini-pill {
    padding: 4px 8px;
    font-size: 0.72rem;
}

.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 17, 26, 0.8);
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 1.5rem;
    z-index: 300;
    pointer-events: none;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.modal-overlay.show {
    display: flex;
    pointer-events: auto;
}

.modal-overlay.active {
    display: flex;
    opacity: 1;
    pointer-events: auto;
}

.admin-modal {
    width: 100%;
    max-width: 760px;
    max-height: calc(100vh - 3rem);
    margin: auto 0;
    background: var(--admin-card-bg);
    border: 1px solid var(--admin-border);
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.admin-modal .text-display {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--admin-card-bg);
    padding: 1.5rem 1.5rem 1rem;
    border-bottom: 1px solid var(--admin-border);
}

.admin-modal .entity-form {
    overflow-y: auto;
    padding: 1.25rem 1.5rem 1.5rem;
}

.text-display {
    margin: 0 0 1rem;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group.full-width {
    grid-column: 1 / -1;
}

.form-group label {
    color: var(--admin-text-secondary);
    font-size: 0.86rem;
    font-weight: 600;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    box-sizing: border-box;
    background: var(--admin-bg);
    color: var(--admin-text-primary);
    border: 1px solid var(--admin-border);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    font-size: 0.95rem;
}

.form-group textarea {
    resize: vertical;
}

.modal-actions {
    position: sticky;
    bottom: -1.5rem;
    z-index: 5;
    margin: 1.25rem -1.5rem -1.5rem;
    padding: 1rem 1.5rem;
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    background: var(--admin-card-bg);
    border-top: 1px solid var(--admin-border);
}

.toast-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 500;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.toast {
    min-width: 240px;
    max-width: 320px;
    padding: 0.9rem 1rem;
    border-radius: 12px;
    color: #fff;
    transform: translateY(-10px);
    opacity: 0;
    transition: all 0.2s ease;
    box-shadow: 0 12px 24px rgba(0,0,0,0.25);
}

.toast.show {
    opacity: 1;
    transform: translateY(0);
}

.toast-success {
    background: rgba(16, 185, 129, 0.95);
}

.toast-error {
    background: rgba(239, 68, 68, 0.95);
}

.quick-links {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.wide-btn {
    width: 100%;
}

@media (max-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr;
    }
}

.nav-dropdown {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.nav-dropdown-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}

.nav-dropdown-toggle .nav-chevron {
    margin-left: auto;
    transition: transform 0.2s ease;
}

.nav-dropdown-toggle.open .nav-chevron {
    transform: rotate(180deg);
}

.nav-submenu {
    display: none;
    flex-direction: column;
    gap: 0.25rem;
    padding-left: 3.25rem;
}

.nav-submenu.open {
    display: flex;
}

.nav-subitem {
    color: var(--admin-text-secondary);
    text-decoration: none;
    font-size: 0.875rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.nav-subitem:hover,
.nav-subitem.active {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--admin-text-primary);
}

.admin-modal-wide {
    max-width: 980px;
}

.field-note {
    display: block;
    margin-top: 0.35rem;
    color: var(--admin-text-secondary);
    font-size: 0.8rem;
}

.current-image-preview {
    margin-top: 0.75rem;
}

.current-image-preview img {
    width: 110px;
    height: 110px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.tox-tinymce {
    border-radius: 12px !important;
}

.settings-card .form-grid {
    gap: 1rem;
}

.settings-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: flex-start;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

.settings-save-status {
    min-height: 1rem;
}

.admin-list-header {
    align-items: flex-start;
    gap: 1rem;
}

.card-subtitle {
    margin: 0.35rem 0 0;
    color: var(--admin-text-secondary);
    font-size: 0.9rem;
}

.admin-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(150px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
}

.toolbar-field {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.toolbar-field label {
    color: var(--admin-text-secondary);
    font-size: 0.82rem;
}

.toolbar-field input,
.toolbar-field select {
    min-height: 42px;
}

.bulk-actions-bar {
    display: none;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(59, 130, 246, 0.35);
    border-radius: 14px;
    background: rgba(59, 130, 246, 0.1);
}

.bulk-actions-bar.is-active {
    display: flex;
}

.check-col {
    width: 48px;
    text-align: center;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}

.status-green {
    color: #86efac;
    background: rgba(34, 197, 94, 0.13);
}

.status-gray {
    color: #cbd5e1;
    background: rgba(148, 163, 184, 0.13);
}

.admin-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    color: var(--admin-text-secondary);
    flex-wrap: wrap;
}

.pagination-buttons {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pagination-buttons button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .admin-toolbar {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .admin-toolbar {
        grid-template-columns: 1fr;
    }

    .admin-pagination {
        align-items: flex-start;
        flex-direction: column;
    }
}

.admin-thumb {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
}

.current-gallery-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.current-gallery-preview img {
    width: 74px;
    height: 74px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--admin-border, rgba(255,255,255,0.12));
}

.current-gallery-preview span {
    color: var(--admin-text-secondary);
    font-size: 13px;
}

.xero-status-box,
.xero-help-box {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.35);
    display: grid;
    gap: 8px;
}
.xero-help-box h4 { margin: 0 0 6px; }
.xero-help-box p { margin: 0; color: #94a3b8; }
.field-note { display: block; margin-top: 6px; color: #94a3b8; font-size: 12px; }
.full-width { grid-column: 1 / -1; }

.franchise-slide-admin-row {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  background: #fff;
}
.franchise-slide-preview {
  width: 110px;
  height: 90px;
  border-radius: 12px;
  overflow: hidden;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #777;
}
.franchise-slide-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.franchise-slide-fields.form-grid {
  margin: 0;
}
@media (max-width: 768px) {
  .franchise-slide-admin-row {
    grid-template-columns: 1fr;
  }
  .franchise-slide-preview {
    width: 100%;
    height: 180px;
  }
}

.image-card-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.image-card{position:relative;width:96px}.image-card img{width:96px;height:96px;object-fit:cover;border-radius:14px;border:1px solid rgba(148,163,184,.28);background:#0b1020}.image-card-actions{position:absolute;top:6px;right:6px;display:flex;gap:5px}.image-card-btn{width:24px;height:24px;border:0;border-radius:50%;cursor:pointer;background:rgba(15,23,42,.9);color:#fff;font-weight:800;line-height:24px;text-align:center}.image-card-btn.edit{background:#3b82f6}.image-card-btn.delete{background:#ef4444}.image-card-title{font-size:11px;color:var(--admin-text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-editor-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.72);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.media-editor-backdrop.show{display:flex}.media-editor-modal{width:min(640px,96vw);background:#151a2b;border:1px solid rgba(148,163,184,.28);border-radius:18px;padding:20px;color:#fff;box-shadow:0 25px 70px rgba(0,0,0,.4)}.media-editor-modal h3{margin:0 0 16px}.media-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.media-editor-grid .full{grid-column:1/-1}.media-editor-grid input,.media-editor-grid textarea,.media-editor-grid select{width:100%;background:#0b1020;color:#fff;border:1px solid rgba(148,163,184,.3);border-radius:10px;padding:11px}.media-editor-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.media-editor-actions button{border:0;border-radius:10px;padding:11px 18px;font-weight:800;cursor:pointer}.media-editor-save{background:#3b82f6;color:#fff}.media-editor-cancel{background:#293044;color:#cbd5e1}@media(max-width:700px){.media-editor-grid{grid-template-columns:1fr}}

.nav-subheading {
  padding: 0.65rem 1.25rem 0.35rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.nav-subitem.is-disabled {
  opacity: 0.55;
}

.nav-childmenu {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.nav-subitem-parent {
  font-weight: 800;
  color: var(--admin-text-primary);
}

.nav-childitem {
  margin-left: 1rem;
  font-size: 0.82rem;
}

.settings-form select[multiple] {
  min-height: 260px;
}

.nav-childmenu { display: none; }
.nav-childmenu.open { display: flex; }
.nav-child-toggle { width: 100%; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: space-between; text-align: left; }
.nav-child-toggle .nav-chevron { width: 14px; height: 14px; transition: transform .2s ease; }
.nav-child-toggle.open .nav-chevron { transform: rotate(180deg); }

.nav-submenu-nested .nav-child-toggle {
  color: var(--admin-text-primary);
}

.nav-submenu-nested .nav-childmenu {
  display: none;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: 0.75rem;
}

.nav-submenu-nested .nav-childmenu.open {
  display: flex;
}

.nav-submenu-nested .nav-childmenu .nav-childmenu {
  padding-left: 1rem;
}

.nav-submenu-nested .nav-childitem {
  margin-left: 0.75rem;
}

.coupon-check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 8px;
    max-height: 240px;
    overflow: auto;
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.35);
}
.coupon-check-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    cursor: pointer;
}
.coupon-check-item input {
    width: auto;
    margin: 0;
}
.coupon-check-item span {
    font-size: 13px;
    line-height: 1.3;
}

.backend-svg-icon,.icon-btn img{width:18px;height:18px;display:block}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px}.action-cell{display:flex;align-items:center;gap:6px}

.admin-modal-wide{width:min(920px,96vw);max-height:92vh;overflow:auto}.partner-settings{margin-top:18px;padding-top:18px;border-top:1px solid rgba(148,163,184,.24)}.partner-settings.is-hidden,.payout-field.is-hidden{display:none!important}.partner-settings-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.partner-settings-title h3{margin:0;font-size:16px;color:#fff}.partner-settings-title span,.admin-muted-text{color:var(--admin-text-secondary);font-size:12px}.payout-toolbar{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr);margin-bottom:14px}.partner-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;text-transform:capitalize}.partner-status-pending{background:rgba(96,165,250,.12);color:#93c5fd}.partner-status-approved{background:rgba(34,197,94,.14);color:#86efac}.partner-status-paid{background:rgba(148,163,184,.14);color:#cbd5e1}.partner-status-cancelled{background:rgba(239,68,68,.14);color:#fca5a5}.icon-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:760px){.payout-toolbar{grid-template-columns:1fr}.partner-settings-title{align-items:flex-start;flex-direction:column}}

.access-layout{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
    gap:18px;
}
.access-section{
    background:rgba(15,23,42,.56);
    border:1px solid rgba(148,163,184,.16);
    border-radius:18px;
    padding:16px;
    overflow:hidden;
}
.access-section-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}
.access-section h4,
.access-section h5,
.access-check-group h6{
    margin:0 0 6px;
    color:#e5e7eb;
    font-size:14px;
    font-weight:700;
}
.access-section h5{
    font-size:13px;
    margin:10px 0;
}
.access-section-head p,
.access-check-item small{
    margin:0;
    color:#94a3b8;
    font-size:11px;
}
.access-role-select{
    min-width:180px;
    height:36px;
    border-radius:10px;
    border:1px solid rgba(148,163,184,.28);
    background:#0f172a;
    color:#e5e7eb;
    font-size:12px;
    padding:0 10px;
}
.access-actions-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:14px;
}
.access-split{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
    gap:14px;
}
.access-check-grid{
    max-height:440px;
    overflow:auto;
    padding-right:4px;
}
.access-check-group{
    border:1px solid rgba(148,163,184,.13);
    border-radius:14px;
    padding:10px;
    margin-bottom:10px;
    background:rgba(2,6,23,.22);
}
.access-check-item{
    display:inline-flex;
    gap: 5px 3px;
    border-radius:10px;
    color:#e5e7eb;
    cursor:pointer;
    vertical-align: text-bottom;
    align-items: center;
    background-color: #000000;
    box-shadow: 1px 0px 6px 0px rgba(0, 0, 0, 0.1);
    padding: 0px 10px 0px 5px;
    margin: 5px 8px;
}
.access-check-item:hover{
    background:rgba(59,130,246,.10);
}
.access-check-item input{
    width:15px;
    height:15px;
    margin-top:2px;
}
.access-check-item span,
.access-check-item small{
    display:block;
    line-height:1.35;
}
.access-table-wrap{
    max-height:520px;
    overflow:auto;
}
.access-table-wrap thead th{
    position:sticky;
    top:0;
    z-index:2;
}
@media(max-width:1180px){
    .access-layout,
    .access-split{
        grid-template-columns:1fr;
    }
    .access-check-grid{
        max-height:360px;
    }
}
@media(max-width:680px){
    .access-section-head{
        display:block;
    }
    .access-role-select{
        width:100%;
        margin-top:10px;
    }
    .access-actions-row .btn{
        flex:1 1 140px;
    }
}

.admin-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.access-manager-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
.access-panel-card{min-width:0;overflow:hidden}
.access-wide-card{grid-column:1 / -1}
.access-note-box{margin-top:14px;padding:12px;border-radius:14px;background:rgba(59,130,246,.08);border:1px solid rgba(96,165,250,.18);display:grid;gap:4px;color:#cbd5e1;font-size:12px;line-height:1.45}
.access-actions-stack{display:grid;gap:8px;margin-top:12px}
.access-permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:560px;overflow:auto;padding-right:5px}
.access-manager-grid .access-check-grid{max-height:520px;overflow:auto;padding-right:5px}
.access-manager-grid .access-check-group{break-inside:avoid}
.access-manager-grid .access-check-item{grid-template-columns:18px 1fr;min-height:34px}
.access-manager-grid .access-check-item span{font-weight:700;font-size:12px;color:#e5e7eb}
.access-manager-grid .access-check-item small{font-size:10.5px;color:#94a3b8;text-align: center;}
.access-manager-grid .table-responsive{max-height:440px;overflow:auto}
.access-manager-grid .admin-table thead th{position:sticky;top:0;z-index:3;background:#111827}
@media(max-width:1180px){.access-manager-grid{grid-template-columns:1fr}.access-wide-card{grid-column:auto}.access-permissions-grid{grid-template-columns:1fr}}
@media(max-width:700px){.admin-actions-row{width:100%}.admin-actions-row .btn{flex:1 1 120px}.access-manager-grid .access-check-grid,.access-permissions-grid{max-height:420px}.access-note-box{font-size:11px}}

.access-hidden{display:none!important}
.access-manager-grid{display:grid;grid-template-columns:minmax(240px,.35fr) minmax(0,.65fr);gap:16px;align-items:start}.access-panel-card{min-width:0}.access-wide-card{grid-column:1/-1}.admin-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.access-note-box{display:grid;gap:5px;margin-top:12px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(15,23,42,.45);color:#cbd5e1;font-size:12px}.access-note-box strong{color:#fff}.access-panel-card .form-group{margin:0}.access-panel-card select{width:100%;height:38px;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:#0f172a;color:#e5e7eb;padding:0 10px;font-size:12px}.access-permissions-grid{max-height:560px}.access-check-grid::-webkit-scrollbar,.table-responsive::-webkit-scrollbar{width:8px;height:8px}.access-check-grid::-webkit-scrollbar-thumb,.table-responsive::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px}.access-check-group{break-inside:avoid}.access-check-group h6{position:sticky;top:0;z-index:1;padding:5px 0;background:rgba(15,23,42,.92)}.access-check-item span{font-weight:700}.access-check-item small{font-weight:500}.access-panel-card .table-responsive{max-height:420px;overflow:auto}.access-panel-card .admin-table thead th{position:sticky;top:0;z-index:2}@media(max-width:980px){.access-manager-grid{grid-template-columns:1fr}.access-wide-card{grid-column:auto}.admin-actions-row .btn{flex:1 1 120px}}@media(max-width:620px){.access-check-grid{max-height:360px}.access-check-item{font-size:11px}.access-panel-card .card-header.admin-list-header{align-items:flex-start;flex-direction:column}.access-panel-card .card-header .btn{width:100%}}

.btn-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;margin-right:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.admin-table th,.admin-table td{font-size:12px;line-height:1.35}.admin-table th{font-size:11px}.table-responsive,.role-table-wrap{max-height:560px;overflow:auto}.admin-table thead th{position:sticky;top:0;z-index:3;background:#111827}.role-manager-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 2rem 18px}.role-stat{background:#111827;border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:14px;min-width:0}.role-stat strong{display:block;color:#fff;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-stat span{display:block;color:#94a3b8;font-size:11px;margin-top:5px}.role-toolbar{grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(180px,1fr);margin-bottom:14px}.role-manager-card,.module-manager-card{min-width:0}.role-page-header{align-items:flex-start}.toast{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.14);font-size:13px;line-height:1.35}.toast-close{width:24px;height:24px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;font-size:18px;line-height:1}.toast-success{background:linear-gradient(135deg,rgba(16,185,129,.96),rgba(5,150,105,.96))}.toast-error{background:linear-gradient(135deg,rgba(239,68,68,.97),rgba(185,28,28,.97))}.toast-warning{background:linear-gradient(135deg,rgba(245,158,11,.97),rgba(180,83,9,.97))}.backend-svg-icon,.icon-btn img{width:18px;height:18px;display:block}.icon-btn{width:34px;height:34px;min-width:34px;border:1px solid rgba(148,163,184,.18);background:#0f172a!important;color:#cbd5e1;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0}.icon-btn:hover{border-color:rgba(96,165,250,.45);transform:translateY(-1px)}.action-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}.status-inactive{background:rgba(239,68,68,.14);color:#fca5a5}.status-active{background:rgba(34,197,94,.14);color:#86efac}@media(max-width:1100px){.role-manager-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 1rem 16px}.role-toolbar{grid-template-columns:1fr 1fr}}@media(max-width:700px){.role-manager-stats,.role-toolbar{grid-template-columns:1fr}.role-manager-stats{margin:0 0 14px}.page-header.role-page-header{gap:12px}.page-header .admin-actions-row{width:100%}.page-header .admin-actions-row .btn{flex:1 1 100%}.table-responsive,.role-table-wrap{max-height:440px}.toast-container{left:12px;right:12px}.toast{min-width:0;max-width:none;width:100%}}

.confirm-toast-container{
    position:fixed;
    right:16px;
    bottom:16px;
    z-index:9000;
    display:flex;
    flex-direction:column;
    gap:10px;
    pointer-events:none;
}
.confirm-toast{
    width:min(380px,calc(100vw - 32px));
    padding:14px;
    border-radius:16px;
    background:#111827;
    color:#e5e7eb;
    border:1px solid rgba(148,163,184,.24);
    box-shadow:0 22px 50px rgba(0,0,0,.35);
    opacity:0;
    transform:translateY(12px);
    transition:.22s ease;
    pointer-events:auto;
}
.confirm-toast.show{
    opacity:1;
    transform:translateY(0);
}
.confirm-toast strong{
    display:block;
    font-size:13px;
    line-height:1.35;
    margin-bottom:10px;
}
.confirm-toast-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
}
.confirm-toast-actions button{
    min-height:32px;
    border:0;
    border-radius:10px;
    padding:0 12px;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.confirm-no{
    background:rgba(148,163,184,.16);
    color:#e5e7eb;
}
.confirm-yes{
    background:#ef4444;
    color:#fff;
}
@media(max-width:700px){
    .confirm-toast-container{
        left:12px;
        right:12px;
        bottom:12px;
    }
    .confirm-toast{
        width:100%;
    }
}

.admin-order-view-modal { max-width: 920px; width: min(94vw, 920px); }
.modal-title-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-order-view-body { display: grid; gap: 1rem; }
.order-view-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.order-view-grid .full { grid-column: 1 / -1; }
.order-view-grid label { display: block; color: var(--admin-text-secondary); font-size: .78rem; margin-bottom: .25rem; }
.order-view-grid strong { color: var(--admin-text-primary); word-break: break-word; }
.email-template-list { display: grid; gap: 1rem; }
.email-template-card { border: 1px solid var(--admin-border); border-radius: 18px; padding: 1rem; background: rgba(255,255,255,.03); }
.email-template-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.email-template-head small { color: var(--admin-text-secondary); }
.email-template-card textarea { width: 100%; min-height: 150px; }
@media (max-width: 720px) { .order-view-grid { grid-template-columns: 1fr; } }
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.35);
    border-radius: 999px;
}
.admin-thumb{width:54px;height:54px;object-fit:cover;border-radius:10px;background:#f3f4f6;border:1px solid rgba(15,23,42,.08)}

.reservation-admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:14px;margin-bottom:18px;padding:18px}.reservation-admin-toolbar input,.reservation-admin-toolbar select,.admin-table select{background:#fff;color:#111827;border:1px solid #d8dee9;border-radius:10px;padding:11px 12px}.reservation-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-small{padding:7px 10px!important;font-size:12px!important;border-radius:8px!important}.status-danger{background:#ef4444!important}.reservation-floor-admin-card{padding:20px;overflow:auto}.admin-reservation-floor{width:1100px;height:560px;background:#fbf1e3;border:9px solid #5f3924;border-radius:8px;margin:0 auto;position:relative;box-shadow:inset 0 0 40px rgba(0,0,0,.06)}.admin-reservation-floor:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:46px 46px;pointer-events:none}.admin-floor-table{position:absolute;background:#7a4526;color:white;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 12px 24px rgba(65,38,22,.3)}.admin-floor-table.round{border-radius:50%}.admin-floor-table strong{font-size:19px}.admin-floor-table small{margin-top:4px}.floor-entrance-admin{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);font-weight:900;color:#111827;background:#fbf1e3;padding:4px 16px}.reservation-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:18px}.reservation-source-list{display:grid;gap:10px;margin-top:15px}.reservation-source-list div{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.05);border:1px solid var(--admin-border);padding:12px;border-radius:10px}@media(max-width:900px){.reservation-admin-toolbar{grid-template-columns:1fr}.admin-reservation-floor{transform:scale(.75);transform-origin:top left}.reservation-floor-admin-card{height:470px}.reservation-actions{display:grid}.reservation-actions .btn{width:100%}}

.reservation-floor-admin-card{max-height:680px;overflow-x:hidden!important;overflow-y:auto!important;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(240,162,74,.05))}.admin-reservation-floor{margin:12px auto 30px}.reservation-admin-toolbar.card{background:linear-gradient(135deg,rgba(217,37,29,.08),rgba(240,162,74,.08));border-color:rgba(240,162,74,.18)}.reservation-actions .btn-green{background:#10b981;color:#fff}.reservation-actions .btn-red{background:#d9251d;color:#fff}.reservation-source-list div{background:rgba(255,255,255,.08)}
@media(max-width:900px){.reservation-floor-admin-card{height:540px;overflow-y:auto!important;overflow-x:hidden!important}.admin-reservation-floor{transform:scale(.55);transform-origin:top left;margin-left:0}}
@media(max-width:480px){.admin-reservation-floor{transform:scale(.36)}.reservation-floor-admin-card{height:460px}}

#reservation-tables-page .page-header,#reservation-floor-plan-page .page-header,#reservation-settings-page .page-header,#reservation-payments-page .page-header,#reservation-reports-page .page-header{background:linear-gradient(135deg,rgba(217,37,29,.14),rgba(240,162,74,.11));border:1px solid rgba(240,162,74,.18);border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 16px 36px rgba(0,0,0,.08)}
#reservations-page .page-header h1,#reservation-tables-page .page-header h1,#reservation-floor-plan-page .page-header h1,#reservation-settings-page .page-header h1,#reservation-payments-page .page-header h1,#reservation-reports-page .page-header h1{font-size:30px;letter-spacing:-.03em}.reservation-admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:14px;margin-bottom:18px;padding:18px;border-radius:20px!important;background:linear-gradient(135deg,rgba(217,37,29,.08),rgba(240,162,74,.08))!important;border-color:rgba(240,162,74,.18)!important}.reservation-admin-toolbar input,.reservation-admin-toolbar select,.admin-table select{background:#fff;color:#111827;border:1px solid #ead9c8;border-radius:13px;padding:12px 13px;min-height:44px}.reservation-actions{display:flex;gap:8px;flex-wrap:wrap}.reservation-actions .btn{min-height:34px}.btn-small{padding:8px 11px!important;font-size:12px!important;border-radius:10px!important}.status-danger{background:#ef4444!important}.reservation-floor-admin-card{padding:20px;max-height:720px;overflow-x:hidden!important;overflow-y:auto!important;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(240,162,74,.05));border-radius:22px!important}.admin-reservation-floor{width:1100px;height:620px;background:#fff7e9;border:9px solid #74401f;border-radius:10px;margin:12px auto 30px;position:relative;box-shadow:inset 0 0 40px rgba(74,40,21,.08),0 15px 35px rgba(0,0,0,.12);transform-origin:top left}.admin-reservation-floor:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px);background-size:46px 46px;pointer-events:none}.admin-floor-table{position:absolute;background:linear-gradient(135deg,#8a4b26,#6d3518);color:#fff;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 16px 28px rgba(65,38,22,.32);padding:10px}.admin-floor-table.round{border-radius:50%}.admin-floor-table strong{font-size:19px}.admin-floor-table small{margin-top:4px;font-weight:800}.floor-entrance-admin{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);font-weight:900;color:#111827;background:#fff7e9;padding:4px 16px}.reservation-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:18px}.reservation-source-list{display:grid;gap:10px;margin-top:15px}.reservation-source-list div{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.08);border:1px solid var(--admin-border);padding:12px;border-radius:12px}.reservation-checkout-modal .admin-modal{border-radius:24px}.reservation-checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reservation-checkout-box{background:rgba(217,37,29,.06);border:1px solid rgba(240,162,74,.20);border-radius:18px;padding:16px}.reservation-checkout-box h3{margin:0 0 12px;font-size:16px}.reservation-checkout-box.full{grid-column:1/-1}@media(max-width:1000px){.reservation-admin-toolbar{grid-template-columns:1fr}.admin-reservation-floor{transform:scale(.72);margin-left:0;margin-right:0}.reservation-floor-admin-card{height:570px}.reservation-actions{display:grid}.reservation-actions .btn{width:100%}.reservation-checkout-grid{grid-template-columns:1fr}}@media(max-width:560px){#reservations-page .page-header,#reservation-tables-page .page-header,#reservation-floor-plan-page .page-header,#reservation-settings-page .page-header,#reservation-payments-page .page-header,#reservation-reports-page .page-header{padding:16px;border-radius:16px}.admin-reservation-floor{transform:scale(.40)}.reservation-floor-admin-card{height:480px;padding:12px}.admin-table{min-width:820px}.page-actions{display:grid;width:100%;gap:10px}.page-actions .btn{width:100%}}

.reservation-template-admin-row{
    display:grid;
    grid-template-columns:minmax(260px,420px) minmax(280px,1fr);
    gap:22px;
    align-items:stretch;
    padding:18px;
    margin-bottom:20px;
    border:1px solid rgba(240,162,74,.24);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(217,37,29,.09),rgba(255,247,237,.10));
}
.reservation-template-admin-left,
.reservation-template-admin-right{
    border-radius:18px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.08);
    padding:18px;
}
.reservation-template-admin-left label{
    display:block;
    color:var(--admin-text-primary);
    font-size:15px;
    font-weight:900;
    margin-bottom:10px;
}
.reservation-template-admin-left select{
    width:100%;
    min-height:50px;
    border-radius:14px;
    border:1px solid #ead9c8;
    padding:0 14px;
    background:#fff;
    color:#111827;
    font-weight:800;
}
.reservation-template-admin-left small{
    display:block;
    margin-top:10px;
    color:var(--admin-text-secondary);
    line-height:1.5;
}
.reservation-template-admin-right{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,rgba(0,0,0,.08),rgba(255,255,255,.05));
}
.reservation-template-admin-right img{
    width:100%;
    max-height:280px;
    object-fit:contain;
    border-radius:18px;
    box-shadow:0 18px 44px rgba(0,0,0,.20);
    background:#fff;
}
@media(max-width:900px){
    .reservation-template-admin-row{grid-template-columns:1fr;padding:14px;gap:14px}
    .reservation-template-admin-right img{max-height:220px}
}

.reservation-template-admin-row{grid-template-columns:minmax(280px,430px) minmax(420px,1fr);align-items:start;border-color:rgba(245,184,90,.32)}
.reservation-template-admin-left{position:sticky;top:18px}.reservation-template-admin-left select{min-height:56px;font-size:14px;border:1px solid rgba(245,184,90,.5);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.reservation-template-admin-left small{font-size:12px;line-height:1.55}.reservation-template-admin-right{padding:14px;background:#0f172a;border-color:rgba(148,163,184,.24)}
.reservation-template-admin-right img{max-height:420px;border-radius:22px;object-fit:contain;background:#fff;width:100%;box-shadow:0 22px 70px rgba(0,0,0,.32)}
@media(max-width:1100px){.reservation-template-admin-row{grid-template-columns:1fr}.reservation-template-admin-left{position:static}.reservation-template-admin-right img{max-height:300px}}

.reservation-template-admin-row{
    display:grid!important;
    grid-template-columns:minmax(280px,430px) minmax(420px,1fr)!important;
    gap:22px!important;
    align-items:start!important;
    padding:22px!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,rgba(227,31,36,.10),rgba(245,184,90,.08))!important;
    border:1px solid rgba(245,184,90,.32)!important;
}
.reservation-template-admin-left{
    position:sticky;
    top:18px;
    background:#111827!important;
    border:1px solid rgba(148,163,184,.22)!important;
    border-radius:20px!important;
    padding:18px!important;
}
.reservation-template-admin-left label{display:block;color:#fff;font-size:16px;font-weight:900;margin-bottom:10px}
.reservation-template-admin-left select{width:100%;min-height:58px;font-size:15px;font-weight:900;border:1px solid rgba(245,184,90,.55)!important;border-radius:14px!important;background:#fff!important;color:#111827!important;padding:0 14px!important;box-shadow:0 14px 34px rgba(0,0,0,.18)!important}
.reservation-template-admin-left small{display:block;margin-top:12px;font-size:12px;line-height:1.6;color:#cbd5e1!important}
.reservation-template-admin-right{padding:16px!important;background:#0f172a!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:22px!important;min-height:360px!important;display:grid!important;place-items:center!important}
.reservation-template-admin-right img{width:100%!important;max-height:520px!important;object-fit:contain!important;border-radius:24px!important;background:#fff!important;box-shadow:0 28px 80px rgba(0,0,0,.36)!important}
@media(max-width:1100px){.reservation-template-admin-row{grid-template-columns:1fr!important}.reservation-template-admin-left{position:static}.reservation-template-admin-right img{max-height:360px!important}}
@media(max-width:620px){.reservation-template-admin-row{padding:14px!important}.reservation-template-admin-right{min-height:220px!important;padding:10px!important}.reservation-template-admin-right img{max-height:240px!important;border-radius:16px!important}}

.reservation-floor-helpbar{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    justify-content:space-between;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid rgba(240,162,74,.22);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(217,37,29,.10),rgba(240,162,74,.10));
    color:#f8fafc;
}
.reservation-floor-helpbar span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#e5edf7;
    font-size:13px;
    font-weight:800;
}
.reservation-floor-helpbar span:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#10b981;
    box-shadow:0 0 0 4px rgba(16,185,129,.14);
}
#reservation-floor-save-status{
    min-width:96px;
    text-align:center;
    padding:7px 12px;
    border-radius:999px;
    background:#162033;
    color:#c7d2fe;
    font-size:13px;
    font-weight:900;
}
#reservation-floor-save-status[data-state="saving"]{
    background:#3b2b13;
    color:#fbbf24;
}
#reservation-floor-save-status[data-state="saved"]{
    background:#0f2f23;
    color:#34d399;
}
#reservation-floor-save-status[data-state="error"]{
    background:#3b1111;
    color:#f87171;
}
.admin-reservation-floor{
    user-select:none;
    overflow:hidden;
}
.admin-floor-table{
    cursor:grab;
    touch-action:none;
    transition:box-shadow .18s ease, outline-color .18s ease, filter .18s ease;
    z-index:2;
}
.admin-floor-table:hover{
    outline:3px solid rgba(240,162,74,.55);
    filter:brightness(1.06);
}
.admin-floor-table.is-dragging{
    cursor:grabbing;
    z-index:20;
    outline:4px solid rgba(217,37,29,.72);
    box-shadow:0 24px 42px rgba(217,37,29,.28),0 18px 34px rgba(0,0,0,.28)!important;
}
.admin-floor-position-badge{
    position:absolute;
    left:50%;
    bottom:-26px;
    transform:translateX(-50%);
    white-space:nowrap;
    min-width:88px;
    padding:4px 8px;
    border-radius:999px;
    background:#111827;
    color:#fff;
    font-style:normal;
    font-size:11px;
    font-weight:900;
    opacity:0;
    pointer-events:none;
    box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.admin-floor-table:hover .admin-floor-position-badge,
.admin-floor-table.is-dragging .admin-floor-position-badge{
    opacity:1;
}
@media(max-width:560px){
    .reservation-floor-helpbar{
        display:grid;
        grid-template-columns:1fr;
        align-items:stretch;
    }
    #reservation-floor-save-status{
        width:100%;
    }
}

.reservation-floor-admin-card{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.admin-reservation-floor{will-change:transform}
.admin-floor-table{cursor:grab;user-select:none;touch-action:none}
.admin-floor-table.is-dragging{cursor:grabbing;opacity:.96;box-shadow:0 26px 45px rgba(0,0,0,.28)!important;z-index:6}
.admin-floor-position-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px;margin-top:8px;font-style:normal}
.floor-bg-warm-wood.admin-reservation-floor.has-photo-floor .admin-floor-table,.floor-bg-artisan-lamps.admin-reservation-floor.has-photo-floor .admin-floor-table{background:linear-gradient(135deg,rgba(117,68,35,.92),rgba(72,39,20,.94))!important;border-color:rgba(255,215,140,.32)!important}
.floor-bg-urban-brick.admin-reservation-floor.has-photo-floor .admin-floor-table{background:linear-gradient(135deg,rgba(61,35,25,.95),rgba(38,21,16,.96))!important;border-color:rgba(255,214,153,.22)!important}
@media (max-width: 1000px){
  .reservation-floor-admin-card{padding:14px;height:560px}
  .admin-floor-table strong{font-size:16px}
  .admin-floor-table small{font-size:12px}
}
@media (max-width: 560px){
  .reservation-floor-admin-card{padding:10px;height:460px;border-radius:18px!important}
  .admin-reservation-floor{transform:scale(.46)!important;transform-origin:top left;margin-top:8px;margin-bottom:14px}
}

.reservation-floor-upload-box{margin-top:16px;padding:15px;border:1px solid rgba(240,162,74,.22);border-radius:16px;background:rgba(255,255,255,.06);display:grid;gap:10px}
.reservation-floor-upload-box label{font-weight:800;color:var(--admin-text, #fff)}
.reservation-floor-upload-box input[type=file]{display:block;padding:12px;border:1px dashed rgba(240,162,74,.35);border-radius:13px;background:rgba(255,255,255,.04);color:inherit}
.reservation-floor-upload-box .btn{width:max-content;min-height:40px}.reservation-floor-upload-box .field-note{display:block;color:var(--admin-muted, #94a3b8);line-height:1.45}.reservation-floor-upload-box .settings-save-status{min-height:20px}
@media(max-width:700px){.reservation-floor-upload-box .btn{width:100%}}

#mail-settings-page .page-header,#mail-triggers-page .page-header,#mail-templates-page .page-header,#mail-reports-page .page-header{background:linear-gradient(135deg,rgba(217,37,29,.14),rgba(16,185,129,.08));border:1px solid rgba(240,162,74,.18);border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 16px 36px rgba(0,0,0,.08)}
.mail-admin-card{border-radius:22px!important;overflow:hidden}.mail-smtp-box{margin-top:18px;padding:18px;border:1px solid rgba(240,162,74,.18);border-radius:18px;background:rgba(255,255,255,.04)}.mail-smtp-box h3{margin:0 0 14px}.mail-trigger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.mail-trigger-group{border:1px solid var(--admin-border);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}.mail-trigger-group h3{margin:0 0 12px}.mail-trigger-item{display:flex;gap:12px;align-items:flex-start;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.08);margin-bottom:9px;cursor:pointer}.mail-trigger-item:hover{background:rgba(255,255,255,.05)}.mail-trigger-item input{width:18px;height:18px;margin-top:3px}.mail-trigger-item strong{display:block}.mail-trigger-item small{display:block;color:var(--admin-muted);margin-top:3px}.mail-admin-toolbar{grid-template-columns:minmax(220px,1fr) 110px auto!important}.mail-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;padding:16px 0}.mail-variable-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;border:1px solid var(--admin-border);border-radius:16px;padding:14px;background:rgba(255,255,255,.04)}.mail-variable-box strong{display:block;margin-bottom:8px}.mail-variable-box p{display:flex;gap:7px;flex-wrap:wrap;margin:0}.mail-var-chip{border:1px solid rgba(240,162,74,.3);background:rgba(240,162,74,.12);color:var(--admin-text);padding:6px 8px;border-radius:999px;cursor:pointer;font-size:12px}.mail-var-chip:hover{background:rgba(240,162,74,.22)}.admin-table td small{display:block;color:var(--admin-muted);margin-top:4px}.admin-table input[type="checkbox"]{width:18px;height:18px}.status-badge.status-danger{background:rgba(239,68,68,.15);color:#ef4444;border-color:rgba(239,68,68,.35)}@media(max-width:760px){.mail-admin-toolbar{grid-template-columns:1fr!important}.mail-pagination{justify-content:stretch}.mail-pagination .btn{flex:1}.mail-trigger-grid{grid-template-columns:1fr}.mail-variable-box{grid-template-columns:1fr}}

.table-icon-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.icon-action{width:38px;height:38px;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s ease;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.14)}
.icon-action.edit{background:#35c985}.icon-action.delete{background:#ef4444}.icon-action.view{background:#3b82f6}.icon-action:hover{transform:translateY(-1px);filter:brightness(.98)}
.status-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.status-switch input{position:absolute;opacity:0;pointer-events:none}.status-switch span{width:48px;height:26px;border-radius:999px;background:#6b7280;position:relative;transition:.18s ease;box-shadow:inset 0 1px 3px rgba(0,0,0,.25)}
.status-switch span:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s ease;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.status-switch input:checked+span{background:#10b981}.status-switch input:checked+span:before{transform:translateX(22px)}.status-switch b{font-size:13px;color:#dbeafe;min-width:56px}
.role-mail-trigger-group{background:linear-gradient(135deg,rgba(15,23,42,.72),rgba(31,41,55,.70));border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:16px;box-shadow:0 14px 30px rgba(0,0,0,.12)}
.mail-trigger-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mail-trigger-heading h3{margin:0;font-size:16px}.mail-trigger-heading small{color:#93c5fd;font-weight:800}
.mail-trigger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.mail-trigger-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.17);border-radius:14px;background:rgba(255,255,255,.04);margin-bottom:9px}.mail-trigger-item input{width:18px;height:18px;accent-color:#10b981}.mail-trigger-item strong{display:block}.mail-trigger-item small{display:block;color:#9ca3af;margin-top:4px}
.mail-template-edit-panel{margin-top:18px;border:1px solid rgba(148,163,184,.22);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));padding:20px;box-shadow:0 18px 44px rgba(0,0,0,.12)}
.mail-template-edit-panel[hidden]{display:none!important}.mail-variable-box{display:grid;gap:12px}.mail-variable-box>div{border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:12px;background:rgba(255,255,255,.04)}.mail-variable-box p{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 0}.mail-var-chip{border:1px solid rgba(59,130,246,.35);border-radius:999px;background:rgba(59,130,246,.12);color:#bfdbfe;padding:6px 10px;font-size:12px;font-weight:800;cursor:pointer}
#mail-reports-page .admin-table th,#mail-reports-page .admin-table td{padding:10px 12px;font-size:13px}#mail-reports-page .admin-table td small{display:block;color:#9ca3af;line-height:1.35;max-width:260px;white-space:normal}.mail-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px}.mail-pagination span{font-size:13px;color:#a5b4fc;font-weight:800}.mail-admin-toolbar{grid-template-columns:minmax(220px,1fr) 150px auto!important}
.admin-modal{padding:26px!important}.admin-modal-wide{max-width:min(1040px,94vw)!important}.modal-title-row{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(148,163,184,.18)}.admin-order-view-body{padding:14px 4px}.modal-actions{padding-top:16px;margin-top:16px;border-top:1px solid rgba(148,163,184,.16)}
.tox-tinymce{border-radius:14px!important;border-color:rgba(148,163,184,.28)!important;overflow:hidden}.classic-editor-field{min-height:180px}.form-group.full-width .tox-tinymce{margin-top:8px}
.mail-smtp-box{margin-top:18px;padding:18px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.04)}.mail-smtp-box h3{margin:0 0 14px}.mail-admin-card .form-grid{gap:16px}.mail-admin-card input,.mail-admin-card select,.mail-admin-card textarea{border-radius:12px!important}
@media(max-width:780px){.mail-admin-toolbar{grid-template-columns:1fr!important}.mail-pagination{justify-content:center;flex-wrap:wrap}.icon-action{width:36px;height:36px}.mail-trigger-grid{grid-template-columns:1fr}.status-switch b{display:none}}

.reservation-floor-bg-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.icon-inline-btn{display:inline-flex!important;align-items:center!important;gap:7px!important}.reservation-template-admin-right{gap:12px}.floor-template-preview{width:100%;min-height:110px;border-radius:16px;border:1px solid rgba(148,163,184,.25);display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#111922,#0c1218);box-shadow:inset 0 0 34px rgba(255,255,255,.05)}.floor-template-preview span{background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 16px}
.admin-reservation-floor[class*="floor-template-"]{width:var(--admin-reservation-floor-width,1000px)!important;height:var(--admin-reservation-floor-height,420px)!important;background-color:var(--floor-base,#101820)!important;background-image:var(--floor-pattern),linear-gradient(135deg,var(--floor-one,#111922),var(--floor-two,#0c1218))!important;background-size:cover,auto!important;background-position:center!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:18px!important;overflow:hidden!important}.admin-reservation-floor[class*="floor-template-"]::before{display:none!important}.admin-reservation-floor[class*="floor-template-"]::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 0,rgba(255,255,255,.08),transparent 30%),radial-gradient(circle at 100% 100%,rgba(0,0,0,.22),transparent 34%);pointer-events:none;z-index:1}.admin-reservation-floor.has-photo-floor[class*="floor-template-"]{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.admin-reservation-floor[class*="floor-template-"] .floor-entrance-admin{display:none!important}.admin-reservation-floor[class*="floor-template-"] .admin-floor-table{position:absolute!important;width:var(--reservation-table-width,142px)!important;height:var(--reservation-table-height,116px)!important;transform:translate(-50%,-50%)!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;z-index:3!important;cursor:grab!important;color:#fff!important;--seat-primary:var(--template-primary,#20d77a);--seat-secondary:var(--template-secondary,#8b5cf6);--seat-glow:var(--template-glow,rgba(32,215,122,.35))}.admin-reservation-floor[class*="floor-template-"] .admin-floor-table.is-dragging{cursor:grabbing!important;z-index:20!important}.admin-reservation-floor[class*="floor-template-"] .admin-floor-table::before{content:"";position:absolute;inset:7px 8px 12px;border-radius:999px;background:conic-gradient(from var(--template-angle,30deg),var(--seat-primary) 0deg 92deg,transparent 93deg 124deg,var(--seat-secondary) 125deg 235deg,transparent 236deg 280deg,var(--seat-primary) 281deg 360deg);-webkit-mask:radial-gradient(ellipse at center,transparent 0 41%,#000 43% 100%);mask:radial-gradient(ellipse at center,transparent 0 41%,#000 43% 100%);filter:drop-shadow(0 0 14px var(--seat-glow));opacity:.94;pointer-events:none}.admin-reservation-floor[class*="floor-template-"] .admin-floor-table::after{content:"";position:absolute;left:50%;top:52%;width:52%;height:40%;border-radius:999px;transform:translate(-50%,-50%);background:var(--template-table,radial-gradient(circle at 45% 35%,rgba(255,255,255,.34),rgba(255,255,255,.08) 38%,rgba(3,10,18,.72) 100%));border:1px solid var(--template-table-border,rgba(255,255,255,.14));box-shadow:0 12px 25px rgba(0,0,0,.24);pointer-events:none;z-index:1}.admin-reservation-floor[class*="floor-template-"] .admin-floor-table strong{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);z-index:4;min-width:62px;min-height:28px;padding:8px 10px;border-radius:10px;background:var(--template-label,rgba(10,18,28,.88));border:1px solid var(--template-label-border,rgba(255,255,255,.2));color:var(--template-label-color,#fff);box-shadow:0 8px 18px rgba(0,0,0,.22);display:grid;place-items:center;font-size:10px!important;line-height:1;white-space:nowrap}.admin-reservation-floor[class*="floor-template-"] .admin-floor-table small{position:absolute;left:50%;top:calc(100% + 4px);transform:translateX(-50%);font-size:10px!important;background:rgba(255,255,255,.94);color:#111827;border-radius:999px;padding:3px 7px;z-index:5}.admin-reservation-floor[class*="floor-template-"] .admin-floor-position-badge{position:absolute;right:-18px;bottom:-22px;background:rgba(0,0,0,.58)!important;color:#fff!important;border-radius:999px;padding:3px 7px;font-size:9px!important;z-index:6;white-space:nowrap}.admin-floor-seat{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--template-seat,#fff);color:var(--template-seat-text,#111827);border:2px solid var(--template-seat-border,rgba(255,255,255,.9));box-shadow:0 6px 14px rgba(0,0,0,.22);font-size:8px;font-weight:900;display:grid;place-items:center;z-index:5;transform:translate(-50%,-50%)}.admin-floor-seat.s1{left:50%;top:11%}.admin-floor-seat.s2{left:14%;top:51%}.admin-floor-seat.s3{left:86%;top:51%}.admin-floor-seat.s4{left:50%;top:91%}.admin-reservation-floor[class*="floor-template-"] .admin-floor-table.tone-2,.admin-reservation-floor[class*="floor-template-"] .admin-floor-table.tone-4{--seat-primary:var(--template-secondary,#8b5cf6);--seat-secondary:var(--template-primary,#20d77a)}
.admin-reservation-floor.floor-template-template_1,.floor-template-preview.floor-template-template_1{--floor-one:#111922;--floor-two:#0c1218;--floor-pattern:radial-gradient(circle at 18% 25%,rgba(32,215,122,.20),transparent 24%),radial-gradient(circle at 48% 25%,rgba(139,92,246,.22),transparent 26%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);--template-primary:#20d77a;--template-secondary:#8b5cf6;--template-glow:rgba(32,215,122,.38)}
.admin-reservation-floor.floor-template-template_2,.floor-template-preview.floor-template-template_2{--floor-one:#2a1b11;--floor-two:#11100c;--floor-pattern:linear-gradient(90deg,rgba(255,214,157,.08) 1px,transparent 1px);--template-primary:#b88752;--template-secondary:#e8c49a;--template-table:linear-gradient(135deg,#6f4328,#2d1b11);--template-label:#3a2517;--template-seat:#fff3df;--template-seat-text:#3a2517}
.admin-reservation-floor.floor-template-template_3,.floor-template-preview.floor-template-template_3{--floor-one:#101214;--floor-two:#050607;--floor-pattern:radial-gradient(circle at 50% 50%,rgba(255,255,255,.06),transparent 36%);--template-primary:#f8fafc;--template-secondary:#d1d5db;--template-table:rgba(7,10,14,.86);--template-label:#05070a;--template-seat:#fff;--template-seat-text:#111827}
.admin-reservation-floor.floor-template-template_4,.floor-template-preview.floor-template-template_4{--floor-one:#06263d;--floor-two:#02111c;--floor-pattern:radial-gradient(circle at 50% 40%,rgba(59,179,255,.18),transparent 36%);--template-primary:#38bdf8;--template-secondary:#0ea5e9;--template-glow:rgba(56,189,248,.38);--template-seat:#e0f2fe;--template-seat-text:#075985}
.admin-reservation-floor.floor-template-template_5,.floor-template-preview.floor-template-template_5{--floor-one:#242424;--floor-two:#0f0f0f;--floor-pattern:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);--template-primary:#a8835a;--template-secondary:#3f3f46;--template-table:#111827;--template-label:#111827;--template-seat:#f5f5f4;--template-seat-text:#1c1917}
.admin-reservation-floor.floor-template-template_6,.floor-template-preview.floor-template-template_6{--floor-one:#172515;--floor-two:#0c140b;--floor-pattern:radial-gradient(circle at 12% 12%,rgba(34,197,94,.22),transparent 28%);--template-primary:#4ade80;--template-secondary:#65a30d;--template-table:linear-gradient(135deg,#8b5e34,#4b2e17);--template-seat:#ecfdf5;--template-seat-text:#14532d}
.admin-reservation-floor.floor-template-template_7,.floor-template-preview.floor-template-template_7{--floor-one:#082747;--floor-two:#061626;--floor-pattern:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);--template-primary:#2563eb;--template-secondary:#f59e0b;--template-table:linear-gradient(135deg,#f8fafc,#dbeafe);--template-label:#0f2b4d;--template-seat:#eff6ff;--template-seat-text:#0f2b4d}
.admin-reservation-floor.floor-template-template_8,.floor-template-preview.floor-template-template_8{--floor-one:#f5dfbf;--floor-two:#c47a3a;--template-primary:#b45309;--template-secondary:#92400e;--template-table:#fff7ed;--template-label:#7c2d12;--template-seat:#ffedd5;--template-seat-text:#7c2d12}
.admin-reservation-floor.floor-template-template_9,.floor-template-preview.floor-template-template_9{--floor-one:#111827;--floor-two:#020617;--floor-pattern:radial-gradient(circle at 26% 30%,rgba(236,72,153,.20),transparent 26%);--template-primary:#ec4899;--template-secondary:#f59e0b;--template-glow:rgba(236,72,153,.42);--template-label:#111827;--template-seat:#fff7ed;--template-seat-text:#111827}
.admin-reservation-floor.floor-template-template_10,.floor-template-preview.floor-template-template_10{--floor-one:#dfe9d3;--floor-two:#8ca675;--template-primary:#166534;--template-secondary:#86efac;--template-table:#f7fee7;--template-label:#14532d;--template-seat:#f0fdf4;--template-seat-text:#14532d}
.admin-reservation-floor.floor-template-template_11,.floor-template-preview.floor-template-template_11{--floor-one:#fff7ed;--floor-two:#fde68a;--template-primary:#f97316;--template-secondary:#14b8a6;--template-label:#7c2d12;--template-seat:#fff7ed;--template-seat-text:#7c2d12}
.admin-reservation-floor.floor-template-template_12,.floor-template-preview.floor-template-template_12{--floor-one:#f8fafc;--floor-two:#e5e7eb;--floor-pattern:linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);--template-primary:#111827;--template-secondary:#6b7280;--template-table:#111827;--template-label:#111827;--template-seat:#fff;--template-seat-text:#111827}
@media(max-width:1000px){.admin-reservation-floor[class*="floor-template-"]{transform:scale(.72)!important;transform-origin:top left}}@media(max-width:560px){.admin-reservation-floor[class*="floor-template-"]{transform:scale(.42)!important}}
.floor-template-preview[class*="floor-template-"]{background-color:var(--floor-base,#101820)!important;background-image:var(--floor-pattern),linear-gradient(135deg,var(--floor-one,#111922),var(--floor-two,#0c1218))!important;background-size:cover,auto!important;background-position:center!important}

.admin-reservation-floor.has-photo-floor[class*="floor-template-"]{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.admin-reservation-floor.has-photo-floor[class*="floor-template-"]::after{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18))!important}.floor-template-preview[class*="floor-template-"]{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.admin-reservation-floor.floor-template-template_13,.floor-template-preview.floor-template-template_13{--floor-one:#2c1b12;--floor-two:#100906;--floor-pattern:radial-gradient(circle at 12% 20%,rgba(250,204,21,.16),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);--template-primary:#f59e0b;--template-secondary:#22c55e;--template-glow:rgba(245,158,11,.35);--template-table:linear-gradient(135deg,#fff7ed,#d6b48a);--template-label:rgba(31,24,18,.78);--template-seat:#fff7ed;--template-seat-text:#7c2d12}.admin-reservation-floor.floor-template-template_14,.floor-template-preview.floor-template-template_14{--floor-one:#1c1917;--floor-two:#0c0a09;--floor-pattern:radial-gradient(circle at 80% 20%,rgba(34,197,94,.16),transparent 26%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);--template-primary:#d97706;--template-secondary:#16a34a;--template-glow:rgba(217,119,6,.32);--template-table:linear-gradient(135deg,#d6b48a,#8b5e34);--template-label:rgba(33,26,20,.82);--template-seat:#e9d5b8;--template-seat-text:#3a2517}.admin-reservation-floor.floor-template-template_15,.floor-template-preview.floor-template-template_15{--floor-one:#f8fafc;--floor-two:#dbeafe;--floor-pattern:linear-gradient(90deg,rgba(15,23,42,.045) 1px,transparent 1px);--template-primary:#0284c7;--template-secondary:#22c55e;--template-glow:rgba(14,165,233,.30);--template-table:linear-gradient(135deg,#ffffff,#dbeafe);--template-label:rgba(8,47,73,.82);--template-seat:#ffffff;--template-seat-text:#075985}.admin-reservation-floor.floor-template-template_16,.floor-template-preview.floor-template-template_16{--floor-one:#111827;--floor-two:#020617;--floor-pattern:radial-gradient(circle at 50% 20%,rgba(245,158,11,.18),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);--template-primary:#f59e0b;--template-secondary:#8b5cf6;--template-glow:rgba(245,158,11,.36);--template-table:linear-gradient(135deg,#3f3f46,#111827);--template-label:rgba(0,0,0,.78);--template-seat:#fff7ed;--template-seat-text:#111827}

.reservation-cosmic-shell .floor-plan,
.reservation-cosmic-shell .cosmic-floor-plan,
.admin-reservation-floor {
    width: var(--reservation-floor-width, 100%) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: var(--reservation-floor-height, 500px) !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
    background-color: var(--floor-base, #101820) !important;
    background-image: var(--floor-pattern), linear-gradient(135deg, var(--floor-one, #111922), var(--floor-two, #0c1218)) !important;
    background-size: cover, auto !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    transform: none !important;
}
.admin-reservation-floor {
    width: var(--admin-reservation-floor-width, 100%) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: var(--admin-reservation-floor-height, 500px) !important;
}
.reservation-cosmic-shell .floor-plan[style],
.admin-reservation-floor[style],
.reservation-cosmic-shell .floor-plan.has-photo-floor,
.admin-reservation-floor.has-photo-floor {
    background-image: var(--floor-pattern), linear-gradient(135deg, var(--floor-one, #111922), var(--floor-two, #0c1218)) !important;
    background-size: cover, auto !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.reservation-cosmic-shell .floor-plan.has-photo-floor::before,
.reservation-cosmic-shell .floor-plan.has-photo-floor::after,
.admin-reservation-floor.has-photo-floor::before,
.admin-reservation-floor.has-photo-floor::after {
    display: none !important;
    content: none !important;
}
.reservation-cosmic-shell .floor-plan-wrap,
.reservation-cosmic-shell .cosmic-floor-wrap {
    overflow: auto !important;
    max-width: 100% !important;
}
.reservation-cosmic-shell .reservation-table-cluster,
.admin-reservation-floor .reservation-table-cluster,
.admin-reservation-floor .admin-floor-table {
    position: absolute !important;
    transform: translate(-50%, -50%) !important;
    z-index: 4 !important;
}
@media (max-width: 760px) {
    .reservation-cosmic-shell .floor-plan,
    .admin-reservation-floor {
        width: 100% !important;
        min-width: 0 !important;
    }
}