:root {
            --dash-ink: #0c1b2a;
            --dash-slate: #16283d;
            --dash-mint: #00a896;
            --dash-gold: #f1c40f;
            --dash-gold-strong: #e4b800;
            --dash-gold-soft: rgba(241, 196, 15, 0.2);
            --dash-sky: #4ea8de;
            --dash-surface: #fffde7;
            --dash-panel: rgba(255, 255, 255, 0.82);
            --dash-panel-border: rgba(206, 167, 5, 0.22);
        }

        body {
            -webkit-tap-highlight-color: transparent;
            font-family: system-ui, -apple-system, sans-serif;
            color: var(--dash-ink);
            background:
                radial-gradient(860px 340px at 42% -14%, rgba(241, 196, 15, 0.24), transparent 58%),
                radial-gradient(1120px 520px at 118% 14%, rgba(255, 255, 255, 0.46), transparent 60%),
                linear-gradient(180deg, #fffef4 0%, #fffde7 48%, #fff8d7 100%);
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: system-ui, -apple-system, sans-serif;
            letter-spacing: -0.01em;
        }

        #login-screen {
            background:
                radial-gradient(860px 380px at 18% -12%, rgba(255, 255, 255, 0.42), transparent 55%),
                radial-gradient(920px 460px at 100% 108%, rgba(12, 27, 42, 0.14), transparent 58%),
                linear-gradient(180deg, #f4cd27 0%, #f1c40f 48%, #ebb705 100%);
        }

        .login-panel {
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(241, 196, 15, 0.38);
            box-shadow: 0 34px 74px -44px rgba(9, 20, 37, 0.66), 0 0 0 1px rgba(241, 196, 15, 0.18) inset;
            backdrop-filter: blur(12px);
        }

        body.admin-auth-loading #login-screen,
        body.admin-auth-loading #admin-layout {
            visibility: hidden;
        }

        #admin-auth-loading-screen {
            position: fixed;
            inset: 0;
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 60;
            background:
                radial-gradient(860px 380px at 18% -12%, rgba(255, 255, 255, 0.42), transparent 55%),
                radial-gradient(920px 460px at 100% 108%, rgba(12, 27, 42, 0.14), transparent 58%),
                linear-gradient(180deg, #f4cd27 0%, #f1c40f 48%, #ebb705 100%);
        }

        body.admin-auth-loading #admin-auth-loading-screen {
            display: flex;
        }

        .admin-auth-loading-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 16px;
            padding: 32px 28px;
            width: min(92vw, 360px);
            border-radius: 24px;
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(241, 196, 15, 0.38);
            box-shadow: 0 34px 74px -44px rgba(9, 20, 37, 0.66), 0 0 0 1px rgba(241, 196, 15, 0.18) inset;
            backdrop-filter: blur(12px);
            text-align: center;
        }

        .admin-auth-loading-spinner {
            width: 44px;
            height: 44px;
            border-radius: 999px;
            border: 4px solid rgba(15, 34, 55, 0.12);
            border-top-color: var(--dash-gold);
            animation: adminSpin 0.9s linear infinite;
        }

        @keyframes adminSpin {
            to { transform: rotate(360deg); }
        }

        .login-brand-logo {
            height: 78px;
            width: auto;
            margin: 0 auto 8px;
            filter: drop-shadow(0 8px 16px rgba(228, 184, 0, 0.18));
        }

        .btn-brand-gold {
            background: linear-gradient(90deg, #f1c40f 0%, #f8d546 100%);
            color: #0d1c2c;
            box-shadow: 0 12px 26px -18px rgba(228, 184, 0, 0.72);
        }

        .btn-brand-gold:hover {
            background: linear-gradient(90deg, #efc000 0%, #f6cf32 100%);
        }

        #admin-layout::before {
            content: '';
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(90deg, rgba(241, 196, 15, 0.18) 0%, rgba(241, 196, 15, 0.04) 24%, rgba(241, 196, 15, 0) 44%);
            z-index: 0;
        }

        #admin-sidebar {
            width: 16rem;
            min-width: 16rem;
            color: #4b3500;
            background:
                radial-gradient(480px 220px at 18% -4%, rgba(255, 255, 255, 0.34), transparent 58%),
                linear-gradient(180deg, #f6d54f 0%, #f1c40f 52%, #eab406 100%);
            border-right: 1px solid rgba(143, 104, 0, 0.16);
            box-shadow: 12px 0 40px -32px rgba(125, 91, 0, 0.45);
            transition: width 220ms ease, min-width 220ms ease, transform 300ms ease-in-out;
        }

        .sidebar-header {
            min-height: 112px;
            gap: 12px;
        }

        .sidebar-brand-shell {
            display: flex;
            align-items: center;
            min-width: 0;
        }

        .sidebar-brand-logo {
            height: 60px;
            width: auto;
            margin-bottom: 0;
            filter: drop-shadow(0 6px 14px rgba(126, 92, 0, 0.16));
        }

        .sidebar-brand-logo-icon {
            display: none;
            width: 46px;
            height: 46px;
            object-fit: contain;
            filter: drop-shadow(0 8px 16px rgba(126, 92, 0, 0.22));
        }

        .sidebar-collapse-toggle {
            width: 36px;
            height: 36px;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(126, 92, 0, 0.2);
            color: rgba(74, 52, 0, 0.72);
            background: rgba(255, 255, 255, 0.42);
            box-shadow: 0 12px 24px -20px rgba(84, 60, 0, 0.46);
            transition: color 160ms ease, background 160ms ease, transform 160ms ease, border-color 160ms ease;
        }

        .sidebar-collapse-toggle:hover,
        .sidebar-collapse-toggle:focus-visible {
            color: #241900;
            background: rgba(255, 255, 255, 0.7);
            border-color: rgba(126, 92, 0, 0.34);
        }

        .sidebar-collapse-toggle:active {
            transform: scale(0.96);
        }

        .sidebar-collapse-toggle i {
            font-size: 1.05rem;
            line-height: 1;
        }

        .sidebar-divider {
            border-color: rgba(126, 92, 0, 0.16);
        }

        .sidebar-mobile-close {
            color: rgba(94, 67, 0, 0.68);
        }

        .sidebar-mobile-close:hover {
            color: #2f2200;
        }

        .sidebar-logout-btn {
            color: #5f4400;
            gap: 10px;
            overflow: hidden;
        }

        .sidebar-logout-btn:hover {
            color: #201700;
            background: rgba(255, 255, 255, 0.34);
        }

        .sidebar-logout-icon {
            flex: 0 0 auto;
        }

        .sidebar-logout-label {
            white-space: nowrap;
            transition: opacity 160ms ease, width 160ms ease;
        }

        #admin-topbar {
            background: rgba(255, 255, 255, 0.76);
            border: 1px solid rgba(241, 196, 15, 0.3);
            backdrop-filter: blur(12px);
            box-shadow: 0 18px 48px -38px rgba(123, 90, 0, 0.34);
        }

        .admin-topbar-title {
            display: flex;
            align-items: center;
            min-width: 0;
            flex: 1 1 auto;
        }

        .admin-topbar-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex: 0 0 auto;
        }

        .topbar-brand-mark {
            width: 26px;
            height: 26px;
            border-radius: 8px;
            background: linear-gradient(135deg, #f1c40f 0%, #f7d75a 100%);
            color: #0f2237;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 10px 20px -16px rgba(228, 184, 0, 0.9);
        }

        #admin-main {
            position: relative;
            z-index: 1;
            background: transparent;
        }

        .admin-panel {
            background: var(--dash-panel);
            border: 1px solid var(--dash-panel-border);
            border-top: 3px solid rgba(241, 196, 15, 0.62);
            box-shadow: 0 20px 42px -34px rgba(123, 90, 0, 0.22);
            backdrop-filter: blur(8px);
        }

        .admin-section-title {
            display: inline-flex;
            align-items: center;
            gap: 0.9rem;
            color: #111827;
            font-weight: 800;
            letter-spacing: -0.01em;
        }

        .admin-section-icon {
            display: inline-flex;
            width: 3rem;
            height: 3rem;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border-radius: 1.05rem;
            border: 1px solid rgba(255, 255, 255, 0.72);
            font-size: 1.25rem;
            box-shadow: 0 18px 32px -24px rgba(15, 23, 42, 0.68), inset 0 1px 0 rgba(255, 255, 255, 0.72);
        }

        .admin-section-icon i {
            font-size: 1.25rem;
        }

        .admin-section-actions {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .admin-section-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            border-radius: 0.85rem;
            border: 1px solid rgba(214, 176, 0, 0.42);
            background: var(--dash-gold);
            color: #2f2500;
            padding: 0.75rem 1rem;
            font-size: 0.875rem;
            font-weight: 800;
            line-height: 1;
            box-shadow: 0 14px 28px -24px rgba(123, 90, 0, 0.55);
            transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
        }

        .admin-section-action:hover {
            background: var(--dash-gold-strong);
            border-color: rgba(214, 176, 0, 0.62);
            box-shadow: 0 18px 32px -24px rgba(123, 90, 0, 0.62);
            transform: translateY(-1px);
        }

        .admin-section-action:active {
            transform: translateY(0) scale(0.98);
        }

        .admin-section-action.is-secondary {
            background: rgba(255, 255, 255, 0.9);
            color: #4b5563;
            border-color: rgba(226, 232, 240, 0.95);
        }

        .admin-section-action.is-secondary:hover {
            background: #fff;
            color: #111827;
            border-color: rgba(241, 196, 15, 0.64);
        }

        .admin-section-action:disabled {
            cursor: not-allowed;
            opacity: 0.62;
            transform: none;
            box-shadow: none;
        }

        .admin-section-actions > span {
            display: inline-flex;
        }

        .admin-section-action.is-icon-only {
            position: relative;
            width: 42px;
            min-width: 42px;
            min-height: 42px;
            padding: 0;
        }

        .admin-filter-toggle-button.is-active {
            color: #2f2500;
            border-color: rgba(241, 196, 15, 0.82);
            background: #fff7cc;
            box-shadow: 0 0 0 4px rgba(241, 196, 15, 0.16);
        }

        .admin-filter-toggle-count {
            position: absolute;
            top: -0.4rem;
            right: -0.35rem;
            display: inline-flex;
            min-width: 1.15rem;
            height: 1.15rem;
            align-items: center;
            justify-content: center;
            border: 2px solid #fff;
            border-radius: 999px;
            background: #ef4444;
            color: #fff;
            font-size: 0.62rem;
            font-weight: 900;
            line-height: 1;
            box-shadow: 0 10px 18px -14px rgba(127, 29, 29, 0.78);
        }

        .admin-list-filter-shell {
            display: grid;
            grid-template-rows: 0fr;
            opacity: 0;
            overflow: hidden;
            transform: translateY(-8px);
            transition: grid-template-rows 240ms ease, opacity 180ms ease, transform 220ms ease, margin-bottom 220ms ease;
            margin-bottom: 0;
        }

        .admin-list-filter-shell.is-open {
            grid-template-rows: 1fr;
            opacity: 1;
            transform: translateY(0);
            margin-bottom: 1rem;
        }

        .admin-list-filter-panel {
            min-height: 0;
            overflow: hidden;
            border: 1px solid rgba(241, 196, 15, 0.56);
            border-radius: 1rem;
            background: rgba(255, 255, 255, 0.86);
            box-shadow: 0 16px 36px -28px rgba(126, 92, 0, 0.28);
            padding: 1rem;
        }

        .admin-list-filter-heading {
            display: flex;
            flex-direction: column;
            gap: 0.55rem;
            margin-bottom: 0.9rem;
        }

        .admin-list-filter-eyebrow {
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.13em;
            text-transform: uppercase;
        }

        .admin-list-filter-heading h4 {
            color: #0f172a;
            font-weight: 700;
            line-height: 1.2;
        }

        .admin-list-filter-summary {
            align-self: flex-start;
            border: 1px solid rgba(241, 196, 15, 0.62);
            border-radius: 999px;
            background: #fffdf2;
            color: #7c5c00;
            font-size: 0.72rem;
            font-weight: 700;
            padding: 0.32rem 0.68rem;
            white-space: nowrap;
        }

        .admin-list-filter-active-text {
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 500;
        }

        .admin-list-filter-grid {
            display: grid;
            grid-template-columns: 1fr;
            align-items: end;
            gap: 0.75rem;
        }

        .admin-list-filter-field {
            display: grid;
            gap: 0.38rem;
            min-width: 0;
        }

        .admin-list-filter-label {
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.11em;
            text-transform: uppercase;
        }

        .admin-list-filter-control {
            width: 100%;
            min-width: 0;
            height: 44px;
            min-height: 44px;
            border: 1px solid rgb(209 213 219);
            border-radius: 0.95rem;
            background: #fff;
            color: #263245;
            font-size: 0.875rem;
            font-weight: 500;
            line-height: 1;
            outline: none;
            padding: 0 0.9rem;
            box-shadow: 0 8px 18px -16px rgba(217, 119, 6, 0.28);
            transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
        }

        select.admin-list-filter-control {
            -webkit-appearance: none;
            appearance: none;
            background-image:
                url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%239ca3af' d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 53.66 90.34L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 1rem center;
            background-size: 1.15rem;
            padding-right: 3rem;
        }

        .admin-list-filter-control::placeholder {
            color: #94a3b8;
            font-weight: 500;
        }

        .admin-list-filter-control:hover {
            border-color: rgb(241 196 15);
            background-color: #fff;
            box-shadow: 0 10px 22px -16px rgba(217, 119, 6, 0.38);
        }

        .admin-list-filter-control:focus {
            border-color: rgb(241 196 15);
            box-shadow:
                0 0 0 4px rgba(241, 196, 15, 0.18),
                0 12px 24px -18px rgba(217, 119, 6, 0.42);
        }

        .admin-list-filter-search {
            position: relative;
        }

        .admin-list-filter-search .admin-list-filter-control {
            padding-left: 2.55rem;
        }

        .admin-list-filter-search-icon {
            position: absolute;
            left: 0.95rem;
            top: 50%;
            color: #94a3b8;
            transform: translateY(-50%);
        }

        .admin-list-filter-actions {
            display: flex;
            flex-wrap: wrap;
            align-items: end;
            justify-content: flex-start;
            gap: 0.55rem;
        }

        .admin-list-filter-actions .admin-section-action {
            min-height: 44px;
            border-radius: 0.95rem;
            padding-top: 0;
            padding-bottom: 0;
            white-space: nowrap;
        }

        .admin-archive-workspace {
            display: flex;
            flex-direction: column;
            gap: 1.15rem;
        }

        .admin-archive-panel-header {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.86);
            padding-bottom: 1rem;
        }

        .admin-archive-header-copy {
            display: flex;
            align-items: flex-start;
            gap: 0.8rem;
        }

        .admin-archive-header-icon {
            display: inline-flex;
            width: 2.65rem;
            height: 2.65rem;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border-radius: 0.95rem;
            background: #fff7cc;
            color: #705500;
            border: 1px solid rgba(241, 196, 15, 0.32);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
        }

        .admin-archive-eyebrow {
            color: #6b5a00;
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .admin-archive-form-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 1rem;
        }

        .admin-archive-form-grid > * {
            grid-column: 1 / -1;
        }

        .admin-archive-core-grid {
            display: grid;
            grid-template-columns: 1fr;
            align-items: end;
            gap: 1rem;
        }

        .admin-archive-filter-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.75rem;
        }

        .admin-archive-field-label {
            display: block;
            margin-bottom: 0.35rem;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 900;
            letter-spacing: 0.1em;
            text-transform: uppercase;
        }

        .admin-archive-field-shell {
            display: grid;
            align-content: end;
            gap: 0.55rem;
            min-width: 0;
        }

        .admin-archive-field-shell .admin-archive-field-label {
            margin-bottom: 0;
        }

        .admin-archive-field-shell .admin-archive-input,
        .admin-archive-field-shell .admin-date-input-wrap {
            margin-top: 0 !important;
        }

        .admin-archive-input {
            height: 50px;
            min-height: 50px;
            box-sizing: border-box;
        }

        .admin-archive-date-field .admin-date-input-wrap,
        .admin-archive-date-field .admin-date-trigger {
            height: 50px;
            min-height: 50px;
            box-sizing: border-box;
        }

        .admin-archive-date-field .admin-date-trigger {
            display: flex;
            align-items: center;
            border-radius: 0.75rem;
            font-size: 0.875rem;
        }

        .admin-archive-upload-card {
            display: grid;
            gap: 0.85rem;
            border: 1px dashed rgba(241, 196, 15, 0.68);
            border-radius: 1rem;
            background: linear-gradient(135deg, rgba(255, 251, 235, 0.88), rgba(255, 255, 255, 0.96));
            padding: 1rem;
        }

        .admin-archive-upload-main {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1rem;
            align-items: stretch;
        }

        .admin-archive-file-cell {
            min-width: 0;
        }

        .admin-archive-upload-heading {
            display: flex;
            align-items: center;
            gap: 0.65rem;
            color: #0f172a;
            font-size: 0.9rem;
            font-weight: 900;
        }

        .admin-archive-upload-icon {
            display: inline-flex;
            width: 2.25rem;
            height: 2.25rem;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border-radius: 999px;
            background: #f1c40f;
            color: #0f172a;
        }

        .admin-archive-current-audio {
            min-width: 0;
            border: 1px solid rgba(226, 232, 240, 0.92);
            border-radius: 0.9rem;
            background: rgba(248, 250, 252, 0.88);
            padding: 0.85rem;
            color: #475569;
            font-size: 0.78rem;
        }

        .admin-archive-current-audio a,
        .admin-archive-current-audio span {
            display: inline-block;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
            vertical-align: bottom;
            white-space: nowrap;
        }

        .admin-archive-destination-card {
            border: 1px solid rgba(14, 165, 233, 0.18);
            border-radius: 0.9rem;
            background: #f0f9ff;
            padding: 0.85rem;
        }

        .admin-archive-destination-card a {
            display: inline-flex;
            max-width: 100%;
            align-items: center;
            gap: 0.4rem;
            overflow: hidden;
            color: #0369a1;
            font-size: 0.82rem;
            font-weight: 900;
        }

        .admin-archive-destination-card a span {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-archive-duration-card {
            border: 1px solid rgba(226, 232, 240, 0.92);
            border-radius: 0.9rem;
            background: rgba(255, 255, 255, 0.76);
            padding: 0.85rem;
        }

        .admin-archive-duration-value {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            color: #334155;
            font-size: 0.86rem;
            font-weight: 900;
        }

        .admin-archive-filter-panel {
            padding: 1rem;
        }

        .admin-archive-filter-footer {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            border-top: 1px solid rgba(226, 232, 240, 0.78);
            margin-top: 0.9rem;
            padding-top: 0.9rem;
        }

        .admin-archive-filter-summary {
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 700;
        }

        .admin-archive-table-panel {
            overflow: hidden;
        }

        .admin-archive-table-panel thead tr {
            background: #f8fafc;
            color: #64748b;
        }

        .admin-archive-table-panel tbody tr {
            transition: background 160ms ease;
        }

        .admin-archive-table-panel tbody tr:hover {
            background: rgba(255, 251, 235, 0.42);
        }

        .admin-archive-table-title {
            color: #1f2937;
            font-size: 0.92rem;
            font-weight: 900;
            line-height: 1.25;
        }

        .admin-archive-table-subtitle {
            color: #64748b;
            font-size: 0.74rem;
            line-height: 1.35;
        }

        .admin-archive-link-pill {
            display: inline-flex;
            max-width: 14rem;
            align-items: center;
            gap: 0.4rem;
            border: 1px solid rgba(125, 211, 252, 0.82);
            border-radius: 999px;
            background: #f0f9ff;
            color: #0369a1;
            padding: 0.34rem 0.62rem;
            font-size: 0.72rem;
            font-weight: 800;
            transition: background 160ms ease, border-color 160ms ease;
        }

        .admin-archive-link-pill:hover {
            background: #e0f2fe;
            border-color: rgba(56, 189, 248, 0.9);
        }

        .admin-archive-link-pill span {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-archive-row-actions {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: flex-end;
            gap: 0.4rem;
        }

        .admin-archive-action-button {
            display: inline-flex;
            width: 2.25rem;
            height: 2.25rem;
            align-items: center;
            justify-content: center;
            border-radius: 0.78rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            background: #fff;
            color: #64748b;
            transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
        }

        .admin-archive-action-button:hover {
            background: #f8fafc;
            border-color: rgba(241, 196, 15, 0.64);
            color: #111827;
            transform: translateY(-1px);
        }

        .admin-archive-action-button.is-primary {
            border-color: rgba(241, 196, 15, 0.8);
            background: #fffbea;
            color: #8a6800;
        }

        .admin-archive-action-button.is-info {
            border-color: rgba(125, 211, 252, 0.9);
            background: #f0f9ff;
            color: #0369a1;
        }

        .admin-archive-action-button.is-danger {
            border-color: rgba(254, 202, 202, 0.95);
            background: #fef2f2;
            color: #b91c1c;
        }

        .admin-archive-action-button:disabled {
            cursor: not-allowed;
            opacity: 0.56;
            transform: none;
        }

        @media (min-width: 640px) {
            .admin-section-actions {
                flex-direction: row;
                align-items: center;
            }

            .admin-section-action {
                padding-top: 0.65rem;
                padding-bottom: 0.65rem;
            }

            .admin-archive-panel-header {
                flex-direction: row;
                align-items: center;
                justify-content: space-between;
            }
        }

        @media (min-width: 768px) {
            .admin-list-filter-heading {
                flex-direction: row;
                align-items: center;
                justify-content: space-between;
            }

            .admin-list-filter-grid {
                display: flex;
                flex-wrap: wrap;
                align-items: end;
                gap: 0.75rem;
            }

            .admin-list-filter-field {
                flex: 1 1 min(100%, 13rem);
            }

            .admin-list-filter-field.is-search {
                flex: 2 1 min(100%, 20rem);
            }

            .admin-list-filter-actions {
                justify-content: flex-end;
                flex: 0 0 auto;
                margin-left: auto;
                min-width: max-content;
            }

            .admin-archive-core-grid {
                grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr) minmax(13rem, 0.55fr);
            }

            .admin-archive-filter-grid {
                grid-template-columns: minmax(18rem, 1.5fr) minmax(9rem, 0.55fr) minmax(9rem, 0.55fr) minmax(11rem, 0.65fr);
            }
        }

        @media (min-width: 1024px) {
            .admin-list-filter-field {
                flex-basis: 12rem;
            }

            .admin-list-filter-field.is-search {
                flex-basis: 22rem;
                max-width: 34rem;
            }
        }

        @media (min-width: 1024px) {
            .admin-archive-upload-main {
                grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            }

            .admin-archive-file-cell {
                grid-column: 1 / -1;
            }
        }

        @media (min-width: 1200px) {
            .admin-list-filter-field {
                flex: 1 1 12.5rem;
                max-width: 18rem;
            }

            .admin-list-filter-field.is-search {
                flex: 1.45 1 23rem;
                max-width: 36rem;
            }
        }

        .admin-users-filter-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.75rem;
        }

        #admin-dashboard-stats {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.75rem;
        }

        .admin-users-filter-submit {
            width: 100%;
            min-height: 2.9rem;
        }

        .admin-panel select,
        .admin-panel input[type="date"],
        .admin-panel input[type="time"],
        .admin-panel input[type="datetime-local"] {
            min-height: 50px;
            border-radius: 18px !important;
            border: 1px solid rgb(209 213 219) !important;
            background-color: #fff !important;
            color: #374151;
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 0;
            box-shadow: 0 8px 18px -16px rgba(217, 119, 6, 0.28);
            transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
        }

        .admin-panel select {
            -webkit-appearance: none;
            appearance: none;
            background-image:
                url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%239ca3af' d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 53.66 90.34L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E") !important;
            background-repeat: no-repeat !important;
            background-position: right 1rem center !important;
            background-size: 1.15rem !important;
            padding-right: 3rem !important;
        }

        .admin-panel input[type="date"],
        .admin-panel input[type="time"],
        .admin-panel input[type="datetime-local"] {
            padding-right: 3.25rem !important;
        }

        .admin-panel select:hover,
        .admin-panel input[type="date"]:hover,
        .admin-panel input[type="time"]:hover,
        .admin-panel input[type="datetime-local"]:hover {
            border-color: rgb(241 196 15) !important;
            background-color: #fff !important;
            box-shadow: 0 10px 22px -16px rgba(217, 119, 6, 0.38);
        }

        .admin-panel select:focus,
        .admin-panel input[type="date"]:focus,
        .admin-panel input[type="time"]:focus,
        .admin-panel input[type="datetime-local"]:focus {
            outline: none;
            border-color: rgb(241 196 15) !important;
            box-shadow:
                0 0 0 4px rgba(241, 196, 15, 0.18),
                0 12px 24px -18px rgba(217, 119, 6, 0.42) !important;
        }

        .admin-panel input[type="date"]::-webkit-calendar-picker-indicator,
        .admin-panel input[type="datetime-local"]::-webkit-calendar-picker-indicator {
            width: 30px;
            height: 30px;
            margin-right: -0.35rem;
            border-radius: 999px;
            background:
                #6b7280
                url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M208 32h-24V24a8 8 0 0 0-16 0v8H88V24a8 8 0 0 0-16 0v8H48a16 16 0 0 0-16 16v160a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16Zm0 176H48V96h160v112Zm0-128H48V48h24v8a8 8 0 0 0 16 0v-8h80v8a8 8 0 0 0 16 0v-8h24v32Z'/%3E%3C/svg%3E")
                center / 18px 18px
                no-repeat;
            cursor: pointer;
            opacity: 1;
        }

        .admin-panel input[type="time"]::-webkit-calendar-picker-indicator {
            width: 30px;
            height: 30px;
            margin-right: -0.35rem;
            border-radius: 999px;
            background:
                #6b7280
                url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88Zm64-88a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8V72a8 8 0 0 1 16 0v48h48a8 8 0 0 1 8 8Z'/%3E%3C/svg%3E")
                center / 18px 18px
                no-repeat;
            cursor: pointer;
            opacity: 1;
        }

        .admin-field-sublabel {
            display: block;
            margin-top: 0.45rem;
            margin-bottom: 0.35rem;
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .admin-datetime-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.75rem;
            margin-top: 0.35rem;
        }

        .admin-date-input-wrap {
            position: relative;
            width: 100%;
            min-width: 0;
        }

        .admin-date-trigger {
            width: 100%;
            min-height: 50px;
            border-radius: 18px;
            border: 1px solid rgb(209 213 219);
            background: #fff;
            box-shadow: 0 8px 18px -16px rgba(217, 119, 6, 0.28);
            padding: 12px 54px 12px 16px;
            text-align: left;
            color: #374151;
            font-size: 1rem;
            font-weight: 600;
            transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
        }

        .admin-date-trigger:hover {
            border-color: rgb(241 196 15);
            box-shadow: 0 10px 22px -16px rgba(217, 119, 6, 0.38);
        }

        .admin-date-trigger:focus {
            outline: none;
            border-color: rgb(241 196 15);
            box-shadow:
                0 0 0 4px rgba(241, 196, 15, 0.18),
                0 12px 24px -18px rgba(217, 119, 6, 0.42);
        }

        .admin-date-trigger-value {
            display: block;
            overflow: hidden;
            color: #374151;
            font-weight: 700;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-date-trigger-value.is-placeholder {
            color: #9ca3af;
        }

        .admin-date-input-icon {
            position: absolute;
            right: 12px;
            top: 50%;
            width: 30px;
            height: 30px;
            transform: translateY(-50%);
            border-radius: 999px;
            background: #6b7280;
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            pointer-events: none;
        }

        .admin-date-helper {
            margin-top: 0.55rem;
            color: #64748b;
            font-size: 0.78rem;
            line-height: 1.45;
        }

        .admin-calendar-modal {
            position: fixed;
            inset: 0;
            z-index: 12050;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }

        .admin-calendar-modal.is-open {
            display: flex;
        }

        .admin-calendar-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.38);
            backdrop-filter: blur(3px);
        }

        .admin-calendar-panel {
            position: relative;
            width: min(100%, 430px);
            max-height: min(92vh, 720px);
            overflow: auto;
            border: 1px solid rgba(241, 196, 15, 0.28);
            border-radius: 28px;
            background: #fff;
            box-shadow: 0 30px 68px -34px rgba(123, 90, 0, 0.45);
        }

        .admin-calendar-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            padding: 1.25rem 1.5rem 0.5rem;
        }

        .admin-calendar-eyebrow {
            color: #a16207;
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .admin-calendar-header h3 {
            margin-top: 0.2rem;
            color: #111827;
            font-size: 1.35rem;
            font-weight: 900;
            letter-spacing: -0.03em;
        }

        .admin-calendar-close,
        .admin-calendar-nav {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(226, 232, 240, 0.95);
            background: #fff;
            color: #64748b;
            transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
        }

        .admin-calendar-close {
            width: 2.5rem;
            height: 2.5rem;
        }

        .admin-calendar-nav {
            width: 2.7rem;
            height: 2.7rem;
            flex-shrink: 0;
        }

        .admin-calendar-close:hover,
        .admin-calendar-nav:hover {
            border-color: rgba(241, 196, 15, 0.5);
            background: rgba(255, 251, 235, 0.95);
            color: #92400e;
            transform: translateY(-1px);
        }

        .admin-calendar-month-shell {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.9rem;
            margin: 0.75rem 1.5rem 1rem;
            border: 1px solid rgba(241, 196, 15, 0.22);
            border-radius: 20px;
            background: rgba(255, 251, 235, 0.7);
            padding: 0.8rem;
        }

        .admin-calendar-month-title {
            color: #334155;
            font-size: 1rem;
            font-weight: 900;
            letter-spacing: -0.01em;
        }

        .admin-calendar-month-subtitle {
            margin-top: 0.2rem;
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 600;
        }

        .admin-calendar-weekdays,
        .admin-calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 0.45rem;
            padding-inline: 1.5rem;
        }

        .admin-calendar-weekdays {
            color: #94a3b8;
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.12em;
            text-align: center;
            text-transform: uppercase;
        }

        .admin-calendar-grid {
            padding-top: 0.65rem;
            padding-bottom: 1.5rem;
        }

        .admin-calendar-day,
        .admin-calendar-day-spacer {
            min-height: 42px;
            border-radius: 14px;
        }

        .admin-calendar-day {
            border: 1px solid transparent;
            color: #334155;
            font-size: 0.9rem;
            font-weight: 800;
            transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
        }

        .admin-calendar-day:hover {
            border-color: rgba(241, 196, 15, 0.42);
            background: rgba(255, 251, 235, 0.95);
            color: #92400e;
            transform: translateY(-1px);
        }

        .admin-calendar-day:disabled,
        .admin-calendar-day.is-disabled {
            border-color: transparent;
            background: transparent;
            color: #cbd5e1;
            box-shadow: none;
            cursor: not-allowed;
            transform: none;
        }

        .admin-calendar-day.is-today {
            border-color: #cbd5e1;
        }

        .admin-calendar-day.is-selected {
            border-color: transparent;
            background: linear-gradient(135deg, #f1c40f 0%, #f59e0b 100%);
            color: #111827;
            box-shadow: 0 14px 24px -18px rgba(217, 119, 6, 0.85);
        }

        .admin-calendar-nav:disabled,
        .admin-calendar-nav.is-disabled {
            opacity: 0.4;
            cursor: not-allowed;
            pointer-events: none;
            transform: none;
        }

        .admin-time-panel {
            width: min(100%, 480px);
        }

        .admin-time-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.7rem;
            padding: 0 1.5rem 1.5rem;
        }

        .admin-time-slot {
            min-height: 46px;
            border-radius: 16px;
            border: 1px solid rgb(229 231 235);
            background: #fff;
            color: #4b5563;
            font-size: 0.92rem;
            font-weight: 800;
            transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
        }

        .admin-time-slot:hover {
            border-color: rgba(241, 196, 15, 0.42);
            background: rgba(255, 251, 235, 0.96);
            color: #92400e;
            transform: translateY(-1px);
        }

        .admin-time-slot.is-selected {
            border-color: transparent;
            background: linear-gradient(135deg, #f1c40f 0%, #f59e0b 100%);
            color: #111827;
            box-shadow: 0 14px 24px -18px rgba(217, 119, 6, 0.78);
        }

        body.admin-calendar-open {
            overflow: hidden;
        }

        @media (min-width: 768px) {
            .admin-datetime-grid {
                grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
            }
        }

        @media (max-width: 480px) {
            .admin-calendar-panel {
                border-radius: 26px 26px 0 0;
                align-self: flex-end;
            }

            .admin-time-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (min-width: 768px) {
            #admin-dashboard-stats {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 1.5rem;
            }

            .admin-users-filter-grid {
                grid-template-columns: minmax(18rem, 1.45fr) minmax(10rem, 0.75fr) minmax(12rem, 0.85fr) minmax(8.5rem, auto);
                align-items: end;
            }

            .admin-users-filter-submit {
                width: auto;
                white-space: nowrap;
            }
        }

        @media (min-width: 1200px) {
            #admin-dashboard-stats {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            #admin-dashboard-stats.is-admin-grid {
                grid-template-columns: repeat(5, minmax(0, 1fr));
            }

            #admin-dashboard-stats.is-gestor-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        .admin-map-panel {
            position: relative;
        }

        .admin-map-canvas {
            min-height: 320px;
            width: 100%;
            background:
                radial-gradient(circle at 18% 20%, rgba(248, 113, 113, 0.14), transparent 26%),
                linear-gradient(135deg, rgba(255, 253, 231, 0.92), rgba(255, 255, 255, 0.96));
        }

        .admin-map-canvas .leaflet-control-attribution {
            font-size: 10px;
        }

        .admin-map-expand-control {
            overflow: hidden;
            border: 1px solid rgba(203, 213, 225, 0.96);
            border-radius: 0.72rem;
            box-shadow: 0 12px 24px -20px rgba(15, 23, 42, 0.55);
        }

        .admin-map-expand-button {
            display: inline-flex;
            width: 2.35rem;
            height: 2.35rem;
            align-items: center;
            justify-content: center;
            border: 0;
            background: rgba(255, 255, 255, 0.98);
            color: #0f172a;
            font-size: 1rem;
            transition: background 160ms ease, color 160ms ease, transform 160ms ease;
        }

        .admin-map-expand-button:hover {
            background: var(--dash-gold);
            color: #2f2500;
        }

        .admin-map-expand-button:focus-visible {
            outline: 2px solid rgba(241, 196, 15, 0.55);
            outline-offset: 2px;
        }

        .admin-map-lightbox[hidden] {
            display: none !important;
        }

        .admin-map-lightbox {
            position: fixed;
            inset: 0;
            z-index: 1200;
            display: flex;
            align-items: stretch;
            justify-content: center;
            background: rgba(15, 23, 42, 0.68);
            padding: clamp(0.75rem, 2vw, 1.35rem);
        }

        body.admin-map-lightbox-open {
            overflow: hidden;
        }

        .admin-map-lightbox-panel {
            display: grid;
            grid-template-rows: auto minmax(0, 1fr);
            width: min(100%, 1320px);
            min-height: 0;
            border: 1px solid rgba(226, 232, 240, 0.94);
            border-radius: 1.2rem;
            background: #ffffff;
            box-shadow: 0 28px 80px -36px rgba(15, 23, 42, 0.82);
            overflow: hidden;
        }

        .admin-map-lightbox-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.92);
            background: rgba(255, 253, 231, 0.82);
            padding: 0.9rem 1rem;
        }

        .admin-map-lightbox-header p {
            margin: 0 0 0.18rem;
            color: #dc2626;
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .admin-map-lightbox-header h3 {
            margin: 0;
            color: #0f172a;
            font-size: 1.08rem;
            font-weight: 900;
            line-height: 1.2;
        }

        .admin-map-lightbox-header span {
            display: block;
            margin-top: 0.24rem;
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 640;
            line-height: 1.35;
        }

        .admin-map-lightbox-close {
            display: inline-flex;
            flex: 0 0 auto;
            width: 2.65rem;
            height: 2.65rem;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.94);
            color: #334155;
            padding: 0;
            font-size: 1rem;
            font-weight: 820;
            transition: border-color 160ms ease, color 160ms ease, background 160ms ease, transform 160ms ease;
        }

        .admin-map-lightbox-close:hover {
            border-color: rgba(241, 196, 15, 0.64);
            background: #ffffff;
            color: #111827;
            transform: translateY(-1px);
        }

        .admin-map-lightbox-canvas {
            height: 100%;
            min-height: min(72vh, 760px);
            border: 0;
            border-radius: 0;
            overflow: hidden;
        }

        .admin-editor-shell {
            display: grid;
            gap: 1.1rem;
        }

        .admin-guide-module-shortcuts {
            display: grid;
            gap: 0.62rem;
            padding: 0.18rem 0 0.3rem;
        }

        .admin-guide-module-shortcuts.hidden {
            display: none !important;
        }

        .admin-guide-module-shortcuts-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.9rem;
        }

        .admin-guide-module-shortcuts-heading span {
            display: block;
            color: #0f172a;
            font-size: 0.82rem;
            font-weight: 850;
            letter-spacing: 0.08em;
            line-height: 1.2;
            text-transform: uppercase;
        }

        .admin-guide-module-shortcuts-heading p {
            margin-top: 0.18rem;
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 560;
            line-height: 1.4;
        }

        .admin-guide-module-shortcuts-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.52rem;
        }

        .admin-guide-module-shortcut {
            display: inline-flex;
            flex: 0 1 auto;
            min-width: min(100%, 13rem);
            align-items: center;
            gap: 0.52rem;
            border: 1px solid var(--module-chip-border, rgba(203, 213, 225, 0.92));
            border-radius: 999px;
            background: var(--module-soft-bg, rgba(255, 255, 255, 0.96));
            color: #1e293b;
            padding: 0.42rem 0.72rem 0.42rem 0.42rem;
            text-align: left;
            transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
        }

        .admin-guide-module-shortcut:hover {
            border-color: var(--module-accent-strong, rgba(15, 118, 110, 0.45));
            background: #fff;
            box-shadow: 0 12px 24px -26px var(--module-soft-shadow, rgba(15, 23, 42, 0.75));
            transform: translateY(-1px);
        }

        .admin-guide-module-shortcut:focus-visible {
            outline: 2px solid rgba(15, 118, 110, 0.26);
            outline-offset: 2px;
        }

        .admin-guide-module-shortcut.is-pending {
            cursor: default;
            opacity: 0.68;
        }

        .admin-guide-module-shortcut.is-pending:hover {
            border-color: rgba(203, 213, 225, 0.92);
            box-shadow: none;
            transform: none;
        }

        .admin-guide-module-shortcut-icon {
            display: inline-flex;
            width: 2rem;
            height: 2rem;
            flex: 0 0 auto;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid var(--module-chip-border, rgba(15, 118, 110, 0.22));
            background: #fff;
            color: var(--module-title, #0f766e);
            font-size: 1rem;
        }

        .admin-guide-module-shortcut-text {
            display: grid;
            min-width: 0;
            gap: 0.16rem;
        }

        .admin-guide-module-shortcut-text strong {
            overflow: hidden;
            color: var(--module-title, #0f172a);
            font-size: 0.78rem;
            font-weight: 820;
            line-height: 1.2;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-guide-module-shortcut-text small {
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 640;
            line-height: 1.28;
        }

        .admin-guide-module-shortcut[data-module-theme="catalog"] {
            --module-accent-strong: rgba(241, 196, 15, 0.94);
            --module-soft-bg: rgba(255, 249, 219, 0.78);
            --module-soft-shadow: rgba(120, 89, 0, 0.74);
            --module-title: #7c5c00;
            --module-chip-border: rgba(241, 196, 15, 0.5);
        }

        .admin-guide-module-shortcut[data-module-theme="delivery"] {
            --module-accent-strong: rgba(234, 88, 12, 0.9);
            --module-soft-bg: rgba(255, 237, 213, 0.8);
            --module-soft-shadow: rgba(154, 52, 18, 0.68);
            --module-title: #9a3412;
            --module-chip-border: rgba(249, 115, 22, 0.5);
        }

        .admin-guide-module-shortcut[data-module-theme="appointment"] {
            --module-accent-strong: rgba(15, 118, 110, 0.9);
            --module-soft-bg: rgba(204, 251, 241, 0.76);
            --module-soft-shadow: rgba(15, 118, 110, 0.62);
            --module-title: #0f766e;
            --module-chip-border: rgba(15, 118, 110, 0.46);
        }

        .admin-guide-module-shortcut[data-module-theme="reservation"],
        .admin-guide-module-shortcut[data-module-theme="accommodation"] {
            --module-accent-strong: rgba(109, 40, 217, 0.9);
            --module-soft-bg: rgba(237, 233, 254, 0.82);
            --module-soft-shadow: rgba(76, 29, 149, 0.64);
            --module-title: #6d28d9;
            --module-chip-border: rgba(124, 58, 237, 0.48);
        }

        .admin-guide-module-shortcut[data-module-theme="real_estate"] {
            --module-accent-strong: rgba(29, 78, 216, 0.9);
            --module-soft-bg: rgba(219, 234, 254, 0.8);
            --module-soft-shadow: rgba(30, 64, 175, 0.62);
            --module-title: #1d4ed8;
            --module-chip-border: rgba(37, 99, 235, 0.46);
        }

        .admin-editor-hero {
            display: grid;
            gap: 1rem;
            align-items: start;
            border: 1px solid rgba(241, 196, 15, 0.26);
            border-radius: 1.35rem;
            background:
                radial-gradient(circle at 12% 0%, rgba(241, 196, 15, 0.18), transparent 34%),
                rgba(255, 255, 255, 0.72);
            padding: 1rem;
            box-shadow: 0 22px 44px -36px rgba(123, 90, 0, 0.34);
        }

        .admin-editor-heading {
            display: flex;
            align-items: center;
            gap: 1rem;
            min-width: 0;
        }

        .admin-editor-back {
            justify-self: start;
        }

        .admin-editor-form {
            display: grid;
            gap: 1rem;
        }

        .admin-editor-card {
            border-radius: 1.35rem;
            overflow: hidden;
            padding: 1rem;
        }

        .admin-editor-card-heading {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            margin-bottom: 1rem;
        }

        .admin-editor-kicker {
            font-size: 0.68rem;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.16em;
        }

        .admin-editor-card-title {
            color: #111827;
            font-size: 1rem;
            font-weight: 900;
        }

        .admin-editor-card-copy {
            margin-top: 0.25rem;
            color: #64748b;
            font-size: 0.85rem;
            line-height: 1.55;
        }

        .admin-editor-map-canvas {
            min-height: 360px;
            border-radius: 1rem;
            overflow: hidden;
            border: 1px solid rgba(226, 232, 240, 0.95);
        }

        .admin-editor-map-pin-wrapper {
            background: transparent;
            border: 0;
        }

        .admin-editor-map-pin {
            display: block;
            color: #dc2626;
            font-size: 44px;
            line-height: 1;
            filter: drop-shadow(0 12px 12px rgba(127, 29, 29, 0.24));
        }

        .admin-upload-panel {
            margin-top: 0.25rem;
            border: 1px dashed rgba(241, 196, 15, 0.42);
            border-radius: 1.15rem;
            background:
                radial-gradient(circle at top left, rgba(241, 196, 15, 0.08), transparent 32%),
                rgba(255, 253, 231, 0.48);
            padding: 1rem;
        }

        .admin-upload-panel.is-readonly {
            border-color: rgba(203, 213, 225, 0.9);
            background: rgba(248, 250, 252, 0.72);
        }

        .admin-upload-hint,
        .admin-upload-empty {
            margin-top: 0.75rem;
            color: #64748b;
            font-size: 0.78rem;
            line-height: 1.45;
        }

        .admin-upload-empty {
            margin-top: 0;
            margin-bottom: 0.85rem;
            border-radius: 0.95rem;
            border: 1px solid rgba(226, 232, 240, 0.86);
            background: rgba(255, 255, 255, 0.68);
            padding: 0.8rem 0.9rem;
        }

        .admin-image-preview-grid {
            display: grid;
            grid-template-columns: minmax(0, 220px);
            gap: 0.75rem;
            margin-bottom: 0.95rem;
        }

        .admin-image-preview-grid-multiple {
            grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        }

        .admin-image-preview-card {
            position: relative;
            display: block;
            width: 100%;
            overflow: hidden;
            border: 1px solid rgba(241, 196, 15, 0.34);
            border-radius: 1rem;
            background: #fff;
            box-shadow: 0 16px 32px -28px rgba(15, 23, 42, 0.42);
            aspect-ratio: 16 / 10;
        }

        .admin-image-preview-grid-multiple .admin-image-preview-card {
            aspect-ratio: 4 / 3;
        }

        .admin-image-preview-open {
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
            background: transparent;
            padding: 0;
            cursor: zoom-in;
        }

        .admin-image-preview-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 180ms ease, filter 180ms ease;
        }

        .admin-image-preview-card:hover img {
            transform: scale(1.035);
            filter: saturate(1.04);
        }

        .admin-image-preview-delete {
            position: absolute;
            right: 0.6rem;
            top: 0.6rem;
            display: inline-flex;
            width: 2rem;
            height: 2rem;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(248, 113, 113, 0.35);
            border-radius: 999px;
            background: rgba(127, 29, 29, 0.8);
            color: #fff;
            font-size: 0.95rem;
            cursor: pointer;
            transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
            z-index: 2;
            backdrop-filter: blur(8px);
        }

        .admin-image-preview-delete:hover {
            transform: translateY(-1px);
            background: rgba(153, 27, 27, 0.92);
            box-shadow: 0 10px 18px -12px rgba(153, 27, 27, 0.65);
        }

        .admin-image-preview-zoom {
            position: absolute;
            right: 0.6rem;
            bottom: 0.6rem;
            display: inline-flex;
            width: 2rem;
            height: 2rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: rgba(17, 24, 39, 0.72);
            color: #fff;
            font-size: 1rem;
            backdrop-filter: blur(8px);
            pointer-events: none;
        }

        .admin-image-lightbox {
            position: fixed;
            inset: 0;
            z-index: 12000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1.25rem;
        }

        .admin-image-lightbox.is-open {
            display: flex;
        }

        .admin-image-lightbox-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.72);
            backdrop-filter: blur(10px);
        }

        .admin-image-lightbox-panel {
            position: relative;
            width: min(94vw, 980px);
            max-height: 90vh;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.24);
            border-radius: 1.45rem;
            background: rgba(255, 255, 255, 0.96);
            box-shadow: 0 28px 70px -24px rgba(0, 0, 0, 0.42);
        }

        .admin-image-lightbox-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.88);
            padding: 0.8rem 1rem;
        }

        .admin-image-lightbox-header p {
            color: #1f2937;
            font-size: 0.9rem;
            font-weight: 900;
        }

        .admin-image-lightbox-close {
            display: inline-flex;
            width: 2.35rem;
            height: 2.35rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(226, 232, 240, 0.95);
            color: #475569;
            transition: background 160ms ease, transform 160ms ease;
        }

        .admin-image-lightbox-close:hover {
            background: rgba(241, 196, 15, 0.12);
            transform: translateY(-1px);
        }

        .admin-image-lightbox-panel img {
            width: 100%;
            max-height: calc(90vh - 64px);
            object-fit: contain;
            background: #0f172a;
        }

        body.admin-lightbox-open {
            overflow: hidden;
        }

        .admin-confirm-modal {
            position: fixed;
            inset: 0;
            z-index: 12100;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }

        .admin-confirm-modal.is-open {
            display: flex;
        }

        .admin-analytics-mini {
            display: flex;
            flex-wrap: wrap;
            gap: 0.375rem;
            min-width: 11rem;
        }

        .admin-analytics-mini span {
            display: inline-flex;
            align-items: center;
            gap: 0.25rem;
            border: 1px solid rgba(241, 196, 15, 0.34);
            background: rgba(255, 253, 231, 0.84);
            color: #475569;
            border-radius: 999px;
            padding: 0.3rem 0.55rem;
            font-size: 0.68rem;
            font-weight: 700;
            line-height: 1;
            white-space: nowrap;
        }

        .admin-analytics-mini strong {
            color: #0f172a;
            font-weight: 900;
        }

        .boost-analytics-drawer {
            position: fixed;
            inset: 0;
            z-index: 12200;
            display: none;
            pointer-events: none;
        }

        .boost-analytics-drawer.is-open {
            display: block;
            pointer-events: auto;
        }

        .boost-analytics-backdrop {
            position: absolute;
            inset: 0;
            border: 0;
            background: rgba(15, 23, 42, 0.34);
            backdrop-filter: blur(3px);
            opacity: 0;
            transition: opacity 180ms ease;
        }

        .boost-analytics-drawer.is-open .boost-analytics-backdrop {
            opacity: 1;
        }

        .boost-analytics-panel {
            position: absolute;
            top: 0;
            right: 0;
            width: min(100%, 520px);
            height: 100%;
            background: #ffffff;
            border-left: 1px solid rgba(226, 232, 240, 0.96);
            box-shadow: -30px 0 80px -46px rgba(15, 23, 42, 0.56);
            transform: translateX(104%);
            transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
            overflow-y: auto;
        }

        .boost-analytics-drawer.is-open .boost-analytics-panel {
            transform: translateX(0);
        }

        body.boost-analytics-drawer-open {
            overflow: hidden;
        }

        .boost-analytics-content {
            min-height: 100%;
            display: flex;
            flex-direction: column;
            background: linear-gradient(180deg, #ffffff 0%, #fffdf0 100%);
        }

        .boost-analytics-header {
            position: relative;
            padding: 1.35rem 1.4rem 1.1rem;
            border-bottom: 1px solid rgba(241, 196, 15, 0.24);
            background: #fffef8;
        }

        .boost-analytics-close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            display: inline-flex;
            width: 2.35rem;
            height: 2.35rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(226, 232, 240, 0.95);
            background: #ffffff;
            color: #64748b;
            transition: transform 160ms ease, border-color 160ms ease, color 160ms ease;
        }

        .boost-analytics-close:hover {
            color: #0f172a;
            border-color: rgba(241, 196, 15, 0.64);
            transform: translateY(-1px);
        }

        .boost-analytics-heading-icon {
            display: inline-flex;
            width: 2.65rem;
            height: 2.65rem;
            align-items: center;
            justify-content: center;
            border-radius: 1rem;
            border: 1px solid rgba(241, 196, 15, 0.42);
            background: rgba(255, 251, 235, 0.92);
            color: #b45309;
            box-shadow: 0 18px 34px -28px rgba(146, 64, 14, 0.52);
        }

        .boost-analytics-eyebrow {
            margin: 0.8rem 0 0;
            color: #b45309;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
        }

        .boost-analytics-header h2 {
            margin: 0.25rem 2.5rem 0 0;
            color: #0f172a;
            font-size: 1.5rem;
            font-weight: 800;
            line-height: 1.15;
        }

        .boost-analytics-meta {
            margin-top: 0.85rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
        }

        .boost-analytics-meta span {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            border: 1px solid rgba(226, 232, 240, 0.94);
            background: rgba(255, 255, 255, 0.86);
            color: #475569;
            padding: 0.36rem 0.62rem;
            font-size: 0.72rem;
            font-weight: 600;
            line-height: 1;
        }

        .boost-analytics-body {
            display: grid;
            gap: 1rem;
            padding: 1.15rem 1.4rem 1rem;
        }

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

        .boost-analytics-metric {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 0.7rem;
            align-items: center;
            border-radius: 1rem;
            border: 1px solid rgba(226, 232, 240, 0.92);
            background: rgba(255, 255, 255, 0.9);
            padding: 0.85rem;
            box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.5);
        }

        .boost-analytics-metric > span {
            display: inline-flex;
            width: 2.25rem;
            height: 2.25rem;
            align-items: center;
            justify-content: center;
            border-radius: 0.85rem;
            background: #f8fafc;
            color: #64748b;
        }

        .boost-analytics-metric p {
            margin: 0;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 600;
        }

        .boost-analytics-metric strong {
            display: block;
            margin-top: 0.18rem;
            color: #0f172a;
            font-size: 1.1rem;
            font-weight: 800;
            line-height: 1.1;
        }

        .boost-analytics-metric em {
            display: block;
            margin-top: 0.2rem;
            color: #b45309;
            font-size: 0.68rem;
            font-style: normal;
            font-weight: 600;
        }

        .boost-analytics-metric.is-amber > span { background: #fef3c7; color: #b45309; }
        .boost-analytics-metric.is-teal > span { background: #ccfbf1; color: #0f766e; }
        .boost-analytics-metric.is-blue > span { background: #dbeafe; color: #1d4ed8; }
        .boost-analytics-metric.is-slate > span { background: #f1f5f9; color: #475569; }
        .boost-analytics-metric.is-indigo > span { background: #e0e7ff; color: #4338ca; }
        .boost-analytics-metric.is-emerald > span { background: #d1fae5; color: #047857; }

        .boost-analytics-pie-card {
            display: grid;
            grid-template-columns: 168px 1fr;
            gap: 1rem;
            align-items: center;
            border-radius: 1.25rem;
            border: 1px solid rgba(241, 196, 15, 0.3);
            background: rgba(255, 255, 255, 0.9);
            padding: 1rem;
            box-shadow: 0 18px 42px -34px rgba(15, 23, 42, 0.5);
        }

        .boost-analytics-pie-card.is-empty {
            grid-template-columns: auto 1fr;
        }

        .boost-analytics-pie-wrap {
            position: relative;
            width: 168px;
            height: 168px;
            margin: 0 auto;
        }

        .boost-analytics-pie {
            width: 100%;
            height: 100%;
            filter: drop-shadow(0 18px 18px rgba(15, 23, 42, 0.1));
        }

        .boost-analytics-pie-track {
            stroke: #f1f5f9;
        }

        .boost-analytics-pie-segment {
            stroke-linecap: round;
            stroke-dasharray: var(--dash) var(--gap);
            stroke-dashoffset: var(--offset);
            animation: boostPieDraw 900ms ease-out both;
            animation-delay: var(--delay);
        }

        .boost-analytics-pie-center {
            position: absolute;
            inset: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            width: 5.5rem;
            height: 5.5rem;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.95);
            box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
            text-align: center;
        }

        .boost-analytics-pie-center strong {
            color: #0f172a;
            font-size: 1.3rem;
            font-weight: 800;
            line-height: 1;
        }

        .boost-analytics-pie-center span {
            margin-top: 0.2rem;
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 600;
            text-transform: uppercase;
        }

        .boost-analytics-empty-pie {
            display: inline-flex;
            width: 5rem;
            height: 5rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px dashed rgba(148, 163, 184, 0.75);
            background: #f8fafc;
            color: #94a3b8;
            font-size: 1.8rem;
        }

        .boost-analytics-card-title {
            margin: 0;
            color: #0f172a;
            font-size: 0.95rem;
            font-weight: 700;
        }

        .boost-analytics-card-note {
            margin: 0.35rem 0 0;
            color: #64748b;
            font-size: 0.85rem;
            line-height: 1.45;
        }

        .boost-analytics-legend {
            display: grid;
            gap: 0.55rem;
            margin-top: 0.75rem;
        }

        .boost-analytics-legend-item {
            display: grid;
            grid-template-columns: auto 1fr auto;
            gap: 0.5rem;
            align-items: center;
            color: #475569;
            font-size: 0.78rem;
        }

        .boost-analytics-legend-item i {
            width: 0.72rem;
            height: 0.72rem;
            border-radius: 999px;
        }

        .boost-analytics-legend-item strong {
            color: #334155;
            font-weight: 600;
        }

        .boost-analytics-legend-item em {
            color: #64748b;
            font-style: normal;
            font-weight: 500;
        }

        .boost-analytics-progress {
            border-radius: 1rem;
            border: 1px solid rgba(226, 232, 240, 0.92);
            background: rgba(255, 255, 255, 0.9);
            padding: 1rem;
        }

        .boost-analytics-progress-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            color: #334155;
            font-size: 0.82rem;
            font-weight: 600;
        }

        .boost-analytics-progress-top strong {
            color: #0f766e;
            font-weight: 800;
        }

        .boost-analytics-progress-bar {
            margin-top: 0.7rem;
            height: 0.58rem;
            overflow: hidden;
            border-radius: 999px;
            background: #e2e8f0;
        }

        .boost-analytics-progress-bar i {
            display: block;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, #f59e0b, #0f766e);
            animation: boostProgressGrow 720ms ease-out both;
        }

        .boost-analytics-progress p,
        .boost-analytics-footer {
            color: #64748b;
            font-size: 0.76rem;
            line-height: 1.45;
        }

        .boost-analytics-progress p {
            margin: 0.7rem 0 0;
        }

        .boost-analytics-footer {
            margin-top: auto;
            border-top: 1px solid rgba(226, 232, 240, 0.8);
            padding: 0.95rem 1.4rem 1.15rem;
            background: rgba(248, 250, 252, 0.72);
        }

        .boost-analytics-state {
            display: flex;
            min-height: 15rem;
            align-items: center;
            justify-content: center;
            gap: 0.65rem;
            border-radius: 1.15rem;
            border: 1px dashed rgba(148, 163, 184, 0.75);
            background: rgba(248, 250, 252, 0.9);
            color: #64748b;
            padding: 1rem;
            text-align: center;
            font-size: 0.9rem;
            font-weight: 600;
        }

        .boost-analytics-state.is-error {
            border-color: rgba(251, 113, 133, 0.46);
            background: #fff1f2;
            color: #be123c;
        }

        .boost-analytics-spinner {
            width: 1rem;
            height: 1rem;
            border-radius: 999px;
            border: 2px solid rgba(148, 163, 184, 0.4);
            border-top-color: #0f766e;
            animation: boostSpin 720ms linear infinite;
        }

        @keyframes boostPieDraw {
            from {
                stroke-dasharray: 0 100;
            }
            to {
                stroke-dasharray: var(--dash) var(--gap);
            }
        }

        @keyframes boostProgressGrow {
            from {
                width: 0;
            }
        }

        @keyframes boostSpin {
            to {
                transform: rotate(360deg);
            }
        }

        .admin-confirm-backdrop {
            position: absolute;
            inset: 0;
            border: 0;
            background: rgb(0 0 0 / 0.35);
            backdrop-filter: blur(2px);
        }

        .admin-confirm-card {
            position: relative;
            width: min(100%, 460px);
            border-radius: 28px;
            border: 1px solid rgb(229 231 235);
            background: #ffffff;
            box-shadow: 0 28px 80px -28px rgb(15 23 42 / 0.35);
            overflow: hidden;
        }

        .admin-confirm-top {
            border-bottom: 1px solid rgb(254 240 138 / 0.65);
            background: #fefce8;
            padding: 1.15rem 1.25rem;
        }

        .admin-confirm-eyebrow {
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: #6b7280;
            margin: 0;
        }

        .admin-confirm-eyebrow.is-hidden {
            display: none;
        }

        .admin-confirm-title {
            margin: 0.35rem 0 0;
            color: #111827;
            font-size: 1.55rem;
            font-weight: 900;
            line-height: 1.25;
        }

        .admin-confirm-message {
            margin-top: 0.65rem;
            color: #475569;
            font-size: 0.96rem;
            line-height: 1.5;
        }

        .admin-confirm-input {
            display: grid;
            gap: 0.5rem;
            padding: 1.05rem 1.25rem 0;
            background: #ffffff;
        }

        .admin-confirm-input.is-hidden,
        .admin-confirm-input-help.is-hidden {
            display: none;
        }

        .admin-confirm-input label {
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 900;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .admin-confirm-input textarea {
            width: 100%;
            min-height: 104px;
            resize: vertical;
            border: 1px solid #d9e2ef;
            border-radius: 18px;
            background: #ffffff;
            color: #1f2937;
            padding: 0.85rem 0.95rem;
            font-size: 0.92rem;
            line-height: 1.45;
            outline: none;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-confirm-input textarea:focus {
            border-color: #f1c40f;
            box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.18);
        }

        .admin-confirm-input-help {
            margin: 0;
            color: #64748b;
            font-size: 0.78rem;
            line-height: 1.45;
        }

        .admin-confirm-actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.75rem;
            padding: 1.15rem 1.25rem;
            background: #ffffff;
        }

        .admin-confirm-cancel,
        .admin-confirm-submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 16px;
            border: 1px solid rgb(229 231 235);
            background: #fff;
            color: #374151;
            font-size: 0.95rem;
            font-weight: 800;
            min-height: 46px;
            padding: 0.7rem 1.15rem;
            transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
        }

        .admin-confirm-cancel:hover {
            background: #f9fafb;
            color: #111827;
        }

        .admin-confirm-submit {
            border-color: #f1c40f;
            background: #f1c40f;
            color: #111827;
            font-weight: 900;
        }

        .admin-confirm-submit:hover {
            transform: translateY(-1px);
            background: #e6b90c;
            border-color: #e6b90c;
        }

        body.admin-confirm-open {
            overflow: hidden;
        }

        .admin-guide-import-modal {
            position: fixed;
            inset: 0;
            z-index: 12110;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }

        .admin-guide-import-modal.is-open {
            display: flex;
        }

        .admin-guide-import-backdrop {
            position: absolute;
            inset: 0;
            border: 0;
            background: rgb(15 23 42 / 0.46);
            backdrop-filter: blur(4px);
        }

        .admin-guide-import-card {
            position: relative;
            width: min(100%, 1080px);
            max-height: min(92vh, 860px);
            display: flex;
            flex-direction: column;
            border-radius: 24px;
            border: 1px solid rgb(229 231 235);
            background: #ffffff;
            box-shadow: 0 28px 90px -28px rgb(15 23 42 / 0.42);
            overflow: hidden;
        }

        .admin-guide-import-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            border-bottom: 1px solid rgb(254 240 138 / 0.7);
            background: #fefce8;
            padding: 1rem 1.15rem;
        }

        .admin-guide-import-heading {
            display: flex;
            align-items: center;
            min-width: 0;
            gap: 0.85rem;
        }

        .admin-guide-import-icon {
            display: inline-flex;
            width: 2.7rem;
            height: 2.7rem;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border-radius: 0.95rem;
            border: 1px solid rgba(241, 196, 15, 0.3);
            background: #ffffff;
            color: #6b5200;
            font-size: 1.25rem;
        }

        .admin-guide-import-eyebrow {
            color: #6b7280;
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .admin-guide-import-title {
            margin-top: 0.15rem;
            color: #111827;
            font-size: 1.35rem;
            font-weight: 900;
            line-height: 1.2;
        }

        .admin-guide-import-close {
            display: inline-flex;
            width: 2.35rem;
            height: 2.35rem;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border-radius: 999px;
            border: 1px solid rgba(226, 232, 240, 0.95);
            background: #ffffff;
            color: #475569;
            transition: transform 160ms ease, background 160ms ease;
        }

        .admin-guide-import-close:hover {
            background: #f8fafc;
            transform: translateY(-1px);
        }

        .admin-guide-import-body {
            overflow: auto;
            padding: 1.15rem;
        }

        .admin-guide-import-form {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .admin-guide-import-stepbar {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .admin-guide-import-stepbar span {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            border-radius: 999px;
            border: 1px solid rgba(226, 232, 240, 0.9);
            background: #ffffff;
            color: #64748b;
            padding: 0.42rem 0.65rem;
            font-size: 0.76rem;
            font-weight: 800;
        }

        .admin-guide-import-stepbar strong {
            display: inline-flex;
            width: 1.3rem;
            height: 1.3rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #f1f5f9;
            color: #475569;
            font-size: 0.68rem;
        }

        .admin-guide-import-stepbar span.is-active {
            border-color: rgba(241, 196, 15, 0.48);
            background: #fffbea;
            color: #493900;
        }

        .admin-guide-import-stepbar span.is-active strong {
            background: #f1c40f;
            color: #111827;
        }

        .admin-guide-import-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.4fr) minmax(180px, 0.8fr);
            gap: 0.9rem;
        }

        .admin-guide-import-field {
            display: flex;
            flex-direction: column;
            gap: 0.38rem;
            min-width: 0;
        }

        .admin-guide-import-field.is-wide {
            grid-column: 1 / -1;
        }

        .admin-guide-import-field span {
            color: #475569;
            font-size: 0.76rem;
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .admin-guide-import-field input,
        .admin-guide-import-field select {
            min-height: 46px;
            width: 100%;
            border-radius: 14px;
            border: 1px solid rgba(203, 213, 225, 0.92);
            background: #ffffff;
            color: #0f172a;
            font-size: 0.92rem;
            font-weight: 700;
            outline: none;
            padding: 0.7rem 0.85rem;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-import-field input:focus,
        .admin-guide-import-field select:focus {
            border-color: #f1c40f;
            box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.14);
        }

        .admin-guide-import-note,
        .admin-guide-import-query {
            display: flex;
            align-items: flex-start;
            gap: 0.55rem;
            border-radius: 14px;
            border: 1px solid rgba(125, 211, 252, 0.42);
            background: #f0f9ff;
            color: #075985;
            padding: 0.75rem 0.85rem;
            font-size: 0.82rem;
            font-weight: 750;
            line-height: 1.45;
        }

        .admin-guide-import-actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.75rem;
            margin-top: 0.3rem;
        }

        .admin-guide-import-alert {
            margin-bottom: 1rem;
            border-radius: 14px;
            border: 1px solid rgba(241, 196, 15, 0.34);
            background: #fffbea;
            color: #624a00;
            padding: 0.75rem 0.85rem;
            font-size: 0.86rem;
            font-weight: 800;
        }

        .admin-guide-import-alert.is-loading {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 0.12rem;
        }

        .admin-guide-import-spin {
            animation: adminSpin 0.85s linear infinite;
            transform-origin: center;
        }

        .admin-guide-import-loading-dots::after {
            content: ".";
            display: inline-block;
            min-width: 1.25em;
            text-align: left;
            animation: adminGuideImportDots 1.15s steps(1, end) infinite;
        }

        .admin-section-action .admin-guide-import-loading-dots::after {
            min-width: 1.05em;
        }

        .admin-guide-import-alert.is-error {
            border-color: #fecaca;
            background: #fef2f2;
            color: #b91c1c;
        }

        .admin-guide-import-alert.is-success {
            border-color: #bbf7d0;
            background: #f0fdf4;
            color: #047857;
        }

        @keyframes adminGuideImportDots {
            0%, 24% { content: "."; }
            25%, 57% { content: ".."; }
            58%, 100% { content: "..."; }
        }

        .admin-guide-import-review-summary {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.75rem;
            margin: 1rem 0 0.75rem;
        }

        .admin-guide-import-review-summary div {
            border-radius: 16px;
            border: 1px solid rgba(226, 232, 240, 0.86);
            background: #ffffff;
            padding: 0.85rem;
        }

        .admin-guide-import-review-summary strong {
            display: block;
            color: #0f172a;
            font-size: 1.35rem;
            font-weight: 950;
            line-height: 1;
        }

        .admin-guide-import-review-summary span {
            display: block;
            margin-top: 0.25rem;
            color: #64748b;
            font-size: 0.75rem;
            font-weight: 800;
            text-transform: uppercase;
        }

        .admin-guide-import-table-wrap {
            margin-top: 0.9rem;
            overflow-x: auto;
            border-radius: 18px;
            border: 1px solid rgba(226, 232, 240, 0.95);
        }

        .admin-guide-import-table {
            width: 100%;
            min-width: 1080px;
            border-collapse: collapse;
            background: #ffffff;
            text-align: left;
        }

        .admin-guide-import-table th {
            border-bottom: 1px solid rgba(226, 232, 240, 0.95);
            background: #f8fafc;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 900;
            letter-spacing: 0.08em;
            padding: 0.75rem;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .admin-guide-import-table td {
            border-bottom: 1px solid rgba(226, 232, 240, 0.72);
            color: #334155;
            font-size: 0.82rem;
            line-height: 1.45;
            padding: 0.75rem;
            vertical-align: top;
        }

        .admin-guide-import-table tr:last-child td {
            border-bottom: 0;
        }

        .admin-guide-import-table tr.is-duplicate {
            background: #f8fafc;
            color: #64748b;
        }

        .admin-guide-import-table strong {
            display: block;
            color: #172033;
            font-size: 0.9rem;
            font-weight: 900;
        }

        .admin-guide-import-table small,
        .admin-guide-import-source,
        .admin-guide-import-muted {
            display: block;
            margin-top: 0.22rem;
            color: #94a3b8;
            font-size: 0.72rem;
            font-weight: 750;
        }

        .admin-guide-import-edit {
            width: 100%;
            min-width: 150px;
            border: 1px solid rgba(203, 213, 225, 0.95);
            border-radius: 10px;
            background: #ffffff;
            color: #172033;
            font-size: 0.78rem;
            font-weight: 750;
            line-height: 1.35;
            padding: 0.5rem 0.62rem;
            outline: none;
            transition: border-color 0.16s ease, box-shadow 0.16s ease;
        }

        .admin-guide-import-edit.is-title {
            color: #172033;
            font-size: 0.86rem;
            font-weight: 900;
        }

        .admin-guide-import-nature-select {
            margin-top: 0.45rem;
        }

        .admin-guide-import-edit-stack {
            display: flex;
            flex-direction: column;
            gap: 0.45rem;
        }

        .admin-guide-import-edit-pair {
            display: grid;
            grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
            gap: 0.45rem;
        }

        .admin-guide-import-edit:focus {
            border-color: rgba(245, 158, 11, 0.85);
            box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.13);
        }

        .admin-guide-import-edit::placeholder {
            color: #94a3b8;
        }

        .admin-guide-import-edit:disabled {
            background: #f8fafc;
            color: #94a3b8;
            cursor: not-allowed;
        }

        .admin-guide-import-pills,
        .admin-guide-import-status-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
        }

        .admin-guide-import-pill,
        .admin-guide-import-status {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            border: 1px solid rgba(203, 213, 225, 0.8);
            background: #ffffff;
            color: #475569;
            padding: 0.25rem 0.5rem;
            font-size: 0.7rem;
            font-weight: 850;
            white-space: nowrap;
        }

        .admin-guide-import-status {
            border-color: #fde68a;
            background: #fffbeb;
            color: #92400e;
        }

        .admin-guide-import-status.is-ok {
            border-color: #bbf7d0;
            background: #f0fdf4;
            color: #047857;
        }

        .admin-guide-import-status.is-blocked {
            border-color: #fecaca;
            background: #fef2f2;
            color: #b91c1c;
        }

        .admin-guide-import-empty {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.65rem;
            min-height: 180px;
            border-radius: 18px;
            border: 1px dashed rgba(203, 213, 225, 0.95);
            background: #f8fafc;
            color: #64748b;
            font-weight: 850;
            margin-top: 0.9rem;
            text-align: center;
        }

        .admin-guide-import-complete {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.65rem;
            margin-top: 1rem;
            border-radius: 18px;
            border: 1px solid rgba(187, 247, 208, 0.95);
            background: #f0fdf4;
            color: #047857;
            padding: 1.35rem;
            text-align: center;
        }

        .admin-guide-import-complete i {
            font-size: 2.4rem;
        }

        .admin-guide-import-complete strong {
            color: #064e3b;
            font-size: 1.15rem;
            font-weight: 950;
        }

        .admin-guide-import-complete p {
            margin: 0;
            color: #047857;
            font-size: 0.94rem;
            font-weight: 800;
        }

        .admin-guide-import-complete-meta {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.45rem;
        }

        .admin-guide-import-complete-meta span {
            border-radius: 999px;
            border: 1px solid rgba(16, 185, 129, 0.2);
            background: #ffffff;
            color: #047857;
            padding: 0.35rem 0.65rem;
            font-size: 0.74rem;
            font-weight: 850;
        }

        .admin-guide-public-link {
            width: min(100%, 22rem);
            max-width: 22rem;
            min-width: 0;
        }

        .admin-guide-public-link-text {
            display: block;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-guide-bulk-actions,
        .admin-module-bulk-actions {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.85rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.9);
            background: #f8fafc;
            padding: 0.85rem 1rem;
        }

        .admin-guide-bulk-actions.hidden,
        .admin-module-bulk-actions.hidden {
            display: none;
        }

        .admin-guide-bulk-actions strong,
        .admin-module-bulk-actions strong {
            display: block;
            color: #172033;
            font-size: 0.9rem;
            font-weight: 900;
        }

        .admin-guide-bulk-actions > div span,
        .admin-module-bulk-actions > div span {
            display: block;
            margin-top: 0.12rem;
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 700;
        }

        .admin-guide-bulk-checkbox {
            width: 1rem;
            height: 1rem;
            cursor: pointer;
            accent-color: #f1c40f;
        }

        .admin-guide-bulk-checkbox:disabled {
            cursor: not-allowed;
            opacity: 0.45;
        }

        body.admin-guide-import-open {
            overflow: hidden;
        }

        .admin-qr-modal {
            position: fixed;
            inset: 0;
            z-index: 12120;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }

        .admin-qr-modal.is-open {
            display: flex;
        }

        .admin-qr-backdrop {
            position: absolute;
            inset: 0;
            border: 0;
            background: rgb(0 0 0 / 0.42);
            backdrop-filter: blur(3px);
        }

        .admin-qr-card {
            position: relative;
            width: min(100%, 530px);
            border-radius: 28px;
            border: 1px solid rgb(229 231 235);
            background: #ffffff;
            box-shadow: 0 28px 80px -28px rgb(15 23 42 / 0.4);
            overflow: hidden;
        }

        .admin-qr-top {
            border-bottom: 1px solid rgb(254 240 138 / 0.65);
            background: #fefce8;
            padding: 1.15rem 1.25rem;
        }

        .admin-qr-eyebrow {
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: #6b7280;
            margin: 0;
        }

        .admin-qr-title {
            margin: 0.35rem 0 0;
            color: #111827;
            font-size: 1.45rem;
            font-weight: 900;
            line-height: 1.25;
        }

        .admin-qr-message {
            margin-top: 0.65rem;
            color: #475569;
            font-size: 0.92rem;
            line-height: 1.5;
        }

        .admin-qr-body {
            padding: 1.15rem 1.25rem;
            display: flex;
            flex-direction: column;
            gap: 0.8rem;
            background: #ffffff;
        }

        .admin-qr-preview {
            min-height: 312px;
            border-radius: 24px;
            border: 1px dashed rgba(241, 196, 15, 0.55);
            background:
                radial-gradient(640px 220px at 50% -20%, rgba(241, 196, 15, 0.16), transparent 58%),
                #fffef8;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0.95rem;
        }

        .admin-qr-preview-holder {
            width: min(100%, 300px);
            aspect-ratio: 1 / 1;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .admin-qr-preview-holder canvas,
        .admin-qr-preview-holder svg,
        .admin-qr-preview canvas,
        .admin-qr-preview svg {
            width: 100% !important;
            height: auto !important;
            border-radius: 24px;
            background: #ffffff;
            box-shadow: 0 18px 38px -28px rgba(15, 23, 42, 0.45);
        }

        .admin-qr-preview-placeholder {
            text-align: center;
            color: #64748b;
            font-size: 0.92rem;
            font-weight: 700;
        }

        .admin-qr-url-label {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #64748b;
        }

        .admin-qr-url-row {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 0.55rem;
        }

        .admin-qr-url-input {
            width: 100%;
            border-radius: 14px;
            border: 1px solid rgba(203, 213, 225, 0.9);
            background: #ffffff;
            color: #0f172a;
            font-size: 0.86rem;
            font-weight: 700;
            padding: 0.72rem 0.85rem;
            outline: none;
        }

        .admin-qr-guidance {
            margin: -0.15rem 0 0.1rem;
            border-radius: 14px;
            border: 1px solid rgba(241, 196, 15, 0.28);
            background: rgba(255, 250, 232, 0.8);
            color: #5b4b00;
            font-size: 0.78rem;
            font-weight: 700;
            line-height: 1.45;
            padding: 0.72rem 0.85rem;
        }

        .admin-qr-inline-btn {
            border-radius: 14px;
            border: 1px solid rgba(125, 211, 252, 0.65);
            background: rgba(240, 249, 255, 0.98);
            color: #0369a1;
            font-size: 0.82rem;
            font-weight: 900;
            padding: 0.7rem 0.95rem;
            transition: transform 160ms ease, background-color 160ms ease;
        }

        .admin-qr-inline-btn:hover {
            background: rgba(224, 242, 254, 0.98);
            transform: translateY(-1px);
        }

        .admin-qr-inline-btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            transform: none;
        }

        .admin-qr-actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.75rem;
            margin-top: 0.15rem;
        }

        body.admin-qr-open {
            overflow: hidden;
        }

        @media (max-width: 640px) {
            .admin-confirm-top {
                padding: 1rem 1rem 0.95rem;
            }

            .admin-confirm-title {
                font-size: 1.35rem;
            }

            .admin-confirm-actions {
                padding: 0.95rem 1rem 1rem;
                gap: 0.65rem;
                flex-direction: column-reverse;
            }

            .admin-confirm-cancel,
            .admin-confirm-submit {
                width: 100%;
                justify-content: center;
            }

            .admin-guide-import-modal {
                align-items: stretch;
                padding: 0;
            }

            .admin-guide-import-card {
                width: 100%;
                max-height: 100vh;
                border-radius: 0;
            }

            .admin-guide-import-header,
            .admin-guide-import-body {
                padding: 0.95rem 1rem;
            }

            .admin-guide-import-title {
                font-size: 1.15rem;
            }

            .admin-guide-import-grid,
            .admin-guide-import-review-summary {
                grid-template-columns: 1fr;
            }

            .admin-guide-import-actions {
                flex-direction: column-reverse;
            }

            .admin-guide-import-actions .admin-section-action {
                width: 100%;
            }

            .admin-guide-import-edit-pair {
                grid-template-columns: 1fr;
            }

            .admin-guide-bulk-actions,
            .admin-module-bulk-actions {
                align-items: stretch;
                flex-direction: column;
            }

            .admin-guide-bulk-actions .admin-section-action,
            .admin-module-bulk-actions .admin-section-action {
                width: 100%;
            }

            .admin-qr-top {
                padding: 1rem 1rem 0.95rem;
            }

            .admin-qr-title {
                font-size: 1.25rem;
            }

            .admin-qr-body {
                padding: 0.95rem 1rem 1rem;
            }

            .admin-qr-preview {
                min-height: 270px;
            }

            .admin-qr-url-row {
                grid-template-columns: 1fr;
            }

            .admin-qr-actions {
                flex-direction: column-reverse;
                margin-top: 0.2rem;
            }

            .admin-qr-actions .admin-confirm-cancel,
            .admin-qr-actions .admin-confirm-submit {
                width: 100%;
                justify-content: center;
            }
        }

        .admin-editor-savebar {
            position: sticky;
            bottom: 1rem;
            z-index: 15;
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
            border: 1px solid rgba(241, 196, 15, 0.3);
            border-radius: 1.15rem;
            background: rgba(255, 255, 255, 0.9);
            padding: 0.75rem;
            box-shadow: 0 20px 42px -32px rgba(15, 23, 42, 0.55);
            backdrop-filter: blur(12px);
        }

        @media (min-width: 768px) {
            .admin-editor-hero {
                grid-template-columns: auto 1fr;
                padding: 1.15rem 1.25rem;
            }

            .admin-editor-heading {
                order: -1;
            }

            .admin-editor-back {
                justify-self: end;
                align-self: center;
            }

            .admin-editor-card {
                padding: 1.25rem;
            }

            .admin-editor-card-heading {
                flex-direction: row;
                align-items: start;
                justify-content: space-between;
            }

            .admin-editor-savebar {
                flex-direction: row;
                align-items: center;
                justify-content: flex-end;
            }
        }

        .admin-stat-card {
            background: rgba(255, 255, 255, 0.9);
            border: 1px solid var(--dash-panel-border);
            box-shadow: 0 18px 32px -28px rgba(123, 90, 0, 0.18), 0 12px 24px -24px rgba(241, 196, 15, 0.44);
            transition: transform 180ms ease, box-shadow 180ms ease;
        }

        .admin-stat-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 22px 38px -28px rgba(123, 90, 0, 0.24);
        }

        .admin-account-trigger {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 4px;
            border-radius: 999px;
            border: 1px solid rgba(241, 196, 15, 0.28);
            background: rgba(255, 255, 255, 0.88);
            box-shadow: 0 12px 26px -24px rgba(123, 90, 0, 0.35);
            transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
        }

        .admin-account-trigger:hover {
            transform: translateY(-1px);
            border-color: rgba(241, 196, 15, 0.52);
            box-shadow: 0 16px 32px -24px rgba(123, 90, 0, 0.4);
        }

        .admin-account-trigger:focus-visible {
            outline: 2px solid rgba(241, 196, 15, 0.42);
            outline-offset: 2px;
        }

        .admin-dashboard-alert-trigger {
            position: relative;
            width: 38px;
            height: 38px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #94a3b8;
            transition: color 160ms ease, background 160ms ease, transform 160ms ease;
        }

        .admin-dashboard-alert-trigger:hover,
        .admin-dashboard-alert-trigger[aria-expanded="true"] {
            color: #9a7a00;
            background: rgba(255, 247, 217, 0.84);
            transform: translateY(-1px);
        }

        .admin-dashboard-alert-trigger:focus-visible {
            outline: 2px solid rgba(241, 196, 15, 0.42);
            outline-offset: 2px;
        }

        .admin-dashboard-alert-count {
            position: absolute;
            right: 2px;
            top: 2px;
            min-width: 17px;
            height: 17px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 4px;
            border: 2px solid #fff;
            background: #ef4444;
            color: #fff;
            font-size: 10px;
            font-weight: 800;
            line-height: 1;
        }

        .admin-dashboard-alert-count.hidden {
            display: none;
        }

        .admin-avatar-shell {
            width: 40px;
            height: 40px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            background: linear-gradient(135deg, #f1c40f 0%, #f7d75a 100%);
            color: #2b1e00;
            font-weight: 800;
            letter-spacing: 0.02em;
            flex-shrink: 0;
        }

        .admin-avatar-shell.admin-avatar-lg {
            width: 52px;
            height: 52px;
            font-size: 1rem;
        }

        .admin-avatar-shell img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .admin-account-menu {
            position: absolute;
            top: calc(100% + 12px);
            right: 0;
            width: min(320px, calc(100vw - 32px));
            z-index: 45;
        }

        .admin-account-menu-card {
            position: relative;
            border-radius: 22px;
            border: 1px solid rgba(241, 196, 15, 0.28);
            background: rgba(255, 255, 255, 0.96);
            box-shadow: 0 28px 50px -34px rgba(15, 23, 42, 0.42);
            backdrop-filter: blur(14px);
            overflow: hidden;
        }

        .admin-account-menu-card::before {
            content: '';
            position: absolute;
            inset: 0 0 auto 0;
            height: 132px;
            background:
                radial-gradient(220px 120px at 14% 14%, rgba(241, 196, 15, 0.22), transparent 72%),
                linear-gradient(180deg, rgba(255, 250, 233, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
            pointer-events: none;
        }

        .admin-account-menu-hero {
            position: relative;
            border-radius: 20px;
            border: 1px solid rgba(241, 196, 15, 0.22);
            background:
                linear-gradient(135deg, rgba(255, 247, 217, 0.96) 0%, rgba(255, 255, 255, 0.98) 62%),
                #fff;
            padding: 16px;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
        }

        .admin-account-menu-kicker {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #9a7a00;
        }

        .admin-account-menu-subtitle {
            margin-top: 10px;
            font-size: 12px;
            line-height: 1.5;
            color: #6b7280;
        }

        .admin-dashboard-alerts-menu {
            position: absolute;
            top: calc(100% + 18px);
            right: -16px;
            width: min(390px, calc(100vw - 32px));
            z-index: 45;
        }

        .admin-dashboard-alerts-header {
            position: relative;
            display: flex;
            gap: 12px;
            align-items: flex-start;
            border-radius: 20px;
            border: 1px solid rgba(241, 196, 15, 0.22);
            background:
                linear-gradient(135deg, rgba(255, 247, 217, 0.96) 0%, rgba(255, 255, 255, 0.98) 62%),
                #fff;
            padding: 14px;
        }

        .admin-dashboard-alerts-icon {
            width: 38px;
            height: 38px;
            border-radius: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            background: rgba(241, 196, 15, 0.18);
            color: #9a7a00;
            font-size: 18px;
        }

        .admin-dashboard-alerts-title {
            margin-top: 4px;
            color: #0f172a;
            font-size: 15px;
            font-weight: 800;
        }

        .admin-dashboard-alerts-list {
            position: relative;
            margin-top: 12px;
            display: grid;
            gap: 8px;
            max-height: min(420px, calc(100vh - 180px));
            overflow-y: auto;
            padding-right: 2px;
        }

        .admin-dashboard-alert-item {
            width: 100%;
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr) auto;
            align-items: start;
            gap: 10px;
            border-radius: 16px;
            border: 1px solid rgba(226, 232, 240, 0.82);
            background: rgba(248, 250, 252, 0.92);
            padding: 10px;
            text-align: left;
            transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
        }

        .admin-dashboard-alert-item:hover {
            border-color: rgba(241, 196, 15, 0.38);
            background: #fff;
            transform: translateY(-1px);
        }

        .admin-dashboard-alert-item.is-unread {
            border-color: rgba(241, 196, 15, 0.42);
            background: rgba(255, 251, 235, 0.92);
        }

        .admin-dashboard-alert-item-icon {
            width: 34px;
            height: 34px;
            border-radius: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #fff7d9;
            color: #9a7a00;
            font-size: 17px;
        }

        .admin-dashboard-alert-item.is-sky .admin-dashboard-alert-item-icon {
            background: #e0f2fe;
            color: #0369a1;
        }

        .admin-dashboard-alert-item.is-emerald .admin-dashboard-alert-item-icon {
            background: #dcfce7;
            color: #047857;
        }

        .admin-dashboard-alert-item.is-rose .admin-dashboard-alert-item-icon {
            background: #ffe4e6;
            color: #be123c;
        }

        .admin-dashboard-alert-item-title {
            color: #1f2937;
            font-size: 13px;
            font-weight: 800;
            line-height: 1.25;
        }

        .admin-dashboard-alert-item-text {
            margin-top: 3px;
            color: #64748b;
            font-size: 12px;
            line-height: 1.4;
        }

        .admin-dashboard-alert-item-date {
            color: #94a3b8;
            font-size: 11px;
            font-weight: 700;
            white-space: nowrap;
        }

        .admin-dashboard-alerts-empty {
            position: relative;
            border-radius: 16px;
            border: 1px dashed rgba(241, 196, 15, 0.45);
            background: rgba(255, 253, 239, 0.78);
            padding: 14px;
            color: #64748b;
            font-size: 13px;
            line-height: 1.45;
        }

        .admin-account-divider {
            border-top: 1px solid rgba(226, 232, 240, 0.86);
        }

        .admin-provider-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            border-radius: 999px;
            border: 1px solid rgba(148, 163, 184, 0.32);
            background: rgba(248, 250, 252, 0.92);
            color: #475569;
            font-size: 11px;
            font-weight: 700;
            padding: 4px 10px;
            white-space: nowrap;
        }

        .admin-account-section-label {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #8b6e00;
        }

        .admin-account-actions {
            display: grid;
            gap: 10px;
        }

        .admin-account-action {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 12px;
            border-radius: 16px;
            border: 1px solid rgba(241, 196, 15, 0.16);
            padding: 13px 14px;
            color: #334155;
            font-size: 14px;
            font-weight: 700;
            text-align: left;
            background: linear-gradient(135deg, rgba(255, 252, 242, 0.94) 0%, rgba(255, 255, 255, 0.98) 100%);
            transition: background 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-account-action:hover {
            background: linear-gradient(135deg, rgba(255, 246, 212, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
            border-color: rgba(241, 196, 15, 0.3);
            color: #1f2937;
            box-shadow: 0 18px 28px -24px rgba(123, 90, 0, 0.26);
        }

        .admin-account-action:active {
            transform: scale(0.99);
        }

        .admin-account-action-icon {
            width: 34px;
            height: 34px;
            border-radius: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(241, 196, 15, 0.16);
            color: #7d5a00;
            flex-shrink: 0;
        }

        .admin-account-action-text {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 2px;
            flex: 1;
            min-width: 0;
            text-align: left;
        }

        .admin-account-action-text small {
            display: block;
            font-size: 11px;
            font-weight: 600;
            color: #64748b;
            text-align: left;
        }

        .admin-account-future-note {
            border-radius: 18px;
            border: 1px dashed rgba(241, 196, 15, 0.38);
            background: rgba(255, 251, 239, 0.92);
            color: #6b5b1d;
            padding: 12px 14px;
            font-size: 12px;
            line-height: 1.5;
        }

        .admin-account-modal {
            position: fixed;
            inset: 0;
            z-index: 80;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 24px 16px;
        }

        .admin-account-modal.is-open {
            display: flex;
        }

        .admin-account-modal-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.38);
            backdrop-filter: blur(4px);
        }

        .admin-account-modal-card {
            position: relative;
            width: min(100%, 560px);
            max-height: min(88vh, 760px);
            overflow: auto;
            border-radius: 26px;
            border: 1px solid rgba(241, 196, 15, 0.3);
            background: rgba(255, 255, 255, 0.97);
            box-shadow: 0 36px 68px -40px rgba(15, 23, 42, 0.5);
        }

        .admin-account-modal-close {
            width: 40px;
            height: 40px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #64748b;
            transition: background 160ms ease, color 160ms ease;
        }

        .admin-account-modal-close:hover {
            background: rgba(241, 196, 15, 0.12);
            color: #334155;
        }

        .admin-account-field-label {
            display: block;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #64748b;
            margin-bottom: 8px;
        }

        .admin-account-input {
            width: 100%;
            border-radius: 16px;
            border: 1px solid rgba(203, 213, 225, 0.92);
            background: #fff;
            padding: 14px 16px;
            color: #0f172a;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-account-input:focus {
            outline: none;
            border-color: rgba(241, 196, 15, 0.92);
            box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.18);
        }

        .admin-account-submit {
            width: 100%;
            border-radius: 16px;
            border: 0;
            padding: 14px 16px;
            background: linear-gradient(90deg, #f1c40f 0%, #f8d546 100%);
            color: #1f2937;
            font-weight: 800;
            box-shadow: 0 18px 32px -24px rgba(228, 184, 0, 0.72);
            transition: transform 160ms ease, box-shadow 160ms ease;
        }

        .admin-account-submit:hover {
            transform: translateY(-1px);
            box-shadow: 0 20px 36px -24px rgba(228, 184, 0, 0.78);
        }

        .admin-account-submit:disabled {
            opacity: 0.65;
            cursor: not-allowed;
            transform: none;
        }

        .admin-account-note {
            border-radius: 18px;
            border: 1px solid rgba(241, 196, 15, 0.22);
            background: rgba(255, 249, 228, 0.7);
            color: #5b4b00;
            padding: 14px 16px;
            font-size: 13px;
            line-height: 1.5;
        }

        .admin-account-photo-preview {
            width: 92px;
            height: 92px;
            border-radius: 999px;
            margin: 0 auto;
            border: 4px solid rgba(241, 196, 15, 0.22);
            box-shadow: 0 18px 28px -22px rgba(123, 90, 0, 0.32);
        }

        .admin-nav-btn {
            color: #543c00;
            font-weight: 700;
            border-left: 4px solid transparent;
            gap: 12px;
            transition: all 170ms ease;
        }

        .admin-nav-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            flex: 0 0 24px;
        }

        .admin-nav-label {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            transition: opacity 160ms ease, width 160ms ease;
        }

        .admin-nav-group-toggle {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 15px 24px 7px;
            color: rgba(84, 60, 0, 0.72);
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            outline: none;
            transition: color 160ms ease, background 160ms ease;
        }

        .admin-nav-group-toggle:hover,
        .admin-nav-group-toggle.is-open {
            color: #4b3500;
        }

        .admin-nav-group-toggle i {
            font-size: 14px;
            transition: transform 160ms ease;
        }

        .admin-nav-group-toggle.is-open i {
            transform: rotate(180deg);
        }

        .admin-nav-group-panel {
            overflow: hidden;
        }

        .admin-nav-btn:hover {
            color: #2f2200;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.12));
        }

        .admin-nav-btn.is-active {
            color: #241900;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.18));
            border-left-color: #7d5a00;
        }

        @media (min-width: 768px) {
            #admin-layout.admin-sidebar-collapsed #admin-sidebar {
                width: 4.75rem;
                min-width: 4.75rem;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-header {
                padding: 12px 9px;
                flex-direction: column;
                justify-content: center;
                min-height: 104px;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-brand-shell {
                justify-content: center;
                width: 100%;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-brand-logo-full {
                display: none;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-brand-logo-icon {
                display: block;
                width: 36px;
                height: 36px;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-collapse-toggle {
                width: 30px;
                height: 30px;
                background: rgba(255, 255, 255, 0.5);
            }

            #admin-layout.admin-sidebar-collapsed #admin-menu {
                padding: 4px 0 6px;
                overflow-x: visible;
                scrollbar-width: none;
                -ms-overflow-style: none;
            }

            #admin-layout.admin-sidebar-collapsed #admin-menu::-webkit-scrollbar {
                width: 0;
                height: 0;
                display: none;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-group-panel.hidden {
                display: block !important;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-group-toggle {
                height: 12px;
                justify-content: center;
                padding: 4px 0 2px;
                pointer-events: none;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-group-toggle span,
            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-group-toggle i {
                display: none;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-group-toggle::after {
                content: '';
                display: block;
                width: 30px;
                border-top: 1px solid rgba(126, 92, 0, 0.18);
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-btn {
                justify-content: center;
                width: calc(100% - 16px);
                min-height: 34px;
                margin: 1px 8px;
                padding: 7px 0;
                border-left-width: 0;
                border-left-color: transparent;
                border-radius: 12px;
                gap: 0;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-btn:hover,
            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-btn.is-active {
                background: rgba(255, 255, 255, 0.46);
                box-shadow: inset 0 0 0 1px rgba(126, 92, 0, 0.16);
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-icon {
                width: 21px;
                flex-basis: 21px;
                font-size: 20px;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .admin-nav-label,
            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-logout-label {
                width: 0;
                opacity: 0;
                pointer-events: none;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-divider.p-4 {
                padding: 10px 8px;
            }

            #admin-layout.admin-sidebar-collapsed #admin-sidebar .sidebar-logout-btn {
                justify-content: center;
                padding: 9px 0;
                gap: 0;
            }
        }

        .admin-access-chip {
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            border-radius: 999px;
            border: 1px solid rgba(241, 196, 15, 0.5);
            background: rgba(255, 249, 228, 0.82);
            color: #805b00;
            padding: 4px 10px;
            white-space: nowrap;
        }

        .admin-permission-hint {
            border-radius: 12px;
            border: 1px solid rgba(241, 196, 15, 0.45);
            background: linear-gradient(90deg, rgba(255, 247, 217, 0.75), rgba(255, 255, 255, 0.74));
            box-shadow: 0 12px 28px -26px rgba(15, 23, 42, 0.65);
        }

        .admin-action-feedback.hidden {
            display: none !important;
        }

        .admin-action-feedback:not(.hidden) {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            opacity: 1;
            transform: translateY(0);
            transition: opacity 220ms ease, transform 220ms ease;
        }

        .admin-action-feedback.is-dismissing {
            opacity: 0;
            transform: translateY(-4px);
        }

        .admin-action-feedback-text {
            min-width: 0;
            line-height: 1.45;
        }

        .admin-action-feedback-dismiss {
            width: 30px;
            height: 30px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border-radius: 999px;
            border: 1px solid currentColor;
            color: inherit;
            opacity: 0.72;
            transition: opacity 150ms ease, background 150ms ease, transform 150ms ease;
        }

        .admin-action-feedback-dismiss:hover,
        .admin-action-feedback-dismiss:focus-visible {
            opacity: 1;
            background: rgba(255, 255, 255, 0.58);
        }

        .admin-action-feedback-dismiss:active {
            transform: scale(0.94);
        }

        .admin-guide-plan-editor {
            border: 1px solid rgba(241, 196, 15, 0.42);
            border-radius: 1.1rem;
            background: linear-gradient(135deg, rgba(255, 251, 235, 0.78), rgba(255, 255, 255, 0.96));
            padding: 1rem;
            box-shadow: 0 18px 36px -32px rgba(120, 89, 0, 0.5);
        }

        .admin-guide-plan-editor-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 0.85rem;
        }

        .admin-guide-plan-editor-heading p {
            margin-top: 0.25rem;
            color: #64748b;
            font-size: 0.82rem;
            line-height: 1.45;
        }

        .admin-guide-plan-editor-heading strong {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(241, 196, 15, 0.58);
            background: #fff7cc;
            color: #7c5c00;
            padding: 0.34rem 0.72rem;
            font-size: 0.72rem;
            font-weight: 900;
            white-space: nowrap;
        }

        .admin-guide-plan-options {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.75rem;
        }

        .admin-guide-plan-card {
            display: flex;
            min-height: 142px;
            cursor: pointer;
            flex-direction: column;
            gap: 0.55rem;
            border: 1px solid rgba(203, 213, 225, 0.9);
            border-radius: 1rem;
            background: rgba(255, 255, 255, 0.92);
            padding: 0.9rem;
            transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
        }

        .admin-guide-plan-card:hover {
            border-color: rgba(241, 196, 15, 0.78);
            box-shadow: 0 18px 28px -28px rgba(120, 89, 0, 0.8);
            transform: translateY(-1px);
        }

        .admin-guide-plan-card.is-selected {
            border-color: rgba(241, 196, 15, 0.95);
            background: #fffbea;
            box-shadow: 0 0 0 4px rgba(241, 196, 15, 0.14), 0 18px 30px -28px rgba(120, 89, 0, 0.7);
        }

        .admin-guide-plan-card.is-disabled {
            cursor: not-allowed;
            opacity: 0.58;
            transform: none;
        }

        .admin-guide-plan-card.is-locked {
            cursor: default;
        }

        .admin-guide-plan-card-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.7rem;
        }

        .admin-guide-plan-card-top span {
            color: #111827;
            font-size: 0.96rem;
            font-weight: 900;
            line-height: 1.2;
        }

        .admin-guide-plan-card-top strong {
            color: #0f172a;
            font-size: 0.9rem;
            font-weight: 950;
            line-height: 1.2;
            text-align: right;
            white-space: nowrap;
        }

        .admin-guide-plan-card em {
            align-self: flex-start;
            border-radius: 999px;
            border: 1px solid rgba(241, 196, 15, 0.5);
            background: rgba(255, 247, 204, 0.78);
            color: #805b00;
            padding: 0.22rem 0.52rem;
            font-size: 0.68rem;
            font-style: normal;
            font-weight: 900;
            line-height: 1;
        }

        .admin-guide-plan-card small {
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 650;
            line-height: 1.45;
        }

        .admin-guide-plan-editor-note {
            margin-top: 0.85rem;
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 700;
            line-height: 1.45;
        }

        .admin-guide-modules-editor {
            margin-top: 0.95rem;
            border: 1px solid rgba(241, 196, 15, 0.28);
            border-radius: 1.05rem;
            background: linear-gradient(135deg, rgba(255, 252, 241, 0.72), rgba(255, 255, 255, 0.95));
            padding: 0.9rem;
            box-shadow: 0 16px 34px -34px rgba(120, 89, 0, 0.5);
        }

        .admin-guide-modules-editor.is-readonly {
            opacity: 0.86;
        }

        .admin-guide-modules-editor-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.9rem;
            margin-bottom: 0.72rem;
        }

        .admin-guide-modules-editor-heading p {
            margin-top: 0.24rem;
            color: #64748b;
            font-size: 0.8rem;
            line-height: 1.42;
        }

        .admin-guide-modules-editor-heading strong {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            border: 1px solid rgba(241, 196, 15, 0.44);
            background: rgba(255, 247, 204, 0.74);
            color: #7c5c00;
            padding: 0.3rem 0.66rem;
            font-size: 0.7rem;
            font-weight: 850;
            white-space: nowrap;
        }

        .admin-guide-modules-options {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.62rem;
        }

        .admin-guide-module-option {
            display: grid;
            align-content: start;
            gap: 0.42rem;
            min-width: 0;
        }

        .admin-guide-module-card {
            --module-accent: rgba(241, 196, 15, 0.72);
            --module-accent-strong: rgba(241, 196, 15, 0.94);
            --module-soft-bg: #fffbea;
            --module-soft-shadow: rgba(120, 89, 0, 0.7);
            --module-title: #7c5c00;
            --module-ring: rgba(241, 196, 15, 0.16);
            --module-chip-bg: rgba(255, 247, 204, 0.76);
            --module-chip-border: rgba(241, 196, 15, 0.5);
            display: flex;
            min-height: 104px;
            cursor: pointer;
            flex-direction: column;
            gap: 0.48rem;
            border: 1px solid rgba(203, 213, 225, 0.9);
            border-radius: 0.95rem;
            background: rgba(255, 255, 255, 0.93);
            padding: 0.78rem;
            transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
        }

        .admin-guide-module-card:hover {
            border-color: var(--module-accent);
            box-shadow: 0 14px 24px -24px var(--module-soft-shadow);
            transform: translateY(-1px);
        }

        .admin-guide-module-card.is-selected {
            border-color: var(--module-accent-strong);
            background: var(--module-soft-bg);
            box-shadow: 0 0 0 4px var(--module-ring), 0 14px 24px -24px var(--module-soft-shadow);
        }

        .admin-guide-module-card[data-module-theme="catalog"] {
            --module-accent: rgba(241, 196, 15, 0.72);
            --module-accent-strong: rgba(241, 196, 15, 0.94);
            --module-soft-bg: rgba(255, 249, 219, 0.88);
            --module-soft-shadow: rgba(120, 89, 0, 0.74);
            --module-title: #7c5c00;
            --module-ring: rgba(241, 196, 15, 0.16);
            --module-chip-bg: rgba(255, 247, 204, 0.78);
            --module-chip-border: rgba(241, 196, 15, 0.5);
        }

        .admin-guide-module-card[data-module-theme="delivery"] {
            --module-accent: rgba(249, 115, 22, 0.68);
            --module-accent-strong: rgba(234, 88, 12, 0.9);
            --module-soft-bg: rgba(255, 237, 213, 0.9);
            --module-soft-shadow: rgba(154, 52, 18, 0.68);
            --module-title: #9a3412;
            --module-ring: rgba(249, 115, 22, 0.17);
            --module-chip-bg: rgba(255, 237, 213, 0.88);
            --module-chip-border: rgba(249, 115, 22, 0.5);
        }

        .admin-guide-module-card[data-module-theme="appointment"] {
            --module-accent: rgba(15, 118, 110, 0.62);
            --module-accent-strong: rgba(15, 118, 110, 0.9);
            --module-soft-bg: rgba(204, 251, 241, 0.9);
            --module-soft-shadow: rgba(15, 118, 110, 0.62);
            --module-title: #0f766e;
            --module-ring: rgba(15, 118, 110, 0.17);
            --module-chip-bg: rgba(204, 251, 241, 0.88);
            --module-chip-border: rgba(15, 118, 110, 0.46);
        }

        .admin-guide-module-card[data-module-theme="reservation"],
        .admin-guide-module-card[data-module-theme="accommodation"] {
            --module-accent: rgba(124, 58, 237, 0.64);
            --module-accent-strong: rgba(109, 40, 217, 0.9);
            --module-soft-bg: rgba(237, 233, 254, 0.92);
            --module-soft-shadow: rgba(76, 29, 149, 0.64);
            --module-title: #6d28d9;
            --module-ring: rgba(124, 58, 237, 0.16);
            --module-chip-bg: rgba(237, 233, 254, 0.9);
            --module-chip-border: rgba(124, 58, 237, 0.48);
        }

        .admin-guide-module-card[data-module-theme="real_estate"] {
            --module-accent: rgba(37, 99, 235, 0.62);
            --module-accent-strong: rgba(29, 78, 216, 0.9);
            --module-soft-bg: rgba(219, 234, 254, 0.9);
            --module-soft-shadow: rgba(30, 64, 175, 0.62);
            --module-title: #1d4ed8;
            --module-ring: rgba(37, 99, 235, 0.16);
            --module-chip-bg: rgba(219, 234, 254, 0.9);
            --module-chip-border: rgba(37, 99, 235, 0.46);
        }

        .admin-guide-module-card.is-disabled {
            cursor: not-allowed;
            opacity: 0.66;
            transform: none;
        }

        .admin-guide-module-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.65rem;
        }

        .admin-guide-module-card-title-wrap {
            display: inline-flex;
            min-width: 0;
            align-items: center;
            gap: 0.56rem;
        }

        .admin-guide-module-card-icon {
            display: inline-flex;
            width: 1.92rem;
            height: 1.92rem;
            flex-shrink: 0;
            align-items: center;
            justify-content: center;
            border-radius: 0.68rem;
            border: 1px solid var(--module-chip-border);
            background: var(--module-chip-bg);
            color: var(--module-title);
            font-size: 1rem;
            transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
        }

        .admin-guide-module-card:hover .admin-guide-module-card-icon,
        .admin-guide-module-card.is-selected .admin-guide-module-card-icon {
            border-color: var(--module-accent-strong);
            background: var(--module-soft-bg);
        }

        .admin-guide-module-card-top strong {
            color: var(--module-title);
            font-size: 0.9rem;
            font-weight: 850;
            line-height: 1.18;
        }

        .admin-guide-module-card small {
            display: -webkit-box;
            min-height: calc(0.76rem * 1.42 * 3);
            overflow: hidden;
            color: #64748b;
            font-size: 0.76rem;
            font-weight: 620;
            line-height: 1.42;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
        }

        .admin-guide-module-card-links {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.7rem;
            padding: 0.02rem 0.2rem 0;
        }

        .admin-guide-module-card-links[hidden] {
            display: none !important;
        }

        .admin-guide-module-card-link {
            display: inline-flex;
            align-items: center;
            gap: 0.28rem;
            color: var(--module-title, #0f766e);
            font-size: 0.72rem;
            font-weight: 640;
            line-height: 1.1;
            text-decoration: none;
            transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
        }

        .admin-guide-module-card-link i {
            color: currentColor;
            font-size: 0.86rem;
        }

        .admin-guide-module-card-link:hover {
            color: var(--module-accent-strong, #0f766e);
            opacity: 0.82;
            text-decoration: none;
            transform: translateY(-1px);
        }

        .admin-guide-module-card-link[data-module-theme="catalog"] {
            --module-accent-strong: #b45309;
            --module-title: #7c5c00;
        }

        .admin-guide-module-card-link[data-module-theme="delivery"] {
            --module-accent-strong: #c2410c;
            --module-title: #9a3412;
        }

        .admin-guide-module-card-link[data-module-theme="appointment"] {
            --module-accent-strong: #115e59;
            --module-title: #0f766e;
        }

        .admin-guide-module-card-link[data-module-theme="reservation"],
        .admin-guide-module-card-link[data-module-theme="accommodation"] {
            --module-accent-strong: #6d28d9;
            --module-title: #6d28d9;
        }

        .admin-guide-module-card-link.is-disabled,
        .admin-guide-module-card-link[aria-disabled="true"] {
            cursor: not-allowed;
            color: #94a3b8;
            pointer-events: none;
            transform: none;
        }

        .admin-guide-module-actions {
            margin-top: 0.82rem;
            display: grid;
            gap: 0.48rem;
        }

        .admin-guide-module-action-strip {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.55rem;
        }

        .admin-guide-module-action-btn {
            display: inline-flex;
            min-width: min(100%, 13.2rem);
            align-items: center;
            gap: 0.54rem;
            border: 1px solid var(--module-chip-border, rgba(15, 118, 110, 0.45));
            border-radius: 0.95rem;
            background: var(--module-soft-bg, rgba(240, 253, 250, 0.92));
            color: var(--module-title, #0f766e);
            padding: 0.48rem 0.7rem;
            font-size: 0.76rem;
            font-weight: 760;
            line-height: 1.2;
            text-align: left;
            box-shadow: 0 10px 22px -24px var(--module-soft-shadow, rgba(15, 23, 42, 0.75));
            transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-module-action-btn:hover {
            border-color: var(--module-accent-strong, rgba(15, 118, 110, 0.82));
            background: #fff;
            box-shadow: 0 14px 26px -24px var(--module-soft-shadow, rgba(15, 23, 42, 0.82));
            transform: translateY(-1px);
        }

        .admin-guide-module-action-btn[data-module-theme="catalog"] {
            --module-accent-strong: rgba(241, 196, 15, 0.94);
            --module-soft-bg: rgba(255, 249, 219, 0.78);
            --module-soft-shadow: rgba(120, 89, 0, 0.74);
            --module-title: #7c5c00;
            --module-chip-border: rgba(241, 196, 15, 0.5);
        }

        .admin-guide-module-action-btn[data-module-theme="appointment"] {
            --module-accent-strong: rgba(15, 118, 110, 0.9);
            --module-soft-bg: rgba(204, 251, 241, 0.76);
            --module-soft-shadow: rgba(15, 118, 110, 0.62);
            --module-title: #0f766e;
            --module-chip-border: rgba(15, 118, 110, 0.46);
        }

        .admin-guide-module-action-icon {
            display: inline-flex;
            width: 2rem;
            height: 2rem;
            flex: 0 0 auto;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--module-chip-border, rgba(15, 118, 110, 0.22));
            border-radius: 0.72rem;
            background: rgba(255, 255, 255, 0.88);
            color: var(--module-title, #0f766e);
            font-size: 1rem;
        }

        .admin-guide-module-action-text {
            display: grid;
            min-width: 0;
            gap: 0.08rem;
        }

        .admin-guide-module-action-text strong {
            overflow: hidden;
            color: var(--module-title, #0f766e);
            font-size: 0.8rem;
            font-weight: 850;
            line-height: 1.16;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-guide-module-action-text small {
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 660;
            line-height: 1.2;
        }

        .admin-guide-module-action-btn:focus-visible {
            outline: 2px solid rgba(15, 118, 110, 0.35);
            outline-offset: 2px;
        }

        .admin-guide-module-action-btn.is-disabled,
        .admin-guide-module-action-btn:disabled {
            cursor: not-allowed;
            border-color: rgba(148, 163, 184, 0.65);
            background: rgba(241, 245, 249, 0.9);
            color: #64748b;
            box-shadow: none;
            transform: none;
        }

        .admin-guide-module-action-btn.is-disabled .admin-guide-module-action-icon,
        .admin-guide-module-action-btn:disabled .admin-guide-module-action-icon,
        .admin-guide-module-action-btn.is-disabled .admin-guide-module-action-text strong,
        .admin-guide-module-action-btn:disabled .admin-guide-module-action-text strong {
            color: #64748b;
        }

        body.admin-guide-module-overlay-open {
            overflow: hidden;
        }

        #view-editor-registro {
            position: relative;
            overflow-x: hidden;
        }

        #view-editor-registro .admin-editor-shell {
            transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 240ms ease;
            transform: translateX(0%);
        }

        #view-editor-registro.is-guide-module-overlay-open .admin-editor-shell {
            transform: translateX(-108%);
            opacity: 0.03;
            pointer-events: none;
        }

        .admin-guide-module-screen-shell {
            overflow: visible;
            border-radius: 0;
            border: 0;
            background: transparent;
        }

        .admin-guide-module-screen-track {
            display: grid;
            grid-auto-rows: auto;
            align-content: start;
            align-items: start;
            gap: 1rem;
            min-height: 0;
            width: 100%;
            position: relative;
        }

        #view-editor-registro.is-guide-module-overlay-open .admin-guide-module-screen-shell.is-module-screen-open {
            position: absolute;
            inset: 0;
            z-index: 35;
            border: 0;
            border-radius: 0;
            background: transparent;
            padding: 0;
            overflow-y: auto;
            box-shadow: none;
        }

        #view-editor-registro.is-guide-module-overlay-open .admin-guide-module-screen-shell.is-module-screen-open .admin-guide-module-screen-track {
            display: grid;
            gap: 1rem;
            grid-auto-rows: auto;
            align-content: start;
            align-items: start;
            width: 100%;
            min-height: 100%;
            margin: 0;
        }

        #view-editor-registro.is-guide-module-overlay-open .admin-guide-module-screen-shell.is-module-screen-open .admin-guide-module-screen {
            min-height: 0;
            border: 1px solid rgba(203, 213, 225, 0.78);
            border-radius: 1.18rem;
            background: rgba(255, 255, 255, 0.96);
            box-shadow:
                0 18px 34px -32px rgba(15, 23, 42, 0.46),
                0 8px 18px -20px rgba(15, 118, 110, 0.18);
            padding: 1rem 1.25rem 1.28rem;
            overflow: hidden;
        }

        .admin-guide-module-screen {
            width: 100%;
            min-width: 0;
            padding: 0.85rem;
            border-radius: 1.18rem;
            background: #ffffff;
            box-shadow:
                0 18px 34px -32px rgba(15, 23, 42, 0.42),
                0 8px 18px -20px rgba(15, 118, 110, 0.14);
            overflow: hidden;
        }

        .admin-guide-module-screen:not([data-admin-guide-screen="home"]) {
            display: none;
        }

        .admin-guide-module-screen-shell.is-module-screen-open .admin-guide-module-screen[data-admin-guide-screen="home"] {
            display: none;
        }

        .admin-guide-module-screen-shell.is-module-screen-open .admin-guide-module-screen[data-admin-guide-screen-active="true"] {
            display: block;
        }

        .admin-guide-module-screen-header {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 0.9rem;
            padding: 0.88rem 1rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 1rem;
            background: #f0fdfab8;
        }

        .admin-guide-module-screen-back {
            flex: 0 0 auto;
        }

        .admin-guide-module-screen-title-wrap {
            display: flex;
            flex: 1 1 auto;
            min-width: 0;
            align-items: flex-start;
            gap: 0.72rem;
        }

        .admin-guide-module-screen-icon {
            display: inline-flex;
            width: 2.15rem;
            height: 2.15rem;
            flex: 0 0 auto;
            align-items: center;
            justify-content: center;
            border-radius: 0.74rem;
            border: 1px solid rgba(15, 118, 110, 0.28);
            background: rgba(204, 251, 241, 0.85);
            color: #0f766e;
            font-size: 1.05rem;
        }

        .admin-guide-module-screen-eyebrow {
            margin: 0 0 0.16rem;
            color: #334155;
            font-size: 0.67rem;
            font-weight: 780;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .admin-guide-module-screen-header h4 {
            margin: 0;
            color: #0f172a;
            font-size: 1.08rem;
            font-weight: 820;
            line-height: 1.2;
        }

        .admin-guide-module-screen-header p:last-child {
            margin-top: 0.2rem;
            color: #475569;
            font-size: 0.8rem;
            line-height: 1.42;
        }

        .admin-guide-module-screen[data-admin-guide-screen="catalog"] .admin-guide-module-screen-header {
            border-color: rgba(234, 179, 8, 0.42);
            background: rgba(255, 251, 235, 0.88);
        }

        .admin-guide-module-screen[data-admin-guide-screen="catalog"] .admin-guide-module-screen-icon {
            border-color: rgba(217, 119, 6, 0.34);
            background: rgba(254, 243, 199, 0.95);
            color: #b45309;
        }

        .admin-guide-module-screen[data-admin-guide-screen="catalog"] .admin-guide-module-screen-eyebrow,
        .admin-guide-module-screen[data-admin-guide-screen="catalog"] .admin-guide-catalog-config-header > div > span i {
            color: #92400e;
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-module-screen-header {
            border-color: rgba(251, 146, 60, 0.38);
            background: rgba(255, 247, 237, 0.92);
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-module-screen-icon {
            border-color: rgba(194, 65, 12, 0.28);
            background: rgba(255, 237, 213, 0.94);
            color: #c2410c;
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-module-screen-eyebrow,
        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-config-header > div > span i {
            color: #9a3412;
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-module-screen-header,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-module-screen-header {
            border-color: rgba(139, 92, 246, 0.34);
            background: rgba(245, 243, 255, 0.92);
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-module-screen-icon,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-module-screen-icon {
            border-color: rgba(109, 40, 217, 0.28);
            background: rgba(237, 233, 254, 0.95);
            color: #6d28d9;
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-module-screen-eyebrow,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-module-screen-eyebrow,
        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-appointment-config-header > div > span i,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-appointment-config-header > div > span i,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-config-header > div > span i {
            color: #6d28d9;
        }

        .admin-guide-module-screen-body {
            margin-top: 0.9rem;
            display: grid;
            gap: 0.78rem;
        }

        .admin-guide-module-screen-body[hidden],
        .admin-guide-module-screen-actions[hidden],
        .admin-guide-appointments-panel[hidden] {
            display: none !important;
        }

        .admin-guide-module-screen-field {
            display: grid;
            gap: 0.36rem;
            align-content: start;
        }

        .admin-guide-module-screen-field > span {
            color: #1e293b;
            font-size: 0.73rem;
            font-weight: 760;
            letter-spacing: 0.03em;
            text-transform: uppercase;
        }

        .admin-guide-module-screen-field > input,
        .admin-guide-module-screen-field > textarea {
            width: 100%;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 1rem;
            background: #ffffff;
            color: #0f172a;
            padding: 0.78rem 0.88rem;
            font-size: 0.9rem;
            line-height: 1.38;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-module-screen-field > input {
            min-height: 3.02rem;
        }

        .admin-guide-module-screen-field > textarea {
            resize: vertical;
        }

        .admin-guide-module-screen-field > input:focus,
        .admin-guide-module-screen-field > textarea:focus {
            border-color: rgba(15, 118, 110, 0.72);
            box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
            outline: none;
        }

        .admin-guide-module-screen-field > small {
            color: #64748b;
            font-size: 0.72rem;
            line-height: 1.38;
        }

        .admin-guide-module-screen[data-admin-guide-screen="catalog"] .admin-guide-module-screen-field > input:focus,
        .admin-guide-module-screen[data-admin-guide-screen="catalog"] .admin-guide-module-screen-field > textarea:focus {
            border-color: rgba(217, 119, 6, 0.68);
            box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.18);
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-module-screen-field > input:focus,
        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-module-screen-field > textarea:focus {
            border-color: rgba(194, 65, 12, 0.68);
            box-shadow: 0 0 0 3px rgba(251, 146, 60, 0.18);
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-module-screen-field > input:focus,
        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-module-screen-field > textarea:focus,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-module-screen-field > input:focus,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-module-screen-field > textarea:focus {
            border-color: rgba(109, 40, 217, 0.62);
            box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.16);
        }

        .admin-guide-catalog-screen-body {
            gap: 1rem;
        }

        .admin-guide-catalog-config-block {
            overflow: hidden;
            border: 1px solid rgba(217, 119, 6, 0.22);
            border-radius: 1.05rem;
            background: rgba(255, 255, 255, 0.94);
            box-shadow: 0 16px 30px -34px rgba(120, 53, 15, 0.42);
        }

        .admin-guide-catalog-config-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.9rem;
            border-bottom: 1px solid rgba(251, 191, 36, 0.24);
            background: rgba(255, 251, 235, 0.66);
            padding: 0.92rem 1rem;
        }

        .admin-guide-catalog-config-header > div > span {
            display: inline-flex;
            align-items: center;
            gap: 0.42rem;
            color: #0f172a;
            font-size: 0.96rem;
            font-weight: 850;
            line-height: 1.22;
        }

        .admin-guide-catalog-config-header p {
            margin-top: 0.18rem;
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 560;
            line-height: 1.4;
        }

        .admin-guide-catalog-header-actions {
            display: inline-flex;
            align-items: center;
            justify-content: flex-end;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        .admin-guide-catalog-copy-btn {
            min-height: 2.15rem;
            border-radius: 0.72rem;
            padding-inline: 0.72rem;
            font-size: 0.76rem;
            white-space: nowrap;
        }

        .admin-guide-catalog-config-content {
            display: grid;
            gap: 0.86rem;
            padding: 1rem;
        }

        .admin-guide-delivery-config-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            align-items: start;
            gap: 0.92rem 0.86rem;
        }

        .admin-guide-delivery-wide-field {
            grid-column: 1 / -1;
        }

        .admin-guide-catalog-groups-panel {
            display: grid;
            gap: 0.72rem;
            border: 1px solid rgba(217, 119, 6, 0.18);
            border-radius: 0.92rem;
            background: rgba(255, 251, 235, 0.36);
            padding: 0.92rem;
        }

        .admin-guide-catalog-groups-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.75rem;
        }

        .admin-guide-catalog-groups-heading strong {
            display: block;
            color: #0f172a;
            font-size: 0.84rem;
            font-weight: 830;
            line-height: 1.2;
        }

        .admin-guide-catalog-groups-heading p {
            margin-top: 0.18rem;
            color: #64748b;
            font-size: 0.75rem;
            line-height: 1.36;
        }

        .admin-guide-catalog-groups-create {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 0.56rem;
            align-items: center;
        }

        .admin-guide-catalog-groups-create input {
            width: 100%;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 0.72rem;
            background: #ffffff;
            color: #0f172a;
            padding: 0.66rem 0.76rem;
            font-size: 0.82rem;
            outline: none;
        }

        .admin-guide-catalog-groups-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.42rem;
        }

        .admin-guide-catalog-group-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.28rem;
            min-height: 1.9rem;
            border: 1px solid rgba(217, 119, 6, 0.22);
            border-radius: 999px;
            background: #ffffff;
            color: #92400e;
            padding: 0.24rem 0.44rem 0.24rem 0.62rem;
            font-size: 0.74rem;
            font-weight: 720;
        }

        .admin-guide-catalog-group-chip button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.25rem;
            height: 1.25rem;
            border: 0;
            border-radius: 999px;
            background: rgba(254, 243, 199, 0.84);
            color: #b45309;
        }

        .admin-guide-catalog-display-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .admin-guide-catalog-icon-field {
            grid-column: 1 / -1;
        }

        .admin-guide-catalog-icon-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(7.6rem, 1fr));
            gap: 0.5rem;
        }

        .admin-guide-catalog-icon-option {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            min-height: 2.35rem;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 0.76rem;
            background: #ffffff;
            color: #475569;
            padding: 0.42rem 0.58rem;
            font-size: 0.74rem;
            font-weight: 680;
            transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-catalog-icon-option i {
            color: #b45309;
            font-size: 1.05rem;
        }

        .admin-guide-catalog-icon-option:hover {
            border-color: rgba(217, 119, 6, 0.45);
            background: rgba(255, 251, 235, 0.86);
            color: #92400e;
            transform: translateY(-1px);
        }

        .admin-guide-catalog-icon-option.is-selected {
            border-color: rgba(217, 119, 6, 0.84);
            background: rgba(254, 243, 199, 0.94);
            color: #92400e;
            box-shadow: 0 12px 26px -24px rgba(180, 83, 9, 0.74);
        }

        .admin-guide-catalog-new-btn,
        .admin-guide-catalog-save-item {
            border-color: rgba(180, 83, 9, 0.86);
            background: #b45309;
            color: #ffffff;
            box-shadow: 0 14px 24px -22px rgba(180, 83, 9, 0.85);
        }

        .admin-guide-catalog-new-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.38rem;
            min-height: 2.15rem;
            border: 1px solid rgba(180, 83, 9, 0.86);
            border-radius: 0.72rem;
            padding: 0.46rem 0.78rem;
            font-size: 0.78rem;
            font-weight: 800;
            line-height: 1;
            transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
            white-space: nowrap;
        }

        .admin-guide-catalog-new-btn:hover,
        .admin-guide-catalog-save-item:hover {
            border-color: rgba(146, 64, 14, 0.92);
            background: #92400e;
            box-shadow: 0 18px 30px -24px rgba(180, 83, 9, 0.92);
            transform: translateY(-1px);
        }

        .admin-guide-catalog-new-btn i,
        .admin-guide-catalog-new-btn span,
        .admin-guide-catalog-save-item i,
        .admin-guide-catalog-save-item span {
            color: #ffffff;
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-config-block {
            border-color: rgba(251, 146, 60, 0.24);
            box-shadow: 0 16px 30px -34px rgba(124, 45, 18, 0.42);
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-config-header {
            border-bottom-color: rgba(251, 146, 60, 0.24);
            background: rgba(255, 247, 237, 0.68);
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-groups-panel,
        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-item-composer {
            border-color: rgba(251, 146, 60, 0.26);
            background: rgba(255, 247, 237, 0.42);
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-group-chip {
            border-color: rgba(251, 146, 60, 0.32);
            color: #9a3412;
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-group-chip button {
            background: rgba(255, 237, 213, 0.9);
            color: #c2410c;
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-icon-option i {
            color: #c2410c;
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-icon-option:hover {
            border-color: rgba(194, 65, 12, 0.45);
            background: rgba(255, 247, 237, 0.88);
            color: #9a3412;
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-icon-option.is-selected {
            border-color: rgba(194, 65, 12, 0.78);
            background: rgba(255, 237, 213, 0.94);
            color: #9a3412;
            box-shadow: 0 12px 26px -24px rgba(194, 65, 12, 0.72);
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-new-btn,
        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-save-item {
            border-color: rgba(194, 65, 12, 0.88);
            background: #c2410c;
            color: #ffffff;
            box-shadow: 0 14px 24px -22px rgba(194, 65, 12, 0.82);
        }

        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-new-btn:hover,
        .admin-guide-module-screen[data-admin-guide-screen="delivery"] .admin-guide-catalog-save-item:hover {
            border-color: rgba(154, 52, 18, 0.92);
            background: #9a3412;
            box-shadow: 0 18px 30px -24px rgba(194, 65, 12, 0.9);
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-new-btn,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-save-item {
            border-color: rgba(109, 40, 217, 0.86);
            background: #6d28d9;
            color: #ffffff;
            box-shadow: 0 14px 24px -22px rgba(109, 40, 217, 0.82);
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-new-btn:hover,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-save-item:hover {
            border-color: rgba(91, 33, 182, 0.92);
            background: #5b21b6;
            box-shadow: 0 18px 30px -24px rgba(109, 40, 217, 0.9);
        }

        .admin-guide-delivery-nav button:hover {
            border-color: rgba(194, 65, 12, 0.42);
            color: #c2410c;
            box-shadow: 0 12px 24px -26px rgba(194, 65, 12, 0.55);
        }

        .admin-guide-delivery-nav button.is-active {
            border-color: rgba(194, 65, 12, 0.9);
            background: #c2410c;
            color: #ffffff;
            box-shadow: 0 14px 24px -24px rgba(194, 65, 12, 0.78);
        }

        .admin-guide-delivery-config-grid {
            grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
        }

        .admin-guide-delivery-rules-layout {
            grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 1fr);
            gap: 0;
            padding: 0;
        }

        .admin-guide-delivery-rule-column {
            display: grid;
            align-content: start;
            gap: 0.8rem;
            padding: 1rem;
            min-width: 0;
        }

        .admin-guide-delivery-rule-column + .admin-guide-delivery-rule-column {
            border-left: 1px solid rgba(226, 232, 240, 0.9);
        }

        .admin-guide-delivery-rule-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.7rem;
        }

        .admin-guide-delivery-rule-heading strong,
        .admin-guide-delivery-token-editor strong {
            color: #1e293b;
            font-size: 0.76rem;
            font-weight: 820;
            letter-spacing: 0.035em;
            line-height: 1.2;
            text-transform: uppercase;
        }

        .admin-guide-delivery-mini-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.34rem;
            min-height: 2rem;
            border: 1px solid rgba(251, 146, 60, 0.48);
            border-radius: 0.68rem;
            background: #ffffff;
            color: #c2410c;
            padding: 0.42rem 0.64rem;
            font-size: 0.74rem;
            font-weight: 760;
            line-height: 1;
            transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
            white-space: nowrap;
        }

        .admin-guide-delivery-mini-action:hover {
            border-color: rgba(194, 65, 12, 0.72);
            background: rgba(255, 247, 237, 0.95);
            box-shadow: 0 12px 22px -24px rgba(194, 65, 12, 0.72);
            transform: translateY(-1px);
        }

        .admin-guide-delivery-mini-action.is-create {
            border-color: rgba(249, 115, 22, 0.52);
            color: #ea580c;
        }

        .admin-guide-delivery-hours-list,
        .admin-guide-delivery-token-editor {
            display: grid;
            gap: 0.58rem;
        }

        .admin-guide-delivery-hours-row {
            display: grid;
            grid-template-columns: auto minmax(8.5rem, 1fr) minmax(5.7rem, 0.44fr) auto minmax(5.7rem, 0.44fr) auto;
            align-items: center;
            gap: 0.5rem;
            min-width: 0;
            border: 1px solid rgba(226, 232, 240, 0.9);
            border-radius: 0.74rem;
            background: rgba(248, 250, 252, 0.82);
            padding: 0.58rem;
        }

        .admin-guide-delivery-hours-check {
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .admin-guide-delivery-hours-check input {
            width: 1rem;
            height: 1rem;
            accent-color: #ea580c;
        }

        .admin-guide-delivery-hours-row input,
        .admin-guide-delivery-token-add-row input,
        .admin-guide-delivery-coupon-composer input,
        .admin-guide-delivery-coupon-composer select {
            width: 100%;
            min-width: 0;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 0.62rem;
            background: #ffffff;
            color: #0f172a;
            padding: 0.54rem 0.62rem;
            font-size: 0.82rem;
            font-weight: 520;
            line-height: 1.2;
            outline: none;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-delivery-coupon-composer input::placeholder {
            color: #94a3b8;
            font-weight: 500;
            opacity: 1;
        }

        .admin-guide-delivery-hours-row input:focus,
        .admin-guide-delivery-token-add-row input:focus,
        .admin-guide-delivery-coupon-composer input:focus,
        .admin-guide-delivery-coupon-composer select:focus {
            border-color: rgba(194, 65, 12, 0.58);
            box-shadow: 0 0 0 3px rgba(251, 146, 60, 0.16);
        }

        .admin-guide-delivery-hours-separator {
            color: #94a3b8;
            font-size: 0.78rem;
            font-weight: 720;
        }

        .admin-guide-delivery-hours-row button,
        .admin-guide-delivery-coupon-value button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border: 0;
            border-radius: 999px;
            background: rgba(254, 226, 226, 0.72);
            color: #dc2626;
            transition: background 160ms ease, color 160ms ease, transform 160ms ease;
        }

        .admin-guide-delivery-hours-row button:hover,
        .admin-guide-delivery-coupon-value button:hover {
            background: #fee2e2;
            color: #b91c1c;
            transform: translateY(-1px);
        }

        .admin-guide-delivery-token-editor + .admin-guide-delivery-token-editor {
            margin-top: 0.2rem;
            padding-top: 0.8rem;
            border-top: 1px dashed rgba(226, 232, 240, 0.95);
        }

        .admin-guide-delivery-token-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.42rem;
            min-height: 1.9rem;
            align-items: center;
        }

        .admin-guide-delivery-token {
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
            min-height: 1.9rem;
            border: 1px solid rgba(34, 197, 94, 0.28);
            border-radius: 999px;
            background: rgba(220, 252, 231, 0.9);
            color: #166534;
            padding: 0.24rem 0.36rem 0.24rem 0.62rem;
            font-size: 0.74rem;
            font-weight: 720;
        }

        .admin-guide-delivery-token.is-area {
            border-color: rgba(148, 163, 184, 0.36);
            background: rgba(241, 245, 249, 0.95);
            color: #334155;
        }

        .admin-guide-delivery-token button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.25rem;
            height: 1.25rem;
            border: 0;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.82);
            color: currentColor;
        }

        .admin-guide-delivery-token-add-row,
        .admin-guide-delivery-coupon-composer {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 0.48rem;
            align-items: center;
        }

        .admin-guide-delivery-coupon-composer {
            grid-template-columns: repeat(4, minmax(9.5rem, 1fr));
            gap: 0.62rem 0.7rem;
            align-items: end;
        }

        .admin-guide-delivery-coupon-composer[hidden] {
            display: none;
        }

        .admin-guide-coupon-field {
            display: grid;
            gap: 0.28rem;
            min-width: 0;
        }

        .admin-guide-coupon-field span {
            color: #334155;
            font-size: 0.69rem;
            font-weight: 780;
            line-height: 1.1;
            letter-spacing: 0;
            text-transform: uppercase;
        }

        .admin-guide-delivery-token-add-row button,
        .admin-guide-delivery-coupon-composer button {
            min-height: 2.36rem;
            border: 1px solid rgba(203, 213, 225, 0.95);
            border-radius: 0.62rem;
            background: #ffffff;
            color: #334155;
            padding: 0.5rem 0.72rem;
            font-size: 0.76rem;
            font-weight: 760;
            transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
        }

        .admin-guide-delivery-token-add-row button:hover,
        .admin-guide-delivery-coupon-composer button:hover {
            border-color: rgba(194, 65, 12, 0.45);
            background: rgba(255, 247, 237, 0.88);
            color: #c2410c;
        }

        .admin-guide-delivery-coupon-add-btn {
            grid-column: 4 / 5;
            justify-self: end;
            min-height: 2.38rem;
            border-color: rgba(194, 65, 12, 0.38);
            background: #ea580c;
            color: #ffffff;
            padding: 0.54rem 0.88rem;
            font-size: 0.78rem;
            font-weight: 820;
        }

        .admin-guide-delivery-coupon-add-btn:hover {
            border-color: rgba(154, 52, 18, 0.5);
            background: #c2410c;
            color: #ffffff;
            transform: translateY(-1px);
        }

        .admin-guide-delivery-coupon-add-btn i,
        .admin-guide-delivery-coupon-add-btn span {
            color: #ffffff;
        }

        .admin-guide-delivery-coupon-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.72rem;
        }

        .admin-guide-delivery-coupon-card {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 0.9rem;
            align-items: center;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.76rem;
            background: #ffffff;
            padding: 0.82rem 0.9rem;
            box-shadow: 0 10px 22px -28px rgba(15, 23, 42, 0.44);
        }

        .admin-guide-delivery-coupon-card strong {
            display: block;
            color: #1e293b;
            font-size: 1rem;
            font-weight: 840;
            line-height: 1.15;
        }

        .admin-guide-delivery-coupon-card p,
        .admin-guide-delivery-coupon-card small {
            display: block;
            margin-top: 0.28rem;
            color: #64748b;
            font-size: 0.78rem;
            line-height: 1.35;
        }

        .admin-guide-delivery-coupon-card small {
            color: #c2410c;
            font-size: 0.72rem;
            font-weight: 740;
        }

        .admin-guide-delivery-coupon-value {
            display: grid;
            grid-template-columns: auto;
            justify-items: end;
            gap: 0.18rem;
            min-width: 5.2rem;
            border-left: 1px dashed rgba(203, 213, 225, 0.95);
            padding-left: 0.85rem;
        }

        .admin-guide-delivery-coupon-value strong {
            color: #ea580c;
            font-size: 1.08rem;
            font-weight: 880;
        }

        .admin-guide-delivery-coupon-value span {
            color: #64748b;
            font-size: 0.66rem;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .admin-guide-accommodation-coupons-block {
            border-color: rgba(124, 58, 237, 0.28);
            background: rgba(250, 245, 255, 0.38);
        }

        .admin-guide-accommodation-mini-action {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.38rem;
            min-height: 2.46rem;
            border: 1px solid rgba(124, 58, 237, 0.34);
            border-radius: 0.72rem;
            background: rgba(255, 255, 255, 0.94);
            color: #6d28d9;
            padding: 0.54rem 0.84rem;
            font-size: 0.78rem;
            font-weight: 820;
            transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
        }

        .admin-guide-accommodation-mini-action:hover {
            border-color: rgba(124, 58, 237, 0.54);
            background: rgba(245, 243, 255, 0.96);
            color: #5b21b6;
            transform: translateY(-1px);
        }

        .admin-guide-accommodation-coupon-composer {
            display: grid;
            grid-template-columns: repeat(4, minmax(9.5rem, 1fr));
            gap: 0.62rem 0.7rem;
            align-items: end;
            margin-bottom: 0.8rem;
        }

        .admin-guide-accommodation-coupon-composer[hidden] {
            display: none;
        }

        .admin-guide-accommodation-coupon-composer input,
        .admin-guide-accommodation-coupon-composer select {
            width: 100%;
            min-width: 0;
            min-height: 2.38rem;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 0.68rem;
            background: #ffffff;
            color: #0f172a;
            padding: 0.54rem 0.68rem;
            font-size: 0.82rem;
            font-weight: 520;
            line-height: 1.2;
            outline: none;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-accommodation-coupon-composer input::placeholder {
            color: #94a3b8;
            font-weight: 500;
            opacity: 1;
        }

        .admin-guide-accommodation-coupon-composer input:focus,
        .admin-guide-accommodation-coupon-composer select:focus {
            border-color: rgba(124, 58, 237, 0.54);
            box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.18);
        }

        .admin-guide-accommodation-coupon-add-btn {
            grid-column: 4 / 5;
            justify-self: end;
            min-height: 2.38rem;
            border: 1px solid rgba(124, 58, 237, 0.38);
            border-radius: 0.68rem;
            background: #7c3aed;
            color: #ffffff;
            padding: 0.54rem 0.88rem;
            font-size: 0.78rem;
            font-weight: 820;
            transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
        }

        .admin-guide-accommodation-coupon-add-btn:hover {
            border-color: rgba(109, 40, 217, 0.54);
            background: #6d28d9;
            transform: translateY(-1px);
        }

        .admin-guide-accommodation-coupon-add-btn i,
        .admin-guide-accommodation-coupon-add-btn span {
            color: #ffffff;
        }

        .admin-guide-accommodation-coupon-feedback {
            grid-column: 1 / -1;
            margin: 0.18rem 0 0;
            border: 1px solid rgba(203, 213, 225, 0.82);
            border-radius: 0.74rem;
            background: rgba(248, 250, 252, 0.88);
            color: #475569;
            padding: 0.62rem 0.76rem;
            font-size: 0.76rem;
            font-weight: 680;
            line-height: 1.35;
        }

        .admin-guide-accommodation-coupon-feedback[hidden] {
            display: none;
        }

        .admin-guide-accommodation-coupon-feedback.is-error {
            border-color: rgba(248, 113, 113, 0.34);
            background: rgba(254, 242, 242, 0.92);
            color: #b91c1c;
        }

        .admin-guide-accommodation-coupon-feedback.is-success {
            border-color: rgba(52, 211, 153, 0.34);
            background: rgba(236, 253, 245, 0.92);
            color: #047857;
        }

        .admin-guide-accommodation-coupon-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.72rem;
        }

        .admin-guide-accommodation-coupon-card {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 0.9rem;
            align-items: center;
            border: 1px solid rgba(221, 214, 254, 0.92);
            border-radius: 0.76rem;
            background: #ffffff;
            padding: 0.82rem 0.9rem;
            box-shadow: 0 10px 22px -28px rgba(88, 28, 135, 0.44);
        }

        .admin-guide-accommodation-coupon-card strong {
            display: block;
            color: #1e293b;
            font-size: 1rem;
            font-weight: 840;
            line-height: 1.15;
        }

        .admin-guide-accommodation-coupon-card p,
        .admin-guide-accommodation-coupon-card small {
            display: block;
            margin-top: 0.28rem;
            color: #64748b;
            font-size: 0.78rem;
            line-height: 1.35;
        }

        .admin-guide-accommodation-coupon-card small {
            color: #7c3aed;
            font-size: 0.72rem;
            font-weight: 740;
        }

        .admin-guide-accommodation-coupon-value {
            display: grid;
            grid-template-columns: auto;
            justify-items: end;
            gap: 0.18rem;
            min-width: 5.2rem;
            border-left: 1px dashed rgba(196, 181, 253, 0.95);
            padding-left: 0.85rem;
        }

        .admin-guide-accommodation-coupon-value button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border: 0;
            border-radius: 999px;
            background: rgba(254, 226, 226, 0.72);
            color: #dc2626;
            transition: background 160ms ease, color 160ms ease, transform 160ms ease;
        }

        .admin-guide-accommodation-coupon-value button:hover {
            background: #fee2e2;
            color: #b91c1c;
            transform: translateY(-1px);
        }

        .admin-guide-accommodation-coupon-value strong {
            color: #7c3aed;
            font-size: 1.08rem;
            font-weight: 880;
        }

        .admin-guide-accommodation-coupon-value span {
            color: #64748b;
            font-size: 0.66rem;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .admin-guide-delivery-empty {
            margin: 0;
            color: #64748b;
            font-size: 0.76rem;
            line-height: 1.42;
        }

        .admin-guide-module-screen-shell.is-screen-delivery .admin-guide-delivery-orders-panel {
            display: grid;
            border-color: rgba(251, 146, 60, 0.3);
            background: rgba(255, 247, 237, 0.72);
            box-shadow:
                0 16px 30px -32px rgba(124, 45, 18, 0.42),
                0 8px 18px -22px rgba(194, 65, 12, 0.16);
        }

        .admin-guide-delivery-orders-panel .admin-guide-appointments-refresh:hover,
        .admin-guide-delivery-orders-panel .admin-guide-appointment-actions button:hover {
            border-color: rgba(194, 65, 12, 0.45);
            background: rgba(255, 247, 237, 0.86);
            color: #c2410c;
        }

        .admin-guide-delivery-orders-panel .admin-guide-appointments-tabs button.is-active {
            border-color: rgba(194, 65, 12, 0.48);
            background: rgba(255, 237, 213, 0.92);
            color: #c2410c;
        }

        .admin-guide-delivery-orders-panel .admin-guide-appointments-tabs button.is-active span {
            background: rgba(251, 146, 60, 0.18);
            color: #c2410c;
        }

        .admin-guide-delivery-order-code {
            background: rgba(255, 237, 213, 0.92);
            color: #c2410c;
        }

        .admin-guide-delivery-order-code strong {
            max-width: 9rem;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-guide-catalog-item-composer {
            position: relative;
            display: grid;
            gap: 0.9rem;
            border: 1px solid rgba(217, 119, 6, 0.26);
            border-radius: 0.95rem;
            background: rgba(255, 251, 235, 0.42);
            padding: 1rem;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
        }

        .admin-guide-catalog-form-close {
            position: absolute;
            top: 0.72rem;
            right: 0.72rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border: 0;
            border-radius: 999px;
            background: rgba(226, 232, 240, 0.72);
            color: #64748b;
        }

        .admin-guide-catalog-form-close:hover {
            background: rgba(254, 243, 199, 0.95);
            color: #92400e;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-form-close {
            background: rgba(237, 233, 254, 0.84);
            color: #6d28d9;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-form-close:hover {
            background: rgba(221, 214, 254, 0.95);
            color: #5b21b6;
        }

        .admin-guide-catalog-item-composer-heading {
            display: inline-flex;
            align-items: center;
            gap: 0.58rem;
            color: #0f172a;
            font-size: 0.95rem;
            font-weight: 830;
        }

        .admin-guide-catalog-item-composer-heading > span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.1rem;
            height: 2.1rem;
            border-radius: 0.62rem;
            background: rgba(254, 243, 199, 0.92);
            color: #b45309;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-composer {
            border-color: rgba(139, 92, 246, 0.26);
            background: rgba(245, 243, 255, 0.42);
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-composer-heading > span {
            background: rgba(237, 233, 254, 0.96);
            color: #6d28d9;
        }

        .admin-guide-catalog-item-composer-grid {
            display: grid;
            grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
            gap: 1rem;
            align-items: stretch;
        }

        .admin-guide-catalog-upload-box {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 10rem;
            border: 1px dashed rgba(148, 163, 184, 0.8);
            border-radius: 0.9rem;
            background: rgba(248, 250, 252, 0.82);
            color: #64748b;
            overflow: hidden;
        }

        .admin-guide-catalog-upload-box:hover {
            border-color: rgba(217, 119, 6, 0.48);
            background: rgba(255, 251, 235, 0.72);
            color: #92400e;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-upload-box {
            border-color: rgba(139, 92, 246, 0.38);
            background: rgba(250, 245, 255, 0.62);
            color: #6d28d9;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-upload-box:hover {
            border-color: rgba(109, 40, 217, 0.58);
            background: rgba(245, 243, 255, 0.86);
            color: #5b21b6;
        }

        .admin-guide-catalog-upload-box span {
            position: relative;
            display: grid;
            place-items: center;
            gap: 0.25rem;
            width: 100%;
            height: 100%;
            text-align: center;
        }

        .admin-guide-catalog-upload-box em,
        .admin-guide-catalog-item-thumb em {
            position: absolute;
            right: 0.38rem;
            bottom: 0.38rem;
            border-radius: 999px;
            background: rgba(15, 23, 42, 0.76);
            color: #ffffff;
            padding: 0.16rem 0.36rem;
            font-size: 0.64rem;
            font-style: normal;
            font-weight: 820;
            line-height: 1;
        }

        .admin-guide-catalog-upload-box i {
            font-size: 1.55rem;
        }

        .admin-guide-catalog-upload-box img,
        .admin-guide-catalog-item-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .admin-guide-catalog-image-field {
            display: grid;
            gap: 0.46rem;
        }

        .admin-guide-catalog-image-field small {
            color: #64748b;
            font-size: 0.72rem;
            line-height: 1.35;
        }

        .admin-guide-catalog-image-thumbs {
            display: flex;
            flex-wrap: wrap;
            gap: 0.34rem;
            min-height: 0;
        }

        .admin-guide-catalog-image-thumbs:empty {
            display: none;
        }

        .admin-guide-catalog-image-thumbs span {
            display: block;
            width: 2.4rem;
            height: 2.4rem;
            border: 1px solid rgba(203, 213, 225, 0.86);
            border-radius: 0.52rem;
            background: #ffffff;
            overflow: hidden;
        }

        .admin-guide-catalog-image-thumbs img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .admin-guide-catalog-item-fields {
            display: grid;
            gap: 0.72rem;
        }

        .admin-guide-catalog-item-fields label {
            display: grid;
            gap: 0.34rem;
        }

        .admin-guide-catalog-item-fields label span {
            color: #1e293b;
            font-size: 0.72rem;
            font-weight: 760;
            letter-spacing: 0.03em;
            text-transform: uppercase;
        }

        .admin-guide-catalog-item-fields input,
        .admin-guide-catalog-item-fields select,
        .admin-guide-catalog-item-fields textarea {
            width: 100%;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 0.78rem;
            background: #ffffff;
            color: #0f172a;
            padding: 0.72rem 0.78rem;
            font-size: 0.86rem;
            outline: none;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-catalog-item-fields textarea {
            min-height: 4.7rem;
            resize: vertical;
            line-height: 1.35;
        }

        .admin-guide-catalog-item-fields input:focus,
        .admin-guide-catalog-item-fields select:focus,
        .admin-guide-catalog-item-fields textarea:focus,
        .admin-guide-catalog-groups-create input:focus {
            border-color: rgba(217, 119, 6, 0.68);
            box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.18);
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-fields input:focus,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-fields select:focus,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-fields textarea:focus {
            border-color: rgba(109, 40, 217, 0.62);
            box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.16);
        }

        .admin-guide-catalog-item-fields-row {
            display: grid;
            grid-template-columns: minmax(0, 1.4fr) minmax(8rem, 0.8fr) minmax(7rem, 0.6fr);
            gap: 0.72rem;
        }

        .admin-guide-delivery-item-options {
            display: grid;
            gap: 0.82rem;
            border: 1px solid rgba(251, 146, 60, 0.3);
            border-radius: 0.9rem;
            background: rgba(255, 247, 237, 0.7);
            padding: 0.9rem;
        }

        .admin-guide-delivery-item-options-header,
        .admin-guide-delivery-custom-group-header,
        .admin-guide-delivery-custom-options-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.72rem;
        }

        .admin-guide-delivery-item-options-header strong {
            display: block;
            color: #1e293b;
            font-size: 0.86rem;
            font-weight: 840;
            line-height: 1.2;
        }

        .admin-guide-delivery-item-options-header p {
            margin: 0.22rem 0 0;
            color: #64748b;
            font-size: 0.76rem;
            line-height: 1.35;
        }

        .admin-guide-delivery-custom-groups-list,
        .admin-guide-delivery-custom-options-list {
            display: grid;
            gap: 0.62rem;
        }

        .admin-guide-delivery-custom-empty {
            margin: 0;
            border: 1px dashed rgba(251, 146, 60, 0.28);
            border-radius: 0.76rem;
            background: rgba(255, 255, 255, 0.72);
            color: #64748b;
            padding: 0.72rem;
            font-size: 0.76rem;
            line-height: 1.38;
        }

        .admin-guide-delivery-custom-group-card {
            display: grid;
            gap: 0.74rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.86rem;
            background: #ffffff;
            padding: 0.82rem;
            box-shadow: 0 12px 24px -30px rgba(124, 45, 18, 0.32);
        }

        .admin-guide-delivery-custom-group-header strong,
        .admin-guide-delivery-custom-options-heading span {
            color: #334155;
            font-size: 0.74rem;
            font-weight: 820;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .admin-guide-delivery-custom-group-header button,
        .admin-guide-delivery-custom-option-row > button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border: 0;
            border-radius: 999px;
            background: rgba(254, 226, 226, 0.72);
            color: #dc2626;
            transition: background 160ms ease, color 160ms ease, transform 160ms ease;
        }

        .admin-guide-delivery-custom-group-header button:hover,
        .admin-guide-delivery-custom-option-row > button:hover {
            background: #fee2e2;
            color: #b91c1c;
            transform: translateY(-1px);
        }

        .admin-guide-delivery-custom-group-grid {
            display: grid;
            grid-template-columns: minmax(11rem, 1.2fr) minmax(11rem, 1fr) minmax(7rem, 0.55fr) minmax(5rem, 0.35fr) minmax(5rem, 0.35fr);
            gap: 0.62rem;
            align-items: end;
        }

        .admin-guide-delivery-custom-toggle {
            display: flex !important;
            min-height: 2.82rem;
            align-items: center;
            gap: 0.48rem !important;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 0.78rem;
            background: rgba(248, 250, 252, 0.9);
            padding: 0.64rem 0.72rem;
        }

        .admin-guide-delivery-custom-toggle input {
            width: 1rem;
            height: 1rem;
            accent-color: #ea580c;
        }

        .admin-guide-catalog-item-fields .admin-guide-delivery-custom-toggle span {
            color: #334155;
            font-size: 0.78rem;
            font-weight: 780;
            letter-spacing: 0;
            text-transform: none;
        }

        .admin-guide-delivery-custom-option-row {
            display: grid;
            grid-template-columns: minmax(9rem, 1fr) minmax(9rem, 1fr) minmax(6.5rem, 0.46fr) auto;
            gap: 0.58rem;
            align-items: end;
            border: 1px solid rgba(226, 232, 240, 0.92);
            border-radius: 0.78rem;
            background: rgba(248, 250, 252, 0.72);
            padding: 0.66rem;
        }

        .admin-guide-catalog-form-actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.52rem;
            padding-top: 0.72rem;
            border-top: 1px solid rgba(226, 232, 240, 0.82);
        }

        .admin-guide-catalog-empty {
            margin: 0;
            border: 1px dashed rgba(217, 119, 6, 0.22);
            border-radius: 0.95rem;
            background: rgba(255, 251, 235, 0.36);
            color: #64748b;
            padding: 1rem;
            font-size: 0.82rem;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-empty {
            border-color: rgba(139, 92, 246, 0.28);
            background: rgba(245, 243, 255, 0.42);
        }

        .admin-guide-catalog-item-list {
            display: grid;
            gap: 1rem;
        }

        .admin-guide-catalog-group {
            display: grid;
            gap: 0.58rem;
        }

        .admin-guide-catalog-group-heading {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.84);
            padding-bottom: 0.46rem;
        }

        .admin-guide-catalog-group-heading strong {
            color: #0f172a;
            font-size: 0.85rem;
            font-weight: 820;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .admin-guide-catalog-group-heading span {
            border-radius: 999px;
            background: #0f172a;
            color: #ffffff;
            padding: 0.2rem 0.46rem;
            font-size: 0.68rem;
            font-weight: 760;
            line-height: 1;
        }

        .admin-guide-catalog-items-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.72rem;
        }

        .admin-guide-catalog-item-card {
            position: relative;
            display: grid;
            grid-template-columns: 5rem minmax(0, 1fr) auto;
            gap: 0.78rem;
            align-items: center;
            border: 1px solid rgba(203, 213, 225, 0.86);
            border-radius: 0.9rem;
            background: #ffffff;
            padding: 0.78rem;
            box-shadow: 0 12px 24px -30px rgba(15, 23, 42, 0.42);
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-card {
            border-color: rgba(139, 92, 246, 0.26);
            box-shadow: 0 12px 24px -30px rgba(76, 29, 149, 0.36);
        }

        .admin-guide-catalog-item-thumb {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 5rem;
            height: 5rem;
            border-radius: 0.72rem;
            background: rgba(226, 232, 240, 0.72);
            color: #94a3b8;
            overflow: hidden;
            font-size: 0.9rem;
            font-weight: 780;
            text-align: center;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-thumb {
            background: rgba(237, 233, 254, 0.86);
            color: #6d28d9;
        }

        .admin-guide-catalog-item-main {
            min-width: 0;
            display: grid;
            gap: 0.26rem;
        }

        .admin-guide-catalog-item-main strong {
            color: #0f172a;
            font-size: 0.88rem;
            font-weight: 820;
            line-height: 1.2;
        }

        .admin-guide-catalog-item-main p {
            margin: 0;
            color: #475569;
            font-size: 0.78rem;
            line-height: 1.35;
        }

        .admin-guide-catalog-item-main span {
            width: fit-content;
            border-radius: 0.38rem;
            background: rgba(236, 253, 245, 0.94);
            color: #047857;
            padding: 0.22rem 0.44rem;
            font-size: 0.78rem;
            font-weight: 820;
            line-height: 1;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-main span {
            background: rgba(245, 243, 255, 0.94);
            color: #6d28d9;
        }

        .admin-guide-catalog-item-customizations {
            display: inline-flex;
            width: fit-content;
            align-items: center;
            gap: 0.26rem;
            border-radius: 999px;
            background: rgba(255, 247, 237, 0.96);
            color: #c2410c;
            padding: 0.22rem 0.48rem;
            font-size: 0.7rem;
            font-weight: 760;
            line-height: 1;
        }

        .admin-guide-catalog-item-actions {
            display: inline-flex;
            align-items: center;
            justify-content: flex-end;
            gap: 0.38rem;
        }

        .admin-guide-catalog-item-edit,
        .admin-guide-catalog-item-remove {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border: 1px solid rgba(203, 213, 225, 0.86);
            border-radius: 999px;
            background: #ffffff;
            color: #94a3b8;
        }

        .admin-guide-catalog-item-edit:hover {
            border-color: rgba(217, 119, 6, 0.42);
            background: rgba(255, 251, 235, 0.92);
            color: #b45309;
        }

        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-item-edit:hover {
            border-color: rgba(109, 40, 217, 0.42);
            background: rgba(245, 243, 255, 0.92);
            color: #6d28d9;
        }

        .admin-guide-catalog-item-remove:hover {
            border-color: rgba(248, 113, 113, 0.42);
            background: rgba(254, 242, 242, 0.92);
            color: #dc2626;
        }

        .admin-guide-appointment-screen-body {
            gap: 1rem;
        }

        .admin-guide-appointment-nav {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin-top: 0.78rem;
            padding: 0.3rem;
            border: 1px solid rgba(203, 213, 225, 0.74);
            border-radius: 0.95rem;
            background: rgba(248, 250, 252, 0.72);
        }

        .admin-guide-appointment-nav button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.4rem;
            min-height: 2.15rem;
            border: 1px solid rgba(203, 213, 225, 0.9);
            border-radius: 0.78rem;
            background: #ffffff;
            color: #475569;
            padding: 0.48rem 0.72rem;
            font-size: 0.76rem;
            font-weight: 760;
            line-height: 1;
            transition: border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
        }

        .admin-guide-appointment-nav button:hover {
            border-color: rgba(15, 118, 110, 0.42);
            color: #0f766e;
            box-shadow: 0 12px 24px -26px rgba(15, 118, 110, 0.55);
            transform: translateY(-1px);
        }

        .admin-guide-appointment-nav button.is-active {
            border-color: rgba(15, 118, 110, 0.9);
            background: #0f766e;
            color: #ffffff;
            box-shadow: 0 14px 24px -24px rgba(15, 118, 110, 0.78);
        }

        .admin-guide-appointment-nav.admin-guide-delivery-nav {
            border-color: rgba(251, 146, 60, 0.36);
            background: rgba(255, 247, 237, 0.72);
        }

        .admin-guide-appointment-nav.admin-guide-delivery-nav button:hover {
            border-color: rgba(194, 65, 12, 0.42);
            color: #c2410c;
            box-shadow: 0 12px 24px -26px rgba(194, 65, 12, 0.55);
        }

        .admin-guide-appointment-nav.admin-guide-delivery-nav button.is-active {
            border-color: rgba(194, 65, 12, 0.9);
            background: #c2410c;
            color: #ffffff;
            box-shadow: 0 14px 24px -24px rgba(194, 65, 12, 0.78);
        }

        .admin-guide-appointment-nav.admin-guide-reservation-nav,
        .admin-guide-appointment-nav.admin-guide-accommodation-nav {
            border-color: rgba(139, 92, 246, 0.32);
            background: rgba(245, 243, 255, 0.72);
        }

        .admin-guide-appointment-nav.admin-guide-reservation-nav button:hover,
        .admin-guide-appointment-nav.admin-guide-accommodation-nav button:hover {
            border-color: rgba(109, 40, 217, 0.42);
            color: #6d28d9;
            box-shadow: 0 12px 24px -26px rgba(109, 40, 217, 0.55);
        }

        .admin-guide-appointment-nav.admin-guide-reservation-nav button.is-active,
        .admin-guide-appointment-nav.admin-guide-accommodation-nav button.is-active {
            border-color: rgba(109, 40, 217, 0.88);
            background: #6d28d9;
            color: #ffffff;
            box-shadow: 0 14px 24px -24px rgba(109, 40, 217, 0.78);
        }

        .admin-guide-appointment-config-block {
            overflow: hidden;
            border: 1px solid rgba(203, 213, 225, 0.86);
            border-radius: 1.05rem;
            background: rgba(255, 255, 255, 0.92);
            box-shadow: 0 16px 30px -34px rgba(15, 23, 42, 0.42);
        }

        .admin-guide-appointment-config-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.9rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.82);
            background: rgba(248, 250, 252, 0.62);
            padding: 0.92rem 1rem;
        }

        .admin-guide-appointment-config-header > div > span {
            display: inline-flex;
            align-items: center;
            gap: 0.42rem;
            color: #0f172a;
            font-size: 0.96rem;
            font-weight: 850;
            line-height: 1.22;
        }

        .admin-guide-appointment-config-header > div > span i {
            color: #64748b;
            font-size: 1rem;
        }

        .admin-guide-appointment-config-header p {
            margin-top: 0.18rem;
            color: #64748b;
            font-size: 0.78rem;
            font-weight: 560;
            line-height: 1.4;
        }

        .admin-guide-appointment-config-content {
            display: grid;
            gap: 0.78rem;
            padding: 1rem;
        }

        .admin-guide-appointment-status-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(16, 185, 129, 0.24);
            border-radius: 0.42rem;
            background: rgba(236, 253, 245, 0.9);
            color: #047857;
            padding: 0.34rem 0.58rem;
            font-size: 0.72rem;
            font-weight: 760;
            line-height: 1;
            white-space: nowrap;
        }

        .admin-guide-service-new-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.38rem;
            min-height: 2.15rem;
            border: 1px solid rgba(15, 118, 110, 0.82);
            border-radius: 0.72rem;
            background: #0f766e;
            color: #ffffff;
            padding: 0.46rem 0.78rem;
            font-size: 0.78rem;
            font-weight: 800;
            line-height: 1;
            box-shadow: 0 14px 24px -22px rgba(15, 118, 110, 0.85);
            transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
            white-space: nowrap;
        }

        .admin-guide-service-new-btn:hover {
            border-color: rgba(17, 94, 89, 0.9);
            background: #115e59;
            box-shadow: 0 18px 30px -24px rgba(15, 118, 110, 0.92);
            transform: translateY(-1px);
        }

        .admin-guide-service-new-btn i,
        .admin-guide-service-new-btn span {
            color: #ffffff;
        }

        .admin-guide-service-composer {
            position: relative;
            display: grid;
            gap: 0.84rem;
            border: 1px solid rgba(203, 213, 225, 0.9);
            border-radius: 0.95rem;
            background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.96));
            padding: 1rem;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
        }

        .admin-guide-service-composer[hidden] {
            display: none !important;
        }

        .admin-guide-service-form-close {
            position: absolute;
            top: 0.72rem;
            right: 0.72rem;
            display: inline-flex;
            width: 1.9rem;
            height: 1.9rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            color: #94a3b8;
            transition: background 160ms ease, color 160ms ease;
        }

        .admin-guide-service-form-close:hover {
            background: rgba(226, 232, 240, 0.72);
            color: #475569;
        }

        .admin-guide-service-composer-grid {
            display: grid;
            grid-template-columns: minmax(220px, 1.4fr) minmax(130px, 0.7fr) minmax(130px, 0.7fr);
            gap: 0.72rem;
            padding-right: 2.1rem;
        }

        .admin-guide-service-composer-grid label,
        .admin-guide-hours-builder-inputs label {
            display: grid;
            gap: 0.32rem;
        }

        .admin-guide-service-composer-grid label > span,
        .admin-guide-hours-builder-inputs label > span {
            color: #475569;
            font-size: 0.72rem;
            font-weight: 760;
        }

        .admin-guide-service-composer-grid input,
        .admin-guide-hours-builder-inputs input {
            width: 100%;
            border: 1px solid rgba(203, 213, 225, 0.95);
            border-radius: 0.72rem;
            background: #ffffff;
            color: #0f172a;
            padding: 0.68rem 0.78rem;
            font-size: 0.86rem;
            line-height: 1.2;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-service-composer-grid input:focus,
        .admin-guide-hours-builder-inputs input:focus {
            border-color: rgba(15, 118, 110, 0.7);
            box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.14);
            outline: none;
        }

        .admin-guide-service-form-actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.5rem;
        }

        .admin-guide-service-list {
            display: grid;
            gap: 0.62rem;
        }

        .admin-guide-service-card {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto auto;
            align-items: center;
            gap: 0.72rem;
            border: 1px solid rgba(203, 213, 225, 0.84);
            border-radius: 0.9rem;
            background: #ffffff;
            padding: 0.72rem 0.84rem;
            box-shadow: 0 12px 24px -30px rgba(15, 23, 42, 0.48);
        }

        .admin-guide-service-card-main {
            display: grid;
            min-width: 0;
            gap: 0.22rem;
        }

        .admin-guide-service-card-main strong {
            overflow: hidden;
            color: #0f172a;
            font-size: 0.88rem;
            font-weight: 850;
            line-height: 1.22;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-guide-service-card-main small {
            display: inline-flex;
            align-items: center;
            gap: 0.22rem;
            color: #64748b;
            font-size: 0.75rem;
            font-weight: 600;
        }

        .admin-guide-service-price {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 0.5rem;
            background: rgba(241, 245, 249, 0.92);
            color: #0f172a;
            padding: 0.38rem 0.62rem;
            font-size: 0.78rem;
            font-weight: 820;
            white-space: nowrap;
        }

        .admin-guide-service-remove,
        .admin-guide-hour-chip button {
            display: inline-flex;
            width: 1.9rem;
            height: 1.9rem;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(203, 213, 225, 0.84);
            border-radius: 999px;
            background: #ffffff;
            color: #94a3b8;
            transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
        }

        .admin-guide-service-remove:hover,
        .admin-guide-hour-chip button:hover {
            border-color: rgba(239, 68, 68, 0.36);
            background: rgba(254, 242, 242, 0.92);
            color: #dc2626;
        }

        .admin-guide-service-empty,
        .admin-guide-hours-empty {
            border: 1px dashed rgba(203, 213, 225, 0.86);
            border-radius: 0.85rem;
            background: rgba(248, 250, 252, 0.72);
            color: #64748b;
            padding: 0.8rem;
            font-size: 0.78rem;
            font-weight: 620;
        }

        .admin-guide-sync-textarea {
            display: none !important;
        }

        .admin-guide-appointment-helper {
            color: #64748b;
            font-size: 0.72rem;
            line-height: 1.38;
        }

        .admin-guide-appointment-days-list {
            display: grid;
            border: 1px solid rgba(226, 232, 240, 0.88);
            border-radius: 0.95rem;
            overflow: hidden;
        }

        .admin-guide-appointment-day-row {
            display: grid;
            grid-template-columns: auto minmax(0, 0.72fr) minmax(0, 1fr);
            align-items: center;
            gap: 0.68rem;
            width: 100%;
            border-bottom: 1px solid rgba(226, 232, 240, 0.78);
            background: rgba(255, 255, 255, 0.92);
            color: #475569;
            padding: 0.72rem 0.84rem;
            text-align: left;
            transition: background 160ms ease;
        }

        .admin-guide-appointment-day-row:last-child {
            border-bottom: 0;
        }

        .admin-guide-appointment-day-row:hover {
            background: rgba(248, 250, 252, 0.9);
        }

        .admin-guide-appointment-day-row.is-active {
            background: rgba(240, 253, 250, 0.68);
            color: #0f766e;
        }

        .admin-guide-appointment-day-switch {
            display: inline-flex;
            width: 2.52rem;
            height: 1.42rem;
            align-items: center;
            border-radius: 999px;
            background: #cbd5e1;
            padding: 0.16rem;
            transition: background 160ms ease;
        }

        .admin-guide-appointment-day-switch span {
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            border-radius: 999px;
            background: #ffffff;
            box-shadow: 0 1px 3px rgba(15, 23, 42, 0.24);
            transition: transform 160ms ease;
        }

        .admin-guide-appointment-day-row.is-active .admin-guide-appointment-day-switch {
            background: #10b981;
        }

        .admin-guide-appointment-day-row.is-active .admin-guide-appointment-day-switch span {
            transform: translateX(1.08rem);
        }

        .admin-guide-appointment-day-name {
            color: #0f172a;
            font-size: 0.82rem;
            font-weight: 820;
        }

        .admin-guide-appointment-day-status {
            color: #94a3b8;
            font-size: 0.78rem;
            font-weight: 650;
        }

        .admin-guide-appointment-day-row.is-active .admin-guide-appointment-day-status {
            color: #0f766e;
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-appointment-config-block,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-appointment-config-block,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-config-block {
            border-color: rgba(139, 92, 246, 0.22);
            box-shadow: 0 16px 30px -34px rgba(76, 29, 149, 0.34);
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-appointment-config-header,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-appointment-config-header,
        .admin-guide-module-screen[data-admin-guide-screen="accommodation"] .admin-guide-catalog-config-header {
            border-bottom-color: rgba(221, 214, 254, 0.95);
            background: rgba(245, 243, 255, 0.58);
        }

        .admin-guide-reservation-status-chip,
        .admin-guide-accommodation-status-chip {
            border-color: rgba(139, 92, 246, 0.26);
            background: rgba(245, 243, 255, 0.94);
            color: #6d28d9;
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-appointment-day-row.is-active {
            background: rgba(245, 243, 255, 0.74);
            color: #6d28d9;
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-appointment-day-row.is-active .admin-guide-appointment-day-switch {
            background: #7c3aed;
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-appointment-day-row.is-active .admin-guide-appointment-day-status,
        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-weekdays-summary {
            color: #6d28d9;
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-weekday-chip:hover,
        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-weekday-shortcut:hover {
            border-color: rgba(109, 40, 217, 0.46);
            color: #6d28d9;
            background: rgba(245, 243, 255, 0.88);
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-weekday-chip.is-active {
            border-color: rgba(109, 40, 217, 0.62);
            background: rgba(237, 233, 254, 0.88);
            color: #6d28d9;
            box-shadow: inset 0 0 0 1px rgba(109, 40, 217, 0.18);
        }

        .admin-guide-module-screen[data-admin-guide-screen="reservation"] .admin-guide-hour-chip {
            border-color: rgba(109, 40, 217, 0.24);
            background: rgba(245, 243, 255, 0.82);
            color: #6d28d9;
        }

        .admin-guide-hours-builder {
            display: grid;
            gap: 0.68rem;
            border-top: 1px dashed rgba(226, 232, 240, 0.95);
            padding-top: 0.78rem;
        }

        .admin-guide-hours-builder-inputs {
            display: flex;
            align-items: end;
            gap: 0.58rem;
        }

        .admin-guide-hours-builder-inputs label {
            max-width: 12rem;
        }

        .admin-guide-hours-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
        }

        .admin-guide-hour-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.42rem;
            border: 1px solid rgba(15, 118, 110, 0.22);
            border-radius: 999px;
            background: rgba(240, 253, 250, 0.78);
            color: #0f766e;
            padding: 0.28rem 0.28rem 0.28rem 0.62rem;
            font-size: 0.78rem;
            font-weight: 760;
        }

        .admin-guide-weekdays-grid {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 0.42rem;
        }

        .admin-guide-weekday-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(203, 213, 225, 0.9);
            border-radius: 999px;
            background: #ffffff;
            color: #334155;
            padding: 0.55rem 0.38rem;
            font-size: 0.78rem;
            font-weight: 760;
            line-height: 1;
            transition: border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-weekday-chip:hover {
            border-color: rgba(15, 118, 110, 0.54);
            color: #0f766e;
        }

        .admin-guide-weekday-chip.is-active {
            border-color: rgba(15, 118, 110, 0.72);
            background: rgba(204, 251, 241, 0.82);
            color: #0f766e;
            box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.2);
        }

        .admin-guide-weekday-chip:focus-visible {
            outline: 2px solid rgba(15, 118, 110, 0.32);
            outline-offset: 2px;
        }

        .admin-guide-weekdays-shortcuts {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
        }

        .admin-guide-weekday-shortcut {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px dashed rgba(148, 163, 184, 0.8);
            border-radius: 999px;
            background: rgba(248, 250, 252, 0.9);
            color: #475569;
            padding: 0.3rem 0.58rem;
            font-size: 0.68rem;
            font-weight: 700;
            line-height: 1;
            transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
        }

        .admin-guide-weekday-shortcut:hover {
            border-color: rgba(15, 118, 110, 0.52);
            color: #0f766e;
            background: rgba(240, 253, 250, 0.9);
        }

        .admin-guide-weekdays-summary {
            color: #0f766e;
            font-weight: 680;
        }

        .admin-guide-module-screen-actions {
            margin-top: 0.82rem;
            display: flex;
            justify-content: flex-end;
            gap: 0.58rem;
            padding-top: 0.72rem;
            border-top: 1px dashed rgba(226, 232, 240, 0.95);
        }

        .admin-guide-module-screen-actions .admin-section-action {
            border-radius: 0.9rem;
        }

        .admin-guide-appointments-panel {
            display: none;
            gap: 0.74rem;
            align-content: start;
            align-items: stretch;
            align-self: start;
            width: 100%;
            min-height: 0;
            padding: 1rem;
            border: 1px solid rgba(203, 213, 225, 0.82);
            border-radius: 1rem;
            background: rgba(248, 250, 252, 0.82);
            box-shadow:
                0 16px 30px -32px rgba(15, 23, 42, 0.38),
                0 8px 18px -22px rgba(15, 118, 110, 0.12);
        }

        .admin-guide-module-screen .admin-guide-appointments-panel {
            margin-top: 0.9rem;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
        }

        .admin-guide-module-screen-shell.is-screen-appointment [data-admin-guide-appointments-panel] {
            display: grid;
        }

        .admin-guide-module-screen-shell.is-screen-delivery .admin-guide-delivery-orders-panel {
            display: grid;
        }

        .admin-guide-module-screen-shell.is-screen-reservation .admin-guide-reservations-panel,
        .admin-guide-module-screen-shell.is-screen-accommodation .admin-guide-accommodation-reservations-panel {
            display: grid;
            border-color: rgba(139, 92, 246, 0.28);
            background: rgba(245, 243, 255, 0.7);
            box-shadow:
                0 16px 30px -32px rgba(76, 29, 149, 0.34),
                0 8px 18px -22px rgba(109, 40, 217, 0.16);
        }

        .admin-guide-appointments-panel-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.82rem;
        }

        .admin-guide-appointments-panel-header span {
            display: block;
            color: #1e293b;
            font-size: 0.73rem;
            font-weight: 780;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .admin-guide-appointments-panel-header p,
        .admin-guide-appointments-empty {
            margin: 0.16rem 0 0;
            color: #64748b;
            font-size: 0.76rem;
            line-height: 1.42;
        }

        .admin-guide-appointments-refresh {
            display: inline-flex;
            flex: 0 0 auto;
            align-items: center;
            justify-content: center;
            gap: 0.38rem;
            min-height: 2.35rem;
            border: 1px solid rgba(203, 213, 225, 0.95);
            border-radius: 0.85rem;
            background: #ffffff;
            color: #334155;
            padding: 0.5rem 0.72rem;
            font-size: 0.76rem;
            font-weight: 760;
            transition: border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-appointments-refresh:hover {
            border-color: rgba(15, 118, 110, 0.45);
            color: #0f766e;
            box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
        }

        .admin-guide-appointments-tabs {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            align-content: flex-start;
            align-self: flex-start;
            width: 100%;
            gap: 0.44rem;
            padding-bottom: 0.12rem;
        }

        .admin-guide-appointments-tabs button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.36rem;
            min-height: 2.15rem;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 999px;
            background: #ffffff;
            color: #475569;
            padding: 0.42rem 0.72rem;
            font-size: 0.74rem;
            font-weight: 760;
            line-height: 1;
            align-self: flex-start;
            flex: 0 0 auto;
            width: auto;
            transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
        }

        .admin-guide-appointments-tabs button span {
            display: inline-flex;
            min-width: 1.35rem;
            height: 1.35rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: rgba(241, 245, 249, 0.96);
            color: #475569;
            padding: 0 0.34rem;
            font-size: 0.68rem;
            font-weight: 820;
        }

        .admin-guide-appointments-tabs button.is-active {
            border-color: rgba(15, 118, 110, 0.48);
            background: rgba(240, 253, 250, 0.96);
            color: #0f766e;
        }

        .admin-guide-appointments-tabs button.is-active span {
            background: rgba(20, 184, 166, 0.14);
            color: #0f766e;
        }

        .admin-guide-appointments-calendar {
            display: grid;
            gap: 0.62rem;
            border: 1px solid rgba(153, 246, 228, 0.72);
            border-radius: 1rem;
            background: linear-gradient(180deg, rgba(240, 253, 250, 0.74), rgba(255, 255, 255, 0.92));
            padding: 0.78rem;
        }

        .admin-guide-appointments-calendar:empty {
            display: none;
        }

        .admin-guide-appointments-calendar-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.8rem;
        }

        .admin-guide-appointments-calendar-head span {
            display: block;
            color: #0f766e;
            font-size: 0.68rem;
            font-weight: 820;
            letter-spacing: 0.11em;
            text-transform: uppercase;
        }

        .admin-guide-appointments-calendar-head strong {
            display: block;
            margin-top: 0.12rem;
            color: #0f172a;
            font-size: 1.05rem;
            font-weight: 840;
            line-height: 1.2;
        }

        .admin-guide-appointments-calendar-head small {
            display: block;
            margin-top: 0.16rem;
            color: #64748b;
            font-size: 0.74rem;
            line-height: 1.3;
        }

        .admin-guide-appointments-calendar-controls {
            display: inline-flex;
            flex: 0 0 auto;
            align-items: center;
            gap: 0.34rem;
        }

        .admin-guide-appointments-calendar-controls button {
            display: inline-flex;
            min-height: 2rem;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(153, 246, 228, 0.85);
            border-radius: 999px;
            background: #ffffff;
            color: #0f766e;
            padding: 0.38rem 0.62rem;
            font-size: 0.72rem;
            font-weight: 780;
            transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-appointments-calendar-controls button:hover {
            border-color: rgba(15, 118, 110, 0.46);
            background: rgba(240, 253, 250, 0.95);
            box-shadow: 0 8px 18px rgba(15, 118, 110, 0.08);
        }

        .admin-guide-appointments-calendar-weekdays,
        .admin-guide-appointments-calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 0.38rem;
        }

        .admin-guide-appointments-calendar-weekdays span {
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 780;
            text-align: center;
        }

        .admin-guide-appointments-calendar-day {
            width: 100%;
            appearance: none;
            display: grid;
            align-content: start;
            gap: 0.34rem;
            min-height: 7.1rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.8rem;
            background: rgba(255, 255, 255, 0.92);
            padding: 0.48rem;
            color: inherit;
            font: inherit;
            text-align: left;
            min-width: 0;
        }

        button.admin-guide-appointments-calendar-day {
            cursor: pointer;
            transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
        }

        button.admin-guide-appointments-calendar-day:hover,
        button.admin-guide-appointments-calendar-day:focus-visible {
            border-color: rgba(15, 118, 110, 0.44);
            background: rgba(240, 253, 250, 0.88);
            box-shadow: 0 12px 24px rgba(15, 118, 110, 0.09);
            outline: none;
        }

        button.admin-guide-appointments-calendar-day:active {
            transform: translateY(1px);
        }

        .admin-guide-appointments-calendar-day.is-empty {
            min-height: 7.1rem;
            border-style: dashed;
            background: rgba(248, 250, 252, 0.64);
        }

        .admin-guide-appointments-calendar-day.has-appointments {
            border-color: rgba(20, 184, 166, 0.38);
            box-shadow: inset 0 0 0 1px rgba(20, 184, 166, 0.06);
        }

        .admin-guide-appointments-calendar-day.is-today {
            border-color: rgba(15, 118, 110, 0.52);
            background: rgba(240, 253, 250, 0.96);
        }

        .admin-guide-appointments-calendar-day.is-selected {
            border-color: rgba(15, 118, 110, 0.74);
            background: linear-gradient(180deg, rgba(204, 251, 241, 0.64), rgba(240, 253, 250, 0.98));
            box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.12), 0 14px 26px rgba(15, 118, 110, 0.1);
        }

        .admin-guide-appointments-calendar-day-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.35rem;
        }

        .admin-guide-appointments-calendar-day-top strong {
            display: inline-flex;
            width: 1.75rem;
            height: 1.75rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            color: #0f172a;
            font-size: 0.78rem;
            font-weight: 840;
        }

        .admin-guide-appointments-calendar-day.is-today .admin-guide-appointments-calendar-day-top strong {
            background: #0f766e;
            color: #ffffff;
        }

        .admin-guide-appointments-calendar-day-top span {
            display: inline-flex;
            min-width: 1.48rem;
            height: 1.48rem;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: rgba(20, 184, 166, 0.13);
            color: #0f766e;
            font-size: 0.68rem;
            font-weight: 820;
        }

        .admin-guide-appointments-calendar-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 0.24rem;
        }

        .admin-guide-appointments-calendar-badges span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            max-width: 100%;
            border-radius: 999px;
            padding: 0.18rem 0.42rem;
            font-size: 0.62rem;
            font-weight: 780;
            line-height: 1.15;
        }

        .admin-guide-appointments-calendar-badges .is-open {
            background: rgba(254, 243, 199, 0.9);
            color: #92400e;
        }

        .admin-guide-appointments-calendar-badges .is-confirmed {
            background: rgba(220, 252, 231, 0.92);
            color: #166534;
        }

        .admin-guide-appointments-calendar-badges .is-archived {
            background: rgba(226, 232, 240, 0.9);
            color: #475569;
        }

        .admin-guide-appointments-calendar-items {
            display: grid;
            gap: 0.22rem;
            min-width: 0;
        }

        .admin-guide-appointments-calendar-item {
            display: flex;
            align-items: center;
            gap: 0.24rem;
            min-width: 0;
            color: #64748b;
            font-size: 0.64rem;
            line-height: 1.22;
        }

        .admin-guide-appointments-calendar-item strong {
            color: #0f766e;
            font-weight: 820;
        }

        .admin-guide-appointments-calendar-item span {
            overflow: hidden;
            min-width: 0;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-guide-appointments-list {
            display: grid;
            gap: 0.62rem;
        }

        .admin-guide-appointments-list-context {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            border: 1px solid rgba(153, 246, 228, 0.72);
            border-radius: 0.92rem;
            background: rgba(240, 253, 250, 0.62);
            padding: 0.72rem 0.78rem;
        }

        .admin-guide-appointments-list-context span {
            display: block;
            color: #0f766e;
            font-size: 0.64rem;
            font-weight: 820;
            letter-spacing: 0.11em;
            text-transform: uppercase;
        }

        .admin-guide-appointments-list-context strong {
            display: block;
            margin-top: 0.12rem;
            color: #0f172a;
            font-size: 0.9rem;
            font-weight: 840;
        }

        .admin-guide-appointments-list-context small {
            display: block;
            margin-top: 0.14rem;
            color: #64748b;
            font-size: 0.7rem;
            line-height: 1.3;
        }

        .admin-guide-appointments-list-context button {
            display: inline-flex;
            min-height: 2.2rem;
            flex: 0 0 auto;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(153, 246, 228, 0.95);
            border-radius: 999px;
            background: #ffffff;
            color: #0f766e;
            padding: 0.42rem 0.72rem;
            font-size: 0.72rem;
            font-weight: 800;
            transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
        }

        .admin-guide-appointments-list-context button:hover {
            border-color: rgba(15, 118, 110, 0.48);
            background: rgba(240, 253, 250, 0.95);
            box-shadow: 0 8px 18px rgba(15, 118, 110, 0.08);
        }

        .admin-guide-appointment-card {
            display: grid;
            gap: 0.7rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.96rem;
            background: #ffffff;
            padding: 0.78rem;
        }

        .admin-guide-appointment-card-main {
            display: flex;
            align-items: flex-start;
            gap: 0.78rem;
            min-width: 0;
        }

        .admin-guide-appointment-date {
            display: grid;
            place-items: center;
            min-width: 5.15rem;
            border-radius: 0.84rem;
            background: rgba(240, 253, 250, 0.92);
            color: #0f766e;
            padding: 0.56rem 0.5rem;
            text-align: center;
        }

        .admin-guide-appointment-date strong {
            font-size: 0.77rem;
            line-height: 1.1;
        }

        .admin-guide-appointment-date span {
            margin-top: 0.24rem;
            font-size: 0.95rem;
            font-weight: 820;
        }

        .admin-guide-appointment-info {
            min-width: 0;
            flex: 1 1 auto;
        }

        .admin-guide-appointment-title-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.45rem;
        }

        .admin-guide-appointment-title-row strong {
            color: #0f172a;
            font-size: 0.9rem;
            font-weight: 820;
        }

        .admin-guide-appointment-info p,
        .admin-guide-appointment-info small {
            display: block;
            margin: 0.24rem 0 0;
            color: #64748b;
            font-size: 0.76rem;
            line-height: 1.35;
        }

        .admin-guide-appointment-status {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            padding: 0.24rem 0.52rem;
            font-size: 0.68rem;
            font-weight: 780;
            line-height: 1;
        }

        .admin-guide-appointment-status.is-submitted,
        .admin-guide-appointment-status.is-awaiting {
            background: rgba(254, 243, 199, 0.9);
            color: #92400e;
        }

        .admin-guide-appointment-status.is-confirmed {
            background: rgba(220, 252, 231, 0.9);
            color: #166534;
        }

        .admin-guide-appointment-status.is-cancelled {
            background: rgba(254, 226, 226, 0.95);
            color: #991b1b;
        }

        .admin-guide-appointment-status.is-archived {
            background: rgba(226, 232, 240, 0.9);
            color: #475569;
        }

        .admin-guide-appointment-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
            justify-content: flex-end;
        }

        .admin-guide-appointment-actions button {
            border: 1px solid rgba(203, 213, 225, 0.95);
            border-radius: 999px;
            background: #ffffff;
            color: #334155;
            padding: 0.42rem 0.66rem;
            font-size: 0.72rem;
            font-weight: 760;
            transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
        }

        .admin-guide-appointment-actions button:hover {
            border-color: rgba(15, 118, 110, 0.45);
            background: rgba(240, 253, 250, 0.86);
            color: #0f766e;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-refresh:hover,
        .admin-guide-reservations-panel .admin-guide-appointment-actions button:hover {
            border-color: rgba(109, 40, 217, 0.42);
            background: rgba(245, 243, 255, 0.86);
            color: #6d28d9;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-tabs button.is-active {
            border-color: rgba(109, 40, 217, 0.46);
            background: rgba(237, 233, 254, 0.92);
            color: #6d28d9;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-tabs button.is-active span {
            background: rgba(139, 92, 246, 0.16);
            color: #6d28d9;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar {
            border-color: rgba(196, 181, 253, 0.78);
            background: linear-gradient(180deg, rgba(245, 243, 255, 0.78), rgba(255, 255, 255, 0.94));
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-head span {
            color: #6d28d9;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-controls button {
            border-color: rgba(196, 181, 253, 0.9);
            color: #6d28d9;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-controls button:hover {
            border-color: rgba(109, 40, 217, 0.46);
            background: rgba(245, 243, 255, 0.95);
            box-shadow: 0 8px 18px rgba(109, 40, 217, 0.08);
        }

        .admin-guide-reservations-panel button.admin-guide-appointments-calendar-day:hover,
        .admin-guide-reservations-panel button.admin-guide-appointments-calendar-day:focus-visible {
            border-color: rgba(109, 40, 217, 0.44);
            background: rgba(245, 243, 255, 0.9);
            box-shadow: 0 12px 24px rgba(109, 40, 217, 0.09);
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-day.has-appointments {
            border-color: rgba(139, 92, 246, 0.38);
            box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.08);
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-day.is-today {
            border-color: rgba(109, 40, 217, 0.52);
            background: rgba(245, 243, 255, 0.96);
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-day.is-selected {
            border-color: rgba(109, 40, 217, 0.74);
            background: linear-gradient(180deg, rgba(221, 214, 254, 0.68), rgba(245, 243, 255, 0.98));
            box-shadow: inset 0 0 0 1px rgba(109, 40, 217, 0.12), 0 14px 26px rgba(109, 40, 217, 0.1);
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-day.is-today .admin-guide-appointments-calendar-day-top strong {
            background: #6d28d9;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-day-top span {
            background: rgba(139, 92, 246, 0.14);
            color: #6d28d9;
        }

        .admin-guide-reservations-panel .admin-guide-appointments-calendar-item strong {
            color: #6d28d9;
        }

        .admin-guide-reservations-list-context {
            border-color: rgba(196, 181, 253, 0.78);
            background: rgba(245, 243, 255, 0.68);
        }

        .admin-guide-reservations-list-context span {
            color: #6d28d9;
        }

        .admin-guide-reservations-list-context button {
            border-color: rgba(196, 181, 253, 0.95);
            color: #6d28d9;
        }

        .admin-guide-reservations-list-context button:hover {
            border-color: rgba(109, 40, 217, 0.48);
            background: rgba(245, 243, 255, 0.95);
            box-shadow: 0 8px 18px rgba(109, 40, 217, 0.08);
        }

        .admin-guide-reservation-date {
            background: rgba(245, 243, 255, 0.94);
            color: #6d28d9;
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar {
            border-color: rgba(196, 181, 253, 0.78);
            background: linear-gradient(180deg, rgba(245, 243, 255, 0.8), rgba(255, 255, 255, 0.95));
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-head span {
            color: #6d28d9;
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-controls button {
            border-color: rgba(196, 181, 253, 0.9);
            color: #6d28d9;
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-controls button:hover {
            border-color: rgba(109, 40, 217, 0.46);
            background: rgba(245, 243, 255, 0.95);
            box-shadow: 0 8px 18px rgba(109, 40, 217, 0.08);
        }

        .admin-guide-accommodation-reservations-panel button.admin-guide-appointments-calendar-day:hover,
        .admin-guide-accommodation-reservations-panel button.admin-guide-appointments-calendar-day:focus-visible {
            border-color: rgba(109, 40, 217, 0.44);
            background: rgba(245, 243, 255, 0.9);
            box-shadow: 0 12px 24px rgba(109, 40, 217, 0.09);
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-day.has-appointments {
            border-color: rgba(139, 92, 246, 0.4);
            box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.08);
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-day.is-today {
            border-color: rgba(109, 40, 217, 0.52);
            background: rgba(245, 243, 255, 0.96);
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-day.is-selected {
            border-color: rgba(109, 40, 217, 0.74);
            background: linear-gradient(180deg, rgba(221, 214, 254, 0.68), rgba(245, 243, 255, 0.98));
            box-shadow: inset 0 0 0 1px rgba(109, 40, 217, 0.12), 0 14px 26px rgba(109, 40, 217, 0.1);
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-day.is-today .admin-guide-appointments-calendar-day-top strong {
            background: #6d28d9;
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-day-top span {
            background: rgba(139, 92, 246, 0.14);
            color: #6d28d9;
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-appointments-calendar-item strong,
        .admin-guide-accommodation-reservations-panel .admin-guide-reservations-list-context span {
            color: #6d28d9;
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-reservations-list-context {
            border-color: rgba(196, 181, 253, 0.78);
            background: rgba(245, 243, 255, 0.68);
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-reservations-list-context button {
            border-color: rgba(196, 181, 253, 0.95);
            color: #6d28d9;
        }

        .admin-guide-accommodation-reservations-panel .admin-guide-reservations-list-context button:hover {
            border-color: rgba(109, 40, 217, 0.48);
            background: rgba(245, 243, 255, 0.95);
            box-shadow: 0 8px 18px rgba(109, 40, 217, 0.08);
        }

        .admin-guide-accommodation-date {
            background: rgba(245, 243, 255, 0.94);
            color: #6d28d9;
        }

        .admin-guide-accommodation-occupancy {
            display: grid;
            gap: 0.78rem;
            border: 1px solid rgba(196, 181, 253, 0.78);
            border-radius: 1rem;
            background: linear-gradient(180deg, rgba(245, 243, 255, 0.82), rgba(255, 255, 255, 0.96));
            padding: 0.86rem;
            overflow: hidden;
        }

        .admin-guide-accommodation-occupancy:empty {
            display: none;
        }

        .admin-guide-accommodation-occupancy-head,
        .admin-guide-accommodation-blocks-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.8rem;
        }

        .admin-guide-accommodation-occupancy-head span,
        .admin-guide-accommodation-blocks-head span {
            display: block;
            color: #6d28d9;
            font-size: 0.68rem;
            font-weight: 830;
            letter-spacing: 0.11em;
            text-transform: uppercase;
        }

        .admin-guide-accommodation-occupancy-head strong {
            display: block;
            margin-top: 0.12rem;
            color: #0f172a;
            font-size: 1.06rem;
            font-weight: 860;
            line-height: 1.18;
        }

        .admin-guide-accommodation-occupancy-head small,
        .admin-guide-accommodation-blocks-head p {
            display: block;
            margin-top: 0.16rem;
            color: #64748b;
            font-size: 0.74rem;
            line-height: 1.34;
        }

        .admin-guide-accommodation-occupancy-controls {
            display: inline-flex;
            flex: 0 0 auto;
            align-items: center;
            gap: 0.34rem;
        }

        .admin-guide-accommodation-occupancy-controls button,
        .admin-guide-accommodation-block-new,
        .admin-guide-accommodation-block-card button {
            display: inline-flex;
            min-height: 2rem;
            align-items: center;
            justify-content: center;
            gap: 0.34rem;
            border: 1px solid rgba(196, 181, 253, 0.9);
            border-radius: 999px;
            background: #ffffff;
            color: #6d28d9;
            padding: 0.38rem 0.66rem;
            font-size: 0.72rem;
            font-weight: 800;
            transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
            white-space: nowrap;
        }

        .admin-guide-accommodation-occupancy-controls button:hover,
        .admin-guide-accommodation-block-new:hover,
        .admin-guide-accommodation-block-card button:hover {
            border-color: rgba(109, 40, 217, 0.46);
            background: rgba(245, 243, 255, 0.95);
            box-shadow: 0 8px 18px rgba(109, 40, 217, 0.08);
            transform: translateY(-1px);
        }

        .admin-guide-accommodation-occupancy-legend {
            display: flex;
            flex-wrap: wrap;
            gap: 0.42rem 0.72rem;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 720;
        }

        .admin-guide-accommodation-occupancy-legend span {
            display: inline-flex;
            align-items: center;
            gap: 0.34rem;
        }

        .admin-guide-accommodation-occupancy-legend i {
            display: inline-flex;
            width: 0.72rem;
            height: 0.72rem;
            border-radius: 0.18rem;
        }

        .admin-guide-accommodation-occupancy-legend .is-confirmed,
        .admin-guide-accommodation-occupancy-bar.is-confirmed {
            background: #10b981;
        }

        .admin-guide-accommodation-occupancy-legend .is-open,
        .admin-guide-accommodation-occupancy-bar.is-open {
            background: #f59e0b;
        }

        .admin-guide-accommodation-occupancy-legend .is-awaiting,
        .admin-guide-accommodation-occupancy-bar.is-awaiting {
            background: #3b82f6;
        }

        .admin-guide-accommodation-occupancy-legend .is-blocked,
        .admin-guide-accommodation-occupancy-bar.is-blocked {
            background: repeating-linear-gradient(135deg, #64748b 0 8px, #475569 8px 16px);
        }

        .admin-guide-accommodation-occupancy-scroll {
            overflow-x: auto;
            padding-bottom: 0.18rem;
        }

        .admin-guide-accommodation-occupancy-grid {
            --occupancy-room-track-min: 12.5rem;
            --occupancy-room-track-max: 16rem;
            --occupancy-day-track: 2.35rem;
            display: grid;
            grid-template-columns: minmax(var(--occupancy-room-track-min), var(--occupancy-room-track-max)) minmax(calc(var(--days) * var(--occupancy-day-track)), 1fr);
            width: max(100%, calc(var(--occupancy-room-track-min) + (var(--days) * var(--occupancy-day-track))));
            min-width: 0;
            border: 1px solid rgba(226, 232, 240, 0.92);
            border-radius: 0.9rem;
            overflow: hidden;
            background: #ffffff;
        }

        .admin-guide-accommodation-occupancy-corner,
        .admin-guide-accommodation-occupancy-days {
            min-height: 3.25rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.94);
            background: rgba(248, 250, 252, 0.86);
        }

        .admin-guide-accommodation-occupancy-corner {
            display: flex;
            align-items: center;
            padding: 0 0.88rem;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 830;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .admin-guide-accommodation-occupancy-days {
            display: grid;
            grid-template-columns: repeat(var(--days), minmax(var(--occupancy-day-track), 1fr));
        }

        .admin-guide-accommodation-occupancy-days span {
            display: grid;
            place-items: center;
            gap: 0.08rem;
            border-left: 1px solid rgba(226, 232, 240, 0.86);
            color: #64748b;
            font-size: 0.68rem;
            font-weight: 760;
        }

        .admin-guide-accommodation-occupancy-days strong {
            color: #0f172a;
            font-size: 0.86rem;
            font-weight: 860;
        }

        .admin-guide-accommodation-occupancy-days small {
            font-size: 0.58rem;
            font-weight: 760;
            text-transform: uppercase;
        }

        .admin-guide-accommodation-occupancy-room {
            display: contents;
        }

        .admin-guide-accommodation-occupancy-room-info,
        .admin-guide-accommodation-occupancy-row {
            min-height: var(--row-height, 4.1rem);
            border-bottom: 1px solid rgba(226, 232, 240, 0.86);
        }

        .admin-guide-accommodation-occupancy-room:last-child .admin-guide-accommodation-occupancy-room-info,
        .admin-guide-accommodation-occupancy-room:last-child .admin-guide-accommodation-occupancy-row {
            border-bottom: 0;
        }

        .admin-guide-accommodation-occupancy-room-info {
            display: grid;
            align-content: center;
            gap: 0.22rem;
            padding: 0.72rem 0.88rem;
            background: rgba(255, 255, 255, 0.96);
        }

        .admin-guide-accommodation-occupancy-room-info strong {
            color: #0f172a;
            font-size: 0.84rem;
            font-weight: 850;
            line-height: 1.2;
        }

        .admin-guide-accommodation-occupancy-room-info small {
            color: #64748b;
            font-size: 0.7rem;
            line-height: 1.32;
        }

        .admin-guide-accommodation-occupancy-row {
            position: relative;
            display: grid;
            grid-template-columns: repeat(var(--days), minmax(var(--occupancy-day-track), 1fr));
            background: #ffffff;
        }

        .admin-guide-accommodation-occupancy-cell {
            min-height: var(--row-height, 4.1rem);
            border-left: 1px solid rgba(226, 232, 240, 0.72);
            background: rgba(255, 255, 255, 0.7);
        }

        .admin-guide-accommodation-occupancy-cell:nth-child(7n),
        .admin-guide-accommodation-occupancy-cell:nth-child(7n + 1) {
            background: rgba(248, 250, 252, 0.72);
        }

        .admin-guide-accommodation-occupancy-bar {
            position: absolute;
            left: var(--bar-left);
            top: var(--bar-top);
            width: var(--bar-width);
            display: flex;
            min-height: 1.28rem;
            align-items: center;
            justify-content: space-between;
            gap: 0.42rem;
            border-radius: 0.42rem;
            color: #ffffff;
            padding: 0.22rem 0.48rem;
            box-shadow: 0 10px 18px -16px rgba(15, 23, 42, 0.62);
            font-size: 0.68rem;
            line-height: 1;
            overflow: hidden;
        }

        .admin-guide-accommodation-occupancy-bar strong,
        .admin-guide-accommodation-occupancy-bar small {
            overflow: hidden;
            color: inherit;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .admin-guide-accommodation-occupancy-bar strong {
            font-weight: 850;
        }

        .admin-guide-accommodation-occupancy-bar small {
            opacity: 0.9;
            font-size: 0.62rem;
            font-weight: 760;
        }

        .admin-guide-accommodation-occupancy-free {
            position: absolute;
            top: 50%;
            left: 0.75rem;
            transform: translateY(-50%);
            color: #94a3b8;
            font-size: 0.72rem;
            font-weight: 740;
        }

        .admin-guide-accommodation-blocks {
            display: grid;
            gap: 0.72rem;
            border: 1px solid rgba(196, 181, 253, 0.62);
            border-radius: 1rem;
            background: rgba(255, 255, 255, 0.82);
            padding: 0.82rem;
        }

        .admin-guide-accommodation-block-form {
            display: grid;
            grid-template-columns: minmax(12rem, 1.2fr) minmax(9rem, 0.7fr) minmax(9rem, 0.7fr) minmax(12rem, 1.2fr) auto;
            align-items: end;
            gap: 0.62rem;
            border: 1px dashed rgba(196, 181, 253, 0.9);
            border-radius: 0.92rem;
            background: rgba(245, 243, 255, 0.48);
            padding: 0.78rem;
        }

        .admin-guide-accommodation-block-form[hidden] {
            display: none !important;
        }

        .admin-guide-accommodation-block-form label {
            display: grid;
            gap: 0.28rem;
        }

        .admin-guide-accommodation-block-form label span {
            color: #334155;
            font-size: 0.68rem;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .admin-guide-accommodation-block-form input,
        .admin-guide-accommodation-block-form select {
            width: 100%;
            min-height: 2.55rem;
            border: 1px solid rgba(203, 213, 225, 0.95);
            border-radius: 0.72rem;
            background: #ffffff;
            color: #0f172a;
            padding: 0.54rem 0.68rem;
            font-size: 0.82rem;
            outline: none;
        }

        .admin-guide-accommodation-block-form input:focus,
        .admin-guide-accommodation-block-form select:focus {
            border-color: rgba(109, 40, 217, 0.6);
            box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.16);
        }

        .admin-guide-accommodation-block-form-actions {
            display: inline-flex;
            justify-content: flex-end;
            gap: 0.45rem;
            white-space: nowrap;
        }

        .admin-guide-accommodation-block-save {
            border-color: rgba(109, 40, 217, 0.86);
            background: #6d28d9;
            color: #ffffff;
            box-shadow: 0 14px 24px -22px rgba(109, 40, 217, 0.82);
        }

        .admin-guide-accommodation-block-save:hover {
            border-color: rgba(91, 33, 182, 0.92);
            background: #5b21b6;
            box-shadow: 0 18px 30px -24px rgba(109, 40, 217, 0.9);
        }

        .admin-guide-accommodation-block-save i,
        .admin-guide-accommodation-block-save span {
            color: #ffffff;
        }

        .admin-guide-accommodation-block-list {
            display: grid;
            gap: 0.52rem;
        }

        .admin-guide-accommodation-block-card {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.8rem;
            border: 1px solid rgba(226, 232, 240, 0.92);
            border-radius: 0.86rem;
            background: #ffffff;
            padding: 0.68rem 0.76rem;
        }

        .admin-guide-accommodation-block-card strong,
        .admin-guide-accommodation-block-card span,
        .admin-guide-accommodation-block-card small {
            display: block;
        }

        .admin-guide-accommodation-block-card strong {
            color: #0f172a;
            font-size: 0.82rem;
            font-weight: 850;
        }

        .admin-guide-accommodation-block-card span {
            margin-top: 0.18rem;
            color: #475569;
            font-size: 0.72rem;
            font-weight: 700;
        }

        .admin-guide-accommodation-block-card small {
            margin-top: 0.16rem;
            color: #64748b;
            font-size: 0.7rem;
        }

        .admin-guide-appointment-actions button:disabled {
            cursor: wait;
            opacity: 0.62;
        }

        .admin-guide-appointments-more-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            border-top: 1px dashed rgba(203, 213, 225, 0.86);
            padding-top: 0.62rem;
            color: #64748b;
            font-size: 0.75rem;
            font-weight: 620;
        }

        .admin-guide-appointments-more-row button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 2.05rem;
            border: 1px solid rgba(203, 213, 225, 0.92);
            border-radius: 999px;
            background: #ffffff;
            color: #334155;
            padding: 0.42rem 0.72rem;
            font-size: 0.74rem;
            font-weight: 760;
        }

        .admin-guide-plan-gate-open {
            overflow: hidden;
        }

        .admin-guide-plan-gate {
            position: fixed;
            inset: 0;
            z-index: 90;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
        }

        .admin-guide-plan-gate-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.56);
            backdrop-filter: blur(6px);
        }

        .admin-guide-plan-gate-card {
            position: relative;
            z-index: 1;
            width: min(980px, 100%);
            max-height: min(860px, calc(100vh - 3rem));
            overflow: auto;
            border: 1px solid rgba(241, 196, 15, 0.45);
            border-radius: 1.4rem;
            background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.98));
            box-shadow: 0 28px 80px -38px rgba(15, 23, 42, 0.72);
            padding: 1.35rem;
        }

        .admin-guide-plan-gate-header {
            display: flex;
            gap: 0.9rem;
            align-items: flex-start;
        }

        .admin-guide-plan-gate-icon {
            display: inline-flex;
            width: 3rem;
            height: 3rem;
            flex: 0 0 auto;
            align-items: center;
            justify-content: center;
            border-radius: 1rem;
            border: 1px solid rgba(241, 196, 15, 0.5);
            background: #fff7cc;
            color: #8a6400;
            font-size: 1.2rem;
        }

        .admin-guide-plan-gate-eyebrow {
            margin: 0 0 0.15rem;
            color: #64748b;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .admin-guide-plan-gate-header h3 {
            margin: 0;
            color: #0f172a;
            font-size: clamp(1.5rem, 3vw, 2.1rem);
            font-weight: 800;
            letter-spacing: 0;
            line-height: 1.1;
        }

        .admin-guide-plan-gate-header p:last-child {
            margin-top: 0.2rem;
            color: #64748b;
            font-size: 0.95rem;
            font-weight: 500;
        }

        .admin-guide-plan-gate-copy {
            margin-top: 1.1rem;
            display: grid;
            gap: 0.35rem;
            border: 1px solid rgba(226, 232, 240, 0.9);
            border-radius: 1rem;
            background: rgba(255, 255, 255, 0.76);
            padding: 1rem;
            color: #475569;
            line-height: 1.5;
        }

        .admin-guide-plan-gate-copy strong {
            color: #1f2937;
            font-size: 1rem;
            font-weight: 650;
        }

        .admin-guide-plan-gate-copy span {
            font-size: 0.88rem;
            font-weight: 400;
        }

        .admin-guide-plan-gate-options {
            margin-top: 1rem;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.85rem;
        }

        .admin-guide-plan-gate-option {
            display: flex;
            min-height: 205px;
            cursor: pointer;
            flex-direction: column;
            gap: 0.65rem;
            border: 1px solid rgba(203, 213, 225, 0.95);
            border-radius: 1.1rem;
            background: rgba(255, 255, 255, 0.96);
            padding: 1rem;
            text-align: left;
            transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
        }

        .admin-guide-plan-gate-option:hover {
            border-color: rgba(241, 196, 15, 0.82);
            box-shadow: 0 18px 30px -30px rgba(120, 89, 0, 0.8);
            transform: translateY(-1px);
        }

        .admin-guide-plan-gate-option.is-selected {
            border-color: rgba(241, 196, 15, 0.98);
            background: #fffbea;
            box-shadow: 0 0 0 4px rgba(241, 196, 15, 0.16), 0 18px 30px -28px rgba(120, 89, 0, 0.72);
        }

        .admin-guide-plan-gate-option-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.7rem;
        }

        .admin-guide-plan-gate-option-top strong {
            color: #111827;
            font-size: 1rem;
            font-weight: 750;
            line-height: 1.2;
        }

        .admin-guide-plan-gate-option-top em {
            color: #0f172a;
            font-size: 0.9rem;
            font-style: normal;
            font-weight: 700;
            line-height: 1.2;
            text-align: right;
            white-space: nowrap;
        }

        .admin-guide-plan-gate-badge {
            width: fit-content;
            border-radius: 999px;
            border: 1px solid rgba(241, 196, 15, 0.54);
            background: rgba(255, 247, 204, 0.78);
            color: #805b00;
            padding: 0.24rem 0.56rem;
            font-size: 0.7rem;
            font-weight: 650;
            line-height: 1;
        }

        .admin-guide-plan-gate-description {
            color: #475569;
            font-size: 0.86rem;
            font-weight: 500;
            line-height: 1.45;
        }

        .admin-guide-plan-gate-option small {
            margin-top: auto;
            color: #64748b;
            font-size: 0.76rem;
            font-weight: 500;
            line-height: 1.42;
        }

        .admin-guide-plan-gate-actions {
            margin-top: 1rem;
            display: flex;
            justify-content: flex-end;
            gap: 0.7rem;
        }

        .admin-guide-plan-gate-actions .admin-section-action.is-secondary {
            font-weight: 650;
        }

        .admin-guide-plan-gate-spin {
            animation: adminSpin 850ms linear infinite;
        }

        @media (min-width: 900px) {
            .admin-guide-plan-options {
                grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            }

            .admin-guide-modules-options {
                grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            }
        }

        @media (max-width: 640px) {
            .admin-guide-plan-editor-heading {
                flex-direction: column;
            }

            .admin-guide-modules-editor-heading {
                flex-direction: column;
            }

            .admin-guide-module-action-strip,
            .admin-guide-module-shortcuts-list {
                flex-direction: column;
                align-items: stretch;
            }

            .admin-guide-module-action-btn,
            .admin-guide-module-shortcut {
                width: 100%;
                justify-content: flex-start;
            }

            #view-editor-registro.is-guide-module-overlay-open .admin-editor-shell {
                transform: translateX(-116%);
            }

            .admin-guide-plan-editor-heading strong {
                align-self: flex-start;
            }

            .admin-guide-modules-editor-heading strong {
                align-self: flex-start;
            }

            .admin-guide-plan-card-top {
                flex-direction: column;
            }

            .admin-guide-plan-card-top strong {
                text-align: left;
            }

            .admin-guide-plan-gate {
                padding: 0.8rem;
            }

            .admin-guide-module-screen {
                padding: 0.74rem;
            }

            #view-editor-registro.is-guide-module-overlay-open .admin-guide-module-screen-shell.is-module-screen-open {
                inset: 0;
                padding: 0;
            }

            #view-editor-registro.is-guide-module-overlay-open .admin-guide-module-screen-shell.is-module-screen-open .admin-guide-module-screen {
                min-height: 0;
                padding: 0.82rem;
                border-radius: 1rem;
            }

            .admin-guide-module-screen-header {
                flex-direction: column;
                gap: 0.58rem;
            }

            .admin-guide-catalog-config-header,
            .admin-guide-catalog-form-actions {
                flex-direction: column;
                align-items: stretch;
            }

            .admin-guide-catalog-header-actions {
                display: grid;
                grid-template-columns: 1fr;
                width: 100%;
            }

            .admin-guide-catalog-copy-btn {
                justify-content: center;
                width: 100%;
            }

            .admin-guide-catalog-new-btn {
                width: 100%;
            }

            .admin-guide-catalog-display-grid,
            .admin-guide-delivery-config-grid,
            .admin-guide-delivery-rules-layout,
            .admin-guide-delivery-coupon-grid,
            .admin-guide-delivery-coupon-composer,
            .admin-guide-accommodation-coupon-grid,
            .admin-guide-accommodation-coupon-composer,
            .admin-guide-catalog-groups-create,
            .admin-guide-catalog-item-composer-grid,
            .admin-guide-catalog-item-fields-row,
            .admin-guide-delivery-custom-group-grid,
            .admin-guide-delivery-custom-option-row,
            .admin-guide-catalog-items-grid {
                grid-template-columns: 1fr;
            }

            .admin-guide-delivery-rule-column + .admin-guide-delivery-rule-column {
                border-left: 0;
                border-top: 1px solid rgba(226, 232, 240, 0.9);
            }

            .admin-guide-delivery-rule-heading,
            .admin-guide-delivery-token-add-row,
            .admin-guide-delivery-item-options-header,
            .admin-guide-delivery-custom-options-heading {
                grid-template-columns: 1fr;
                flex-direction: column;
                align-items: stretch;
            }

            .admin-guide-delivery-mini-action,
            .admin-guide-accommodation-mini-action,
            .admin-guide-delivery-token-add-row button,
            .admin-guide-delivery-coupon-composer button,
            .admin-guide-accommodation-coupon-add-btn {
                width: 100%;
            }

            .admin-guide-delivery-coupon-add-btn,
            .admin-guide-accommodation-coupon-add-btn {
                grid-column: auto;
                justify-self: stretch;
            }

            .admin-guide-delivery-hours-row {
                grid-template-columns: auto minmax(0, 1fr);
                align-items: stretch;
            }

            .admin-guide-delivery-hours-row > input,
            .admin-guide-delivery-hours-separator {
                grid-column: 2;
            }

            .admin-guide-delivery-hours-row > button {
                grid-column: 2;
                justify-self: start;
            }

            .admin-guide-delivery-custom-option-row > button {
                justify-self: start;
            }

            .admin-guide-delivery-coupon-card {
                grid-template-columns: 1fr;
            }

            .admin-guide-delivery-coupon-value,
            .admin-guide-accommodation-coupon-value {
                grid-template-columns: auto auto auto;
                justify-content: space-between;
                justify-items: start;
                align-items: center;
                min-width: 0;
                border-left: 0;
                border-top: 1px dashed rgba(203, 213, 225, 0.95);
                padding-left: 0;
                padding-top: 0.65rem;
            }

            .admin-guide-accommodation-coupon-card {
                grid-template-columns: 1fr;
            }

            .admin-guide-catalog-form-close {
                position: static;
                justify-self: end;
            }

            .admin-guide-catalog-item-card {
                grid-template-columns: 4.25rem minmax(0, 1fr);
            }

            .admin-guide-catalog-item-thumb {
                width: 4.25rem;
                height: 4.25rem;
            }

            .admin-guide-catalog-item-actions {
                grid-column: 2;
                justify-self: start;
            }

            .admin-guide-module-screen-title-wrap {
                width: 100%;
            }

            .admin-guide-appointment-config-header,
            .admin-guide-appointment-nav,
            .admin-guide-delivery-nav,
            .admin-guide-service-form-actions,
            .admin-guide-hours-builder-inputs {
                flex-direction: column;
                align-items: stretch;
            }

            .admin-guide-appointment-nav button,
            .admin-guide-delivery-nav button,
            .admin-guide-service-new-btn,
            .admin-guide-hours-builder-inputs .admin-section-action {
                width: 100%;
            }

            .admin-guide-service-composer-grid {
                grid-template-columns: 1fr;
                padding-right: 0;
            }

            .admin-guide-service-form-close {
                position: static;
                justify-self: end;
            }

            .admin-guide-service-card {
                grid-template-columns: auto minmax(0, 1fr);
            }

            .admin-guide-service-price,
            .admin-guide-service-remove {
                justify-self: start;
            }

            .admin-guide-appointment-day-row {
                grid-template-columns: auto minmax(0, 1fr);
            }

            .admin-guide-appointment-day-status {
                grid-column: 2;
            }

            .admin-guide-hours-builder-inputs label {
                max-width: none;
            }

            .admin-guide-weekdays-grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }

            .admin-guide-module-screen-back {
                width: 100%;
                justify-content: center;
            }

            .admin-guide-module-screen-actions {
                flex-direction: column-reverse;
                align-items: stretch;
            }

            .admin-guide-module-screen-actions .admin-section-action {
                width: 100%;
                justify-content: center;
            }

            .admin-guide-appointments-panel-header,
            .admin-guide-appointment-card-main {
                flex-direction: column;
            }

            .admin-guide-appointments-refresh {
                width: 100%;
            }

            .admin-guide-appointments-calendar-head {
                flex-direction: column;
            }

            .admin-guide-appointments-calendar-controls {
                width: 100%;
            }

            .admin-guide-appointments-calendar-controls button {
                flex: 1 1 auto;
            }

            .admin-guide-appointments-calendar {
                gap: 0.54rem;
                padding: 0.7rem;
            }

            .admin-guide-appointments-calendar-weekdays,
            .admin-guide-appointments-calendar-grid {
                gap: 0.28rem;
            }

            .admin-guide-appointments-calendar-day,
            .admin-guide-appointments-calendar-day.is-empty {
                aspect-ratio: 1 / 1;
                min-height: 0;
                border-radius: 0.72rem;
                padding: 0.22rem;
            }

            .admin-guide-appointments-calendar-day-top {
                position: relative;
                min-height: 1.65rem;
                justify-content: center;
            }

            .admin-guide-appointments-calendar-day-top strong {
                width: 1.5rem;
                height: 1.5rem;
                font-size: 0.72rem;
            }

            .admin-guide-appointments-calendar-day-top span {
                position: absolute;
                top: -0.12rem;
                right: -0.1rem;
                min-width: 1.05rem;
                height: 1.05rem;
                padding: 0 0.22rem;
                box-shadow: 0 0 0 2px #ffffff;
                font-size: 0.55rem;
            }

            .admin-guide-appointments-calendar-badges {
                justify-content: center;
                gap: 0.12rem;
            }

            .admin-guide-appointments-calendar-badges span {
                width: 0.38rem;
                height: 0.38rem;
                overflow: hidden;
                border-radius: 999px;
                padding: 0;
                color: transparent;
                font-size: 0;
            }

            .admin-guide-appointments-calendar-items {
                display: none;
            }

            .admin-guide-appointments-list-context {
                flex-direction: column;
                align-items: stretch;
            }

            .admin-guide-appointments-list-context button {
                width: 100%;
            }

            .admin-guide-accommodation-occupancy-head,
            .admin-guide-accommodation-blocks-head,
            .admin-guide-accommodation-block-card {
                flex-direction: column;
                align-items: stretch;
            }

            .admin-guide-accommodation-occupancy-controls,
            .admin-guide-accommodation-block-new {
                width: 100%;
            }

            .admin-guide-accommodation-occupancy-controls button {
                flex: 1 1 auto;
            }

            .admin-guide-accommodation-occupancy {
                padding: 0.72rem;
            }

            .admin-guide-accommodation-occupancy-scroll {
                margin-inline: -0.2rem;
                padding-inline: 0.2rem;
            }

            .admin-guide-accommodation-occupancy-grid {
                --occupancy-room-track-min: 10rem;
                --occupancy-room-track-max: 12rem;
                --occupancy-day-track: 2.2rem;
            }

            .admin-guide-accommodation-occupancy-bar small {
                display: none;
            }

            .admin-guide-accommodation-block-form {
                grid-template-columns: 1fr;
            }

            .admin-guide-accommodation-block-form-actions {
                flex-direction: column-reverse;
            }

            .admin-guide-accommodation-block-form-actions .admin-section-action {
                width: 100%;
                justify-content: center;
            }

            .admin-guide-appointment-date {
                width: 100%;
            }

            .admin-guide-appointment-actions {
                justify-content: stretch;
            }

            .admin-guide-appointment-actions button {
                flex: 1 1 calc(50% - 0.45rem);
            }

            .admin-guide-appointments-more-row {
                flex-direction: column;
                align-items: stretch;
            }

            .admin-guide-appointments-more-row button {
                width: 100%;
            }

            .admin-guide-plan-gate-card {
                max-height: calc(100vh - 1.6rem);
                padding: 1rem;
            }

            .admin-guide-plan-gate-header {
                flex-direction: column;
            }

            .admin-guide-plan-gate-options {
                grid-template-columns: 1fr;
            }

            .admin-guide-plan-gate-actions {
                flex-direction: column-reverse;
            }

            .admin-guide-plan-gate-actions .admin-section-action {
                width: 100%;
                justify-content: center;
            }
        }

        @media (min-width: 641px) and (max-width: 1050px) {
            .admin-guide-plan-gate-options {
                grid-template-columns: 1fr;
            }
        }

        .admin-rich-editor-shell {
            margin-top: 0.25rem;
            overflow: hidden;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 1rem;
            background: rgba(255, 255, 255, 0.96);
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .admin-rich-editor-shell:focus-within {
            border-color: rgba(241, 196, 15, 0.75);
            box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.14);
        }

        .admin-rich-editor-shell.is-readonly {
            background: rgba(248, 250, 252, 0.72);
        }

        .admin-rich-editor-shell.is-readonly .admin-rich-editor,
        .admin-rich-editor-shell.is-readonly .admin-rich-editor-toolbar {
            background: rgba(248, 250, 252, 0.72);
        }

        .admin-rich-editor-shell.is-readonly .admin-rich-editor-btn {
            cursor: not-allowed;
            opacity: 0.52;
        }

        .admin-rich-editor-toolbar {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            border-bottom: 1px solid rgba(226, 232, 240, 0.88);
            background: rgba(248, 250, 252, 0.9);
            padding: 0.55rem;
        }

        .admin-rich-editor-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 2rem;
            height: 2rem;
            border: 1px solid rgba(226, 232, 240, 0.95);
            border-radius: 0.75rem;
            background: #fff;
            color: #475569;
            font-size: 0.8rem;
            font-weight: 800;
            transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
        }

        .admin-rich-editor-btn:hover {
            border-color: rgba(241, 196, 15, 0.7);
            background: rgba(255, 251, 235, 0.92);
            color: #805b00;
        }

        .admin-rich-editor {
            min-height: 8.5rem;
            padding: 0.9rem 1rem;
            color: #334155;
            font-size: 0.9rem;
            line-height: 1.65;
            outline: none;
        }

        .admin-rich-editor:empty::before {
            content: attr(data-placeholder);
            color: #94a3b8;
        }

        .admin-rich-editor p + p {
            margin-top: 0.55rem;
        }

        .admin-rich-editor ul,
        .admin-rich-editor ol {
            margin: 0.6rem 0 0.6rem 1.25rem;
        }

        .admin-rich-editor ul {
            list-style: disc;
        }

        .admin-rich-editor ol {
            list-style: decimal;
        }

        .admin-rich-editor a {
            color: #0f766e;
            font-weight: 700;
            text-decoration: underline;
        }

        .action-restrita {
            opacity: 0.45;
            filter: saturate(0.6);
            cursor: not-allowed !important;
        }

        [data-admin-permission-hidden="true"],
        [data-ocultar-quando-restrito].action-restrita {
            display: none !important;
        }

        .view-section { display: none; }
        .view-section.active { display: block; animation: fadeIn 0.3s ease; }

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

        .custom-scrollbar::-webkit-scrollbar { height: 6px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: #dde7ef; border-radius: 4px; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #9ab0c4; border-radius: 4px; }
        .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #7b97b1; }

        @media (max-width: 768px) {
            .login-brand-logo {
                height: 62px;
            }

            #admin-topbar {
                display: grid;
                grid-template-columns: minmax(0, 1fr) auto;
                column-gap: 0.35rem;
                padding-left: 0.85rem;
                padding-right: 0.55rem;
            }

            .admin-topbar-title {
                overflow: hidden;
            }

            #page-title {
                min-width: 0;
                max-width: 100%;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .admin-topbar-actions {
                width: 104px;
                justify-content: flex-end;
                gap: 0.35rem;
            }

            .admin-dashboard-alerts-menu {
                position: fixed;
                top: 82px;
                right: 16px;
                width: calc(100vw - 32px);
            }

            .admin-dashboard-alert-item {
                grid-template-columns: 34px minmax(0, 1fr);
            }

            .admin-dashboard-alert-item-date {
                grid-column: 2;
                margin-top: -4px;
            }

            #admin-account-menu-wrapper {
                width: 56px;
                justify-content: flex-end;
                padding-left: 0.45rem !important;
            }

            .admin-account-trigger {
                padding: 3px;
            }

            .admin-avatar-shell {
                width: 40px;
                height: 40px;
            }
        }
