/**
 * Shared panel UI tokens — AdminLTE salon/admin + customer dashboard (clinic).
 */
:root {
    --panel-content-max-width: 1320px;
    --panel-section-gap: 1.5rem;
    --panel-card-radius: 0.5rem;
    --panel-navbar-height: 3.5rem;
    --panel-sidebar-width: 250px;
}

/* ---- AdminLTE layout: sidebar below navbar, full width ---- */
body.hold-transition.layout-fixed.layout-navbar-fixed .wrapper .main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
}

body.hold-transition.layout-fixed.layout-navbar-fixed .wrapper .main-sidebar {
    position: fixed;
    top: var(--panel-navbar-height);
    left: 0;
    bottom: 0;
    width: var(--panel-sidebar-width);
    height: calc(100vh - var(--panel-navbar-height));
    min-height: calc(100vh - var(--panel-navbar-height));
    z-index: 1020;
    overflow-y: auto;
    overflow-x: hidden;
}

body.hold-transition.layout-fixed.layout-navbar-fixed .wrapper .content-wrapper {
    margin-top: var(--panel-navbar-height);
}

@media (min-width: 992px) {
    body.hold-transition.layout-fixed.layout-navbar-fixed:not(.sidebar-collapse) .wrapper .content-wrapper,
    body.hold-transition.layout-fixed.layout-navbar-fixed:not(.sidebar-collapse) .wrapper .main-footer {
        margin-left: var(--panel-sidebar-width);
    }
}

@media (max-width: 991.98px) {
    body.hold-transition.layout-fixed.layout-navbar-fixed .wrapper .main-sidebar {
        margin-left: calc(var(--panel-sidebar-width) * -1);
        transition: margin-left 0.3s ease-in-out;
    }

    body.hold-transition.layout-fixed.layout-navbar-fixed.sidebar-open .wrapper .main-sidebar {
        margin-left: 0;
    }

    body.hold-transition.layout-fixed.layout-navbar-fixed .wrapper .content-wrapper,
    body.hold-transition.layout-fixed.layout-navbar-fixed .wrapper .main-footer {
        margin-left: 0 !important;
    }
}

/* Sidebar brand: logo only (fills brand area; text fallback when no logo uploaded) */
.panel-sidebar-brand {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    padding: 0.5rem 0.85rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    overflow: hidden;
    line-height: 1.2;
}

.panel-sidebar-brand__logo,
.panel-sidebar-brand .brand-image {
    float: none !important;
    margin: 0 !important;
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: 36px;
    height: auto;
    object-fit: contain;
    object-position: center;
    opacity: 1 !important;
    border-radius: 4px;
    box-shadow: none;
}

.panel-sidebar-brand .brand-text {
    display: block !important;
    margin: 0 !important;
    font-size: 0.95rem;
    line-height: 1.3;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

body.sidebar-collapse .panel-sidebar-brand {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

body.sidebar-collapse .panel-sidebar-brand__logo {
    max-height: 30px;
}

/* Nav items: icon + label aligned */
.main-sidebar .nav-sidebar > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.main-sidebar .nav-sidebar .nav-icon {
    flex-shrink: 0;
    width: 1.25rem;
    text-align: center;
}

.main-sidebar .nav-sidebar .nav-link p {
    margin: 0;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.main-sidebar .nav-sidebar .nav-header {
    padding: 0.5rem 1rem;
}

.main-sidebar .nav-sidebar .nav-link.disabled {
    opacity: 0.75;
    cursor: default;
}

/* Tables: horizontal scroll on narrow viewports */
.content-wrapper .table-responsive,
.starter-section .table-responsive {
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 991.98px) {
    .starter-section .row.g-4 > [class*="col-"] {
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    .btn-sm {
        min-height: 2.25rem;
    }
}
