/*
 * OtelYönet Hotel Panel — Quiet Luxury
 * A panel-scoped, reversible visual layer. No component behavior is changed.
 */

.fi-panel-hotel {
    --ql-ink: #1c2723;
    --ql-ink-soft: #34423c;
    --ql-muted: #77766d;
    --ql-canvas: #f1eee6;
    --ql-canvas-deep: #e8e3d8;
    --ql-paper: #fffdf8;
    --ql-paper-soft: rgba(255, 253, 248, .88);
    --ql-line: rgba(74, 70, 60, .13);
    --ql-line-strong: rgba(74, 70, 60, .2);
    --ql-forest: #172b25;
    --ql-forest-soft: #24443a;
    --ql-sage: #5f897d;
    --ql-brass: #a77a3d;
    --ql-brass-bright: #c7a264;
    --ql-danger: #a95550;
    --ql-shadow-sm: 0 8px 24px rgba(38, 42, 37, .065);
    --ql-shadow-md: 0 18px 48px rgba(38, 42, 37, .095);
    --ql-shadow-lg: 0 30px 80px rgba(28, 39, 35, .16);
    --ql-radius-sm: 12px;
    --ql-radius: 18px;
    --ql-radius-lg: 26px;
    background:
        radial-gradient(circle at 78% 2%, rgba(167, 122, 61, .09), transparent 25rem),
        radial-gradient(circle at 15% 90%, rgba(95, 137, 125, .08), transparent 30rem),
        linear-gradient(135deg, var(--ql-canvas), #f8f6f0 52%, var(--ql-canvas-deep)) !important;
    color: var(--ql-ink);
}

.fi-panel-hotel .fi-layout {
    background:
        linear-gradient(rgba(73, 68, 56, .024) 1px, transparent 1px),
        linear-gradient(90deg, rgba(73, 68, 56, .024) 1px, transparent 1px);
    background-size: 32px 32px;
}

.fi-panel-hotel .fi-main {
    padding: 1.45rem clamp(1rem, 2.2vw, 2.25rem) 2.5rem !important;
}

/* Sidebar */
.fi-panel-hotel .fi-sidebar.oy-sidebar {
    border-right: 1px solid rgba(231, 213, 182, .11) !important;
    background:
        radial-gradient(circle at 12% 4%, rgba(199, 162, 100, .13), transparent 13rem),
        linear-gradient(180deg, #111e1a 0%, #172b25 52%, #101b18 100%) !important;
    box-shadow: 16px 0 48px rgba(25, 40, 35, .16) !important;
}

.fi-panel-hotel .fi-sidebar-header,
.fi-panel-hotel .oy-sidebar-header {
    border-bottom-color: rgba(234, 220, 195, .1) !important;
    background: rgba(255, 253, 248, .025) !important;
}

.fi-panel-hotel .fi-sidebar-nav {
    padding: 1rem .72rem 1.1rem !important;
}

.fi-panel-hotel .oy-tenant-trigger {
    border-color: rgba(224, 204, 168, .15) !important;
    border-radius: 15px !important;
    background: rgba(255, 253, 248, .055) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .05) !important;
}

.fi-panel-hotel .oy-tenant-trigger:hover {
    border-color: rgba(214, 180, 119, .36) !important;
    background: rgba(255, 253, 248, .09) !important;
}

.fi-panel-hotel .oy-tenant-avatar {
    background: linear-gradient(145deg, #c7a264, #8b6332) !important;
    box-shadow: 0 8px 18px rgba(167, 122, 61, .25);
}

.fi-panel-hotel .oy-sidebar-group-label,
.fi-panel-hotel .fi-sidebar-group-label {
    color: rgba(229, 205, 165, .72) !important;
    font-size: .62rem !important;
    letter-spacing: .17em !important;
}

.fi-panel-hotel .oy-sidebar-item-btn {
    min-height: 2.45rem;
    border-radius: 12px !important;
    color: rgba(241, 238, 228, .74) !important;
}

.fi-panel-hotel .oy-sidebar-item-btn:hover {
    border-color: rgba(224, 204, 168, .12) !important;
    background: rgba(255, 253, 248, .065) !important;
    color: #fffdf8 !important;
    transform: translateX(2px);
}

.fi-panel-hotel .oy-sidebar-item-icon,
.fi-panel-hotel .fi-sidebar-item-icon {
    color: rgba(214, 195, 164, .68) !important;
}

.fi-panel-hotel .fi-sidebar-item.fi-active .oy-sidebar-item-btn,
.fi-panel-hotel .oy-sidebar-item-active .oy-sidebar-item-btn {
    border-color: rgba(214, 180, 119, .3) !important;
    background: linear-gradient(135deg, rgba(199, 162, 100, .19), rgba(95, 137, 125, .12)) !important;
    color: #fffdf8 !important;
    box-shadow: inset 3px 0 #c7a264, inset 0 1px rgba(255, 255, 255, .06) !important;
}

.fi-panel-hotel .oy-sidebar-footer > div {
    border-color: rgba(214, 180, 119, .14) !important;
    background: rgba(255, 253, 248, .045) !important;
}

.fi-panel-hotel .oy-sidebar-footer span,
.fi-panel-hotel .oy-sidebar-footer svg {
    color: #d6b477 !important;
}

/* Top bar */
.fi-panel-hotel .oy-topbar,
.fi-panel-hotel .fi-topbar {
    top: .7rem;
}

.fi-panel-hotel .oy-topbar-nav,
.fi-panel-hotel .fi-topbar nav {
    height: 3.6rem !important;
    border: 1px solid rgba(255, 253, 248, .88) !important;
    border-radius: 17px !important;
    background: rgba(255, 253, 248, .8) !important;
    box-shadow: var(--ql-shadow-sm) !important;
    backdrop-filter: blur(22px) saturate(135%);
}

.fi-panel-hotel .oy-topbar-action-btn:hover,
.fi-panel-hotel .fi-topbar .fi-icon-btn:hover {
    background: rgba(167, 122, 61, .09) !important;
    color: var(--ql-brass) !important;
}

.fi-panel-hotel .oy-user-trigger {
    border: 1px solid transparent;
}

.fi-panel-hotel .oy-user-trigger:hover {
    border-color: var(--ql-line) !important;
    background: rgba(255, 253, 248, .82) !important;
}

.fi-panel-hotel .oy-topbar-logout {
    border-color: rgba(169, 85, 80, .2) !important;
    background: rgba(169, 85, 80, .055) !important;
    color: #914a46 !important;
    box-shadow: none !important;
}

.fi-panel-hotel .oy-topbar-logout:hover {
    border-color: rgba(169, 85, 80, .34) !important;
    background: rgba(169, 85, 80, .095) !important;
}

/* Page heading */
.fi-panel-hotel .oy-page-header,
.fi-panel-hotel .fi-header {
    border: 1px solid rgba(255, 253, 248, .9) !important;
    border-radius: var(--ql-radius-lg) !important;
    background:
        radial-gradient(circle at 94% 15%, rgba(167, 122, 61, .11), transparent 15rem),
        linear-gradient(135deg, rgba(255, 253, 248, .96), rgba(248, 245, 237, .8)) !important;
    box-shadow: var(--ql-shadow-sm) !important;
}

.fi-panel-hotel .oy-page-header::after,
.fi-panel-hotel .fi-header::after {
    background: linear-gradient(90deg, var(--ql-brass), rgba(95, 137, 125, .8), transparent) !important;
}

.fi-panel-hotel .oy-page-heading,
.fi-panel-hotel .fi-header-heading {
    color: var(--ql-ink) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    letter-spacing: -.04em !important;
}

.fi-panel-hotel .fi-header-subheading,
.fi-panel-hotel .fi-breadcrumbs {
    color: var(--ql-muted) !important;
}

/* Cards and sections */
.fi-panel-hotel .fi-section,
.fi-panel-hotel .fi-wi-stats-overview-stat,
.fi-panel-hotel .fi-ta-ctn,
.fi-panel-hotel .fi-fo-section,
.fi-panel-hotel .fi-in-section {
    border: 1px solid rgba(255, 253, 248, .88) !important;
    border-radius: var(--ql-radius) !important;
    background: var(--ql-paper-soft) !important;
    box-shadow: var(--ql-shadow-sm) !important;
    backdrop-filter: blur(16px) saturate(120%);
}

.fi-panel-hotel .fi-section::before,
.fi-panel-hotel .fi-fo-section::before,
.fi-panel-hotel .fi-in-section::before {
    background: linear-gradient(180deg, var(--ql-brass), rgba(95, 137, 125, .75)) !important;
}

.fi-panel-hotel .fi-section:hover,
.fi-panel-hotel .fi-wi-stats-overview-stat:hover {
    border-color: rgba(167, 122, 61, .14) !important;
    box-shadow: var(--ql-shadow-md) !important;
}

.fi-panel-hotel .fi-section-heading,
.fi-panel-hotel .fi-fo-section-header-heading,
.fi-panel-hotel .fi-in-section-header-heading {
    color: var(--ql-ink) !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}

.fi-panel-hotel .fi-section-description,
.fi-panel-hotel .fi-fo-section-header-description {
    color: var(--ql-muted) !important;
}

.fi-panel-hotel .fi-wi-stats-overview-stat::before {
    background: linear-gradient(90deg, var(--ql-brass), var(--ql-sage)) !important;
}

.fi-panel-hotel .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value {
    color: var(--ql-ink) !important;
    font-style: normal !important;
}

/* Tables */
.fi-panel-hotel .fi-ta-header,
.fi-panel-hotel .fi-ta-content,
.fi-panel-hotel .fi-ta-footer {
    background: transparent !important;
}

.fi-panel-hotel .fi-ta-header-cell {
    background: rgba(68, 71, 63, .035) !important;
    color: #77746a !important;
    letter-spacing: .1em !important;
}

.fi-panel-hotel .fi-ta-cell {
    border-color: rgba(74, 70, 60, .08) !important;
    color: var(--ql-ink-soft) !important;
}

.fi-panel-hotel .fi-ta-row:hover {
    background: rgba(167, 122, 61, .045) !important;
}

.fi-panel-hotel .fi-ta-selection-indicator {
    background: rgba(167, 122, 61, .08) !important;
}

/* Forms */
.fi-panel-hotel .fi-input-wrp,
.fi-panel-hotel .fi-select-input,
.fi-panel-hotel .choices__inner,
.fi-panel-hotel .fi-fo-markdown-editor,
.fi-panel-hotel .fi-fo-rich-editor {
    border-color: var(--ql-line) !important;
    border-radius: var(--ql-radius-sm) !important;
    background: rgba(255, 253, 248, .94) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .6), 0 1px 2px rgba(40, 45, 40, .035) !important;
}

.fi-panel-hotel .fi-input-wrp:focus-within,
.fi-panel-hotel .choices.is-focused .choices__inner {
    border-color: rgba(167, 122, 61, .64) !important;
    box-shadow: 0 0 0 4px rgba(167, 122, 61, .11) !important;
}

.fi-panel-hotel .fi-input,
.fi-panel-hotel .fi-select-input,
.fi-panel-hotel textarea,
.fi-panel-hotel select {
    color: var(--ql-ink) !important;
}

.fi-panel-hotel .fi-fo-field-wrp-label,
.fi-panel-hotel .fi-fo-field-wrp-label span,
.fi-panel-hotel .fi-fo-field-wrp-label label {
    color: var(--ql-ink-soft) !important;
}

/* Buttons, tabs, dropdowns */
.fi-panel-hotel .fi-btn {
    border-radius: 12px !important;
    font-weight: 800 !important;
}

.fi-panel-hotel .fi-btn.fi-color-primary,
.fi-panel-hotel .fi-ac-btn-action.fi-color-primary {
    background: linear-gradient(135deg, #7f592c, var(--ql-brass)) !important;
    box-shadow: 0 12px 26px rgba(167, 122, 61, .2) !important;
}

.fi-panel-hotel .fi-btn.fi-color-primary:hover,
.fi-panel-hotel .fi-ac-btn-action.fi-color-primary:hover {
    background: linear-gradient(135deg, #725027, #956b35) !important;
}

.fi-panel-hotel .fi-tabs {
    border-color: rgba(255, 253, 248, .88) !important;
    background: rgba(255, 253, 248, .68) !important;
}

.fi-panel-hotel .fi-tabs-item-active .fi-tabs-item-button,
.fi-panel-hotel .fi-tabs-item-button[aria-selected="true"] {
    color: #815c2e !important;
    box-shadow: 0 6px 16px rgba(74, 70, 60, .08) !important;
}

.fi-panel-hotel .fi-dropdown-panel,
.fi-panel-hotel .fi-modal-window,
.fi-panel-hotel .fi-fo-date-time-picker-panel {
    border: 1px solid rgba(255, 253, 248, .94) !important;
    border-radius: 18px !important;
    background: rgba(255, 253, 248, .97) !important;
    box-shadow: var(--ql-shadow-lg) !important;
    backdrop-filter: blur(22px) saturate(125%);
}

.fi-panel-hotel .oy-user-dropdown-header {
    background: linear-gradient(135deg, rgba(167, 122, 61, .07), rgba(95, 137, 125, .045)) !important;
}

.fi-panel-hotel .fi-dropdown-list-item:hover {
    background: rgba(167, 122, 61, .07) !important;
}

/* Dashboard bridge for body-scoped styles */
.fi-panel-hotel .hotel-dashboard {
    --dash-blue: var(--ql-brass) !important;
    --dash-cyan: var(--ql-sage) !important;
    --dash-ink: var(--ql-ink) !important;
    --dash-muted: var(--ql-muted) !important;
}

.fi-panel-hotel .dash-panel,
.fi-panel-hotel .dash-metric,
.fi-panel-hotel .dash-calendar-day {
    border-color: rgba(107, 94, 72, .13) !important;
    background: rgba(255, 253, 248, .88) !important;
    box-shadow: var(--ql-shadow-sm) !important;
}

.fi-panel-hotel .dash-panel-kicker {
    color: var(--ql-brass) !important;
}

/* Dark mode remains genuinely dark, with warm contrast. */
.dark .fi-panel-hotel {
    --ql-ink: #f2eee4;
    --ql-ink-soft: #d7d1c4;
    --ql-muted: #aaa498;
    --ql-paper: #1b2925;
    --ql-paper-soft: rgba(27, 41, 37, .9);
    --ql-line: rgba(226, 209, 179, .13);
    --ql-line-strong: rgba(226, 209, 179, .2);
    --ql-canvas: #101916;
    --ql-canvas-deep: #17231f;
    background: linear-gradient(135deg, #101916, #17231f) !important;
}

.dark .fi-panel-hotel .oy-topbar-nav,
.dark .fi-panel-hotel .fi-topbar nav,
.dark .fi-panel-hotel .fi-section,
.dark .fi-panel-hotel .fi-wi-stats-overview-stat,
.dark .fi-panel-hotel .fi-ta-ctn,
.dark .fi-panel-hotel .fi-fo-section,
.dark .fi-panel-hotel .fi-in-section,
.dark .fi-panel-hotel .dash-panel,
.dark .fi-panel-hotel .dash-metric,
.dark .fi-panel-hotel .dash-calendar-day {
    border-color: rgba(226, 209, 179, .09) !important;
    background: rgba(27, 41, 37, .9) !important;
}

.dark .fi-panel-hotel .fi-input-wrp,
.dark .fi-panel-hotel .fi-select-input,
.dark .fi-panel-hotel .choices__inner {
    background: rgba(16, 25, 22, .76) !important;
}

@media (max-width: 1023px) {
    .fi-panel-hotel .fi-sidebar.oy-sidebar {
        width: min(88vw, 21rem) !important;
    }

    .fi-panel-hotel .oy-topbar,
    .fi-panel-hotel .fi-topbar {
        top: 0 !important;
    }

    .fi-panel-hotel .oy-topbar-nav,
    .fi-panel-hotel .fi-topbar nav {
        border-radius: 14px !important;
    }
}

@media (max-width: 640px) {
    .fi-panel-hotel .fi-main {
        padding: .7rem .6rem 1.4rem !important;
    }

    .fi-panel-hotel .oy-page-header,
    .fi-panel-hotel .fi-header {
        border-radius: 18px !important;
    }

    .fi-panel-hotel .fi-section,
    .fi-panel-hotel .fi-wi-stats-overview-stat,
    .fi-panel-hotel .fi-ta-ctn,
    .fi-panel-hotel .fi-fo-section,
    .fi-panel-hotel .fi-in-section {
        border-radius: 15px !important;
        backdrop-filter: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fi-panel-hotel *,
    .fi-panel-hotel *::before,
    .fi-panel-hotel *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
