/* Gestano visual refresh: light green and white product theme. */

.admin-light {
    --bg-dark: #f5fbf7;
    --bg-card: #ffffff;
    --bg-sidebar: #ffffff;
    --primary: #26b878;
    --primary-hover: #169c60;
    --accent: #20a96e;
    --text-main: #173629;
    --text-muted: #6b7f73;
    --border: #dcebe1;
    --border-bright: #b9d8c4;
    --danger: #d94d5b;
    --success: #1ca568;
    --shadow: 0 18px 44px rgba(27, 98, 60, 0.09);
    background-color: var(--bg-dark) !important;
    background-image:
        radial-gradient(circle at 92% 8%, rgba(38, 184, 120, 0.12), transparent 30%),
        radial-gradient(rgba(38, 184, 120, 0.08) 1px, transparent 1px) !important;
    background-size: 100% 100%, 28px 28px !important;
    color: var(--text-main);
}

.admin-light .auth-visual-side {
    background:
        radial-gradient(circle at 80% 20%, rgba(38, 184, 120, 0.18), transparent 36%),
        linear-gradient(135deg, #ffffff 0%, #ecfaf2 100%) !important;
    border-right-color: var(--border) !important;
}

.admin-light .auth-visual-overlay {
    background-image: radial-gradient(rgba(38, 184, 120, 0.1) 1px, transparent 1px) !important;
}

.admin-light .auth-form-side {
    background: #f8fcfa !important;
}

.admin-light .auth-card-new {
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: 0 24px 60px rgba(27, 98, 60, 0.1) !important;
}

.admin-light .auth-hero-text,
.admin-light .auth-title,
.admin-light .modal-title,
.admin-light .dashboard-title,
.admin-light .list-header h2,
.admin-light .queue-header h2,
.admin-light .prof-card-info h3,
.admin-light .inventory-card-title,
.admin-light .client-info h4 {
    color: var(--text-main) !important;
}

.admin-light .auth-eyebrow,
.admin-light #current-date {
    color: var(--primary) !important;
}

.admin-light .auth-subtext,
.admin-light .auth-description {
    color: var(--text-muted) !important;
}

.admin-light .badge {
    color: #148754 !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.admin-light .sidebar {
    background: rgba(255, 255, 255, 0.96) !important;
    border-right-color: var(--border) !important;
    box-shadow: 12px 0 36px rgba(27, 98, 60, 0.08) !important;
}

.admin-light .sidebar-header {
    border-bottom-color: var(--border) !important;
}

.admin-light .logo-text {
    color: var(--text-main) !important;
}

.admin-light .nav-item {
    color: #698076 !important;
}

.admin-light .nav-item:hover {
    color: var(--text-main) !important;
    background: #f0fbf5 !important;
    border-color: var(--border) !important;
}

.admin-light .nav-item.active {
    color: #13794c !important;
    background: #e5f8ed !important;
    border-color: #a9d8b9 !important;
    box-shadow: 0 8px 20px rgba(38, 184, 120, 0.14) !important;
}

.admin-light .nav-item.active svg {
    color: var(--primary) !important;
}

.admin-light .dashboard-header {
    border-bottom-color: var(--border) !important;
}

.admin-light .glass,
.admin-light .stat-card,
.admin-light .professional-card,
.admin-light .inventory-card,
.admin-light .billing-chart-container,
.admin-light .admin-user-form,
.admin-light .dashboard-insight-card,
.admin-light .waitlist-panel,
.admin-light .cash-register-panel,
.admin-light .report-card,
.admin-light .loyalty-panel {
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: var(--shadow) !important;
}

.admin-light .glass:hover,
.admin-light .stat-card:hover,
.admin-light .professional-card:hover,
.admin-light .inventory-card:hover {
    border-color: var(--border-bright) !important;
    box-shadow: 0 20px 45px rgba(27, 98, 60, 0.13) !important;
}

.admin-light .stat-card::before {
    background: var(--primary) !important;
}

.admin-light .stat-label,
.admin-light .dashboard-stat-caption,
.admin-light .dashboard-date-line {
    color: var(--text-muted) !important;
}

.admin-light .stat-value,
.admin-light #billing-goal,
.admin-light #modal-sale-total,
.admin-light .inventory-card-price,
.admin-light .dashboard-mini-metrics strong {
    color: var(--text-main) !important;
}

.admin-light #stat-revenue,
.admin-light #billing-total-month,
.admin-light #prof-details-prof-share,
.admin-light .dashboard-professional-row strong {
    color: var(--success) !important;
}

.admin-light #stat-expense {
    color: var(--danger) !important;
}

.admin-light .appointment-item,
.admin-light .waitlist-item,
.admin-light .booking-block-item {
    background: #ffffff !important;
    border-color: var(--border) !important;
}

.admin-light .appointment-item:hover,
.admin-light .waitlist-item:hover,
.admin-light .booking-block-item:hover {
    background: #f4fcf7 !important;
    border-color: var(--border-bright) !important;
}

.admin-light .input-group-new input,
.admin-light .input-group-new select,
.admin-light textarea,
.admin-light .glass-select,
.admin-light #agenda-professional-filter,
.admin-light .waitlist-form input,
.admin-light .waitlist-form select {
    background: #ffffff !important;
    border-color: var(--border) !important;
    color: var(--text-main) !important;
    color-scheme: light !important;
}

.admin-light .input-group-new input::placeholder,
.admin-light .waitlist-form input::placeholder {
    color: #91a49a !important;
}

.admin-light .input-group-new input:focus,
.admin-light .input-group-new select:focus,
.admin-light textarea:focus,
.admin-light .glass-select:focus,
.admin-light #agenda-professional-filter:focus,
.admin-light .waitlist-form input:focus,
.admin-light .waitlist-form select:focus {
    background: #ffffff !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(38, 184, 120, 0.13) !important;
}

.admin-light .btn-primary,
.admin-light .waitlist-form .btn-primary {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
    box-shadow: 0 9px 20px rgba(38, 184, 120, 0.18) !important;
}

.admin-light .btn-primary:hover,
.admin-light .waitlist-form .btn-primary:hover {
    background: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(38, 184, 120, 0.24) !important;
}

.admin-light .btn-ghost,
.admin-light .waitlist-panel > .section-toolbar > .btn-ghost {
    background: #ffffff !important;
    color: var(--text-main) !important;
    border-color: var(--border-bright) !important;
}

.admin-light .btn-ghost:hover,
.admin-light .waitlist-panel > .section-toolbar > .btn-ghost:hover {
    background: #effaf4 !important;
    border-color: var(--primary) !important;
    color: #13794c !important;
}

.admin-light .btn-confirm-appointment {
    background: #1eaa67 !important;
    border-color: #1eaa67 !important;
}

.admin-light .btn-confirm-appointment:hover {
    background: #168d55 !important;
    border-color: #168d55 !important;
}

.admin-light .data-table {
    background: #ffffff !important;
    border-color: var(--border) !important;
}

.admin-light .data-table th {
    color: #527063 !important;
    background: #f1faf4 !important;
    border-bottom-color: var(--border) !important;
}

.admin-light .data-table td,
.admin-light .services-table .service-row td {
    color: var(--text-main) !important;
    border-bottom-color: var(--border) !important;
}

.admin-light .data-table tr:hover td,
.admin-light .services-table .service-row:hover td {
    background: #f4fcf7 !important;
}

.admin-light .service-chip,
.admin-light .professional-badge,
.admin-light .svc-tag,
.admin-light .role-pill,
.admin-light .prof-commission-strip span,
.admin-light .payment-method-pill,
.admin-light .inventory-movement-badge,
.admin-light .loyalty-points-pill,
.admin-light .audit-action-chip {
    color: #4e7060 !important;
    background: #f0faf4 !important;
    border-color: var(--border) !important;
}

.admin-light .service-price,
.admin-light .month-btn.active {
    color: #ffffff !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

.admin-light .empty-state,
.admin-light .dashboard-mini-metrics div {
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light .empty-state-icon,
.admin-light .service-initial,
.admin-light .prof-card-avatar,
.admin-light .dashboard-insight-icon {
    color: #168653 !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.admin-light .modal-overlay,
.admin-light .modal-side-panel {
    background: rgba(19, 67, 43, 0.24) !important;
}

.admin-light .modal-content,
.admin-light .modal-side-panel .modal-content,
.admin-light .billing-day-details-content {
    background: #ffffff !important;
    color: var(--text-main) !important;
    border-color: var(--border) !important;
    box-shadow: 0 30px 80px rgba(27, 98, 60, 0.18) !important;
}

.admin-light .btn-icon-close,
.admin-light .qty-btn,
.admin-light .card-action-btn {
    background: #f6fbf8 !important;
    border-color: var(--border) !important;
    color: var(--text-muted) !important;
}

.admin-light .btn-icon-close:hover,
.admin-light .qty-btn:hover,
.admin-light .card-action-btn:hover {
    background: #e7f8ee !important;
    border-color: var(--primary) !important;
    color: #168653 !important;
}

.admin-light .fc {
    --fc-border-color: var(--border);
    --fc-page-bg-color: #ffffff;
    --fc-neutral-bg-color: #f4fbf7;
    color: var(--text-main);
}

.admin-light .fc .fc-button-primary,
.admin-light .fc .fc-button-primary:hover,
.admin-light .fc .fc-button-active {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
}

.admin-light .fc-day-today {
    background: #eaf8ef !important;
}

.admin-light .fc-daygrid-day-number {
    color: #527063 !important;
}

.admin-light .fc-day-today .fc-daygrid-day-number,
.admin-light .fc-day-kpi {
    color: #ffffff !important;
    background: var(--primary) !important;
}

.admin-light ::-webkit-scrollbar-track,
.booking-body ::-webkit-scrollbar-track {
    background: #edf8f1 !important;
}

.admin-light ::-webkit-scrollbar-thumb,
.booking-body ::-webkit-scrollbar-thumb {
    background: #a8d2b7 !important;
}

.admin-light .appointment-actions-menu {
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: 0 18px 38px rgba(27, 98, 60, 0.16) !important;
}

.admin-light .appointment-action-menu-item:hover,
.admin-light .appointment-action-menu-item:focus-visible {
    background: #effaf4 !important;
}

.admin-light .waitlist-form input:focus,
.admin-light .waitlist-form select:focus {
    border-color: var(--primary) !important;
}

.admin-light .cash-register-status,
.admin-light .cash-register-status.is-closed {
    background: #e6f8ed !important;
    color: #168653 !important;
}

/* Sidebar controls must stay inside the Gestano green-and-white palette. */
.admin-light .sidebar-nav-scroll nav .nav-group-title {
    color: #527063 !important;
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
    box-shadow: 0 4px 12px rgba(27, 98, 60, 0.04) !important;
}

.admin-light .sidebar-nav-scroll nav .nav-group-title:hover,
.admin-light .sidebar-nav-scroll nav .nav-group-title:focus-visible {
    color: #13794c !important;
    background: #effaf4 !important;
    border-color: var(--border-bright) !important;
}

.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] {
    color: #13794c !important;
    background: #eaf8ef !important;
    border-color: #a9d8b9 !important;
}

.admin-light .sidebar-nav-scroll nav .nav-group-chevron,
.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="false"] .nav-group-chevron {
    color: #6c9b82 !important;
}

.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] .nav-group-chevron {
    color: var(--primary) !important;
}

.admin-light .queue-search {
    width: min(100%, 360px);
    min-height: 50px;
    gap: 11px;
    padding: 0 16px;
    color: var(--text-muted) !important;
    background: linear-gradient(145deg, #ffffff, #f8fcfa) !important;
    border: 1px solid #dcece2 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(27, 98, 60, 0.07) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.admin-light .queue-search:hover {
    border-color: #b8ddc7 !important;
    box-shadow: 0 12px 26px rgba(27, 98, 60, 0.1) !important;
}

.admin-light .queue-search:focus-within {
    background: #ffffff !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(38, 184, 120, 0.13), 0 12px 28px rgba(27, 98, 60, 0.1) !important;
    transform: translateY(-1px);
}

.admin-light .queue-search svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: #719684;
    stroke-width: 2.2;
}

.admin-light .queue-search input,
.admin-light .queue-search input:hover,
.admin-light .queue-search input:focus {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0 !important;
    color: var(--text-main) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-size: 0.9rem;
    line-height: 1.2;
}

.admin-light .queue-search input::placeholder {
    color: #91a49a !important;
}

@media (max-width: 760px) {
    .admin-light .queue-search {
        width: 100%;
    }
}

/* Digital assistant welcome effect on each dashboard entry/reload. */
.admin-light .dashboard-title {
    min-height: 1.15em;
}

.admin-light .dashboard-title.is-typing::after {
    content: "▋";
    display: inline-block;
    margin-left: 0.12em;
    color: var(--primary);
    font-size: 0.72em;
    font-weight: 700;
    vertical-align: 0.08em;
    animation: gest-welcome-cursor 820ms steps(1, end) infinite;
}

@keyframes gest-welcome-cursor {
    0%, 48% { opacity: 1; }
    49%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-light .dashboard-title.is-typing::after {
        animation: none;
    }
}

/* Agenda surfaces: remove the remaining dark gray blocks from every view. */
.admin-light .agenda-summary-card,
.admin-light .agenda-calendar,
.admin-light .agenda-calendar .fc-scrollgrid,
.admin-light .agenda-calendar .fc-scrollgrid-section > *,
.admin-light .agenda-calendar .fc-daygrid-day,
.admin-light .agenda-calendar .fc-timegrid-col,
.admin-light .agenda-calendar .fc-timegrid-slots table,
.admin-light .agenda-calendar .fc-timegrid-cols table {
    background: #ffffff !important;
}

.admin-light .agenda-summary-card {
    border-color: var(--border) !important;
    box-shadow: 0 10px 24px rgba(27, 98, 60, 0.06) !important;
}

.admin-light .agenda-summary-card span,
.admin-light .agenda-summary-card small,
.admin-light .agenda-calendar .fc-timegrid-axis-cushion,
.admin-light .agenda-calendar .fc-timegrid-slot-label-cushion,
.admin-light .agenda-calendar .fc-col-header-cell-cushion,
.admin-light .agenda-calendar .fc-daygrid-day-number {
    color: #527063 !important;
}

.admin-light .agenda-calendar {
    border-color: var(--border) !important;
    box-shadow: var(--shadow) !important;
}

.admin-light .agenda-calendar .fc-scrollgrid,
.admin-light .agenda-calendar .fc-scrollgrid td,
.admin-light .agenda-calendar .fc-scrollgrid th {
    border-color: var(--border) !important;
}

.admin-light .agenda-calendar .fc-timegrid-axis,
.admin-light .agenda-calendar .fc-timegrid-slot-label {
    background: #f1faf4 !important;
    border-color: var(--border) !important;
}

.admin-light .agenda-calendar .fc-timegrid-slot,
.admin-light .agenda-calendar .fc-timegrid-divider {
    border-color: var(--border) !important;
}

.admin-light .agenda-calendar .fc-col-header-cell,
.admin-light .agenda-calendar .fc-daygrid-day-frame,
.admin-light .agenda-calendar .fc-timegrid-col-bg {
    background: #ffffff !important;
}

.admin-light .agenda-calendar .fc-day-today,
.admin-light .agenda-calendar .fc-timegrid-col.fc-day-today {
    background: #eaf8ef !important;
}

.admin-light .agenda-calendar .fc-event.event-pending {
    background: #f0faf4 !important;
    border-color: #8fcfb0 !important;
    border-left-color: var(--primary) !important;
    color: #24543e !important;
    box-shadow: 0 5px 14px rgba(27, 98, 60, 0.08) !important;
}

.admin-light .agenda-calendar .fc-event.event-pending .fc-event-title,
.admin-light .agenda-calendar .fc-event.event-pending .fc-event-time {
    color: #24543e !important;
}

.admin-light .agenda-calendar .fc-event.event-completed {
    color: #13794c !important;
}

.admin-light .agenda-calendar .fc-event.event-canceled,
.admin-light .agenda-calendar .fc-event.event-no_show {
    background: rgba(217, 77, 91, 0.14) !important;
    border-color: var(--danger) !important;
    color: #b83c48 !important;
}

.admin-light .agenda-calendar .fc-event.event-canceled .fc-event-title,
.admin-light .agenda-calendar .fc-event.event-canceled .fc-event-time,
.admin-light .agenda-calendar .fc-event.event-no_show .fc-event-title,
.admin-light .agenda-calendar .fc-event.event-no_show .fc-event-time {
    color: #b83c48 !important;
}

/* Use the Gestano wordmark for visible branding; reserve the square icon for app chrome. */
.admin-light .sidebar .logo-wordmark-expanded {
    display: block;
    width: 200px;
    height: 104px;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
}

.admin-light .sidebar .logo {
    width: 100%;
    justify-content: center;
}

.admin-light .sidebar .logo-icon-collapsed {
    display: none;
    width: 56px;
    height: 56px;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
}

.admin-light .sidebar.collapsed .logo-wordmark-expanded {
    display: none;
}

.admin-light .sidebar.collapsed .logo-icon-collapsed {
    display: block;
}

/* Keep category shortcuts available when the sidebar is collapsed. */
@media (min-width: 1025px) {
    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title {
        display: flex;
        justify-content: center;
        width: 100%;
        min-height: 46px;
        margin: 0;
        padding: 10px;
        border-color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 12px;
    }

    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-label {
        width: 100%;
        min-width: 0;
        justify-content: center;
        gap: 0;
    }

    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-label .nav-text,
    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-chevron {
        display: none;
    }

    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-icon {
        display: block;
        margin: 0 auto;
        width: 20px;
        height: 20px;
        color: #6b8578;
        stroke-width: 1.9;
    }

    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:hover,
    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:focus-visible,
    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] {
        border-color: #b9e4c9 !important;
        background: #eaf8ef !important;
        box-shadow: 0 6px 14px rgba(27, 145, 84, 0.08) !important;
    }

    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] .nav-group-icon,
    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:hover .nav-group-icon,
    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:focus-visible .nav-group-icon {
        color: var(--primary);
    }
}

.admin-light .logo-wordmark-auth {
    width: 280px;
    height: 160px;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
}

.admin-light .logo-wordmark-loader {
    width: 170px;
    height: 170px;
    object-fit: contain;
    border-radius: 18px;
}

.landing-body .landing-wordmark {
    width: 184px;
    height: 106px;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    transform: none;
}

@media (max-width: 640px) {
    .landing-body .landing-wordmark {
        width: 156px;
        height: 82px;
    }
}

.booking-body .booking-wordmark {
    width: 174px;
    height: 100px;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
}

.booking-body .booking-mobile-wordmark {
    width: 136px;
    height: 80px;
    object-fit: cover;
    object-position: center;
    border-radius: 9px;
}

.booking-body .success-icon-mark {
    width: 64px;
    height: 64px;
    object-fit: contain;
    object-position: center;
    border-radius: 10px;
}

/* Public booking surface */
.booking-body,
.booking-body.booking-theme-classic,
.booking-body.booking-theme-gold,
.booking-body.booking-theme-minimal,
.booking-body.booking-theme-red,
.booking-body.booking-theme-graphite,
.booking-body.booking-theme-ocean {
    --primary: #26b878;
    --primary-hover: #169c60;
    --accent: #20a96e;
    --bg-dark: #f5fbf7;
    --bg-card: #ffffff;
    --bg-sidebar: #edf9f1;
    --text-main: #173629;
    --text-muted: #6b7f73;
    --border: #dcebe1;
    --border-bright: #b9d8c4;
    background: #f5fbf7 !important;
    background-image: none !important;
    color: var(--text-main);
}

.booking-body .booking-sidebar {
    background:
        radial-gradient(circle at 72% 20%, rgba(38, 184, 120, 0.17), transparent 34%),
        linear-gradient(145deg, #ffffff 0%, #eaf8ef 100%) !important;
    border-right-color: var(--border) !important;
}

.booking-body .booking-sidebar::after {
    background-image: radial-gradient(rgba(38, 184, 120, 0.1) 1px, transparent 1px) !important;
}

.booking-body .sidebar-desc,
.booking-body .booking-sidebar-steps span {
    color: var(--text-muted) !important;
}

.booking-body .booking-sidebar-steps span {
    background: rgba(255, 255, 255, 0.78) !important;
    border-color: var(--border) !important;
}

.booking-body .booking-sidebar-steps b,
.booking-body .step-count,
.booking-body .confirmation-service strong {
    color: var(--primary) !important;
}

.booking-body .booking-summary-box #active-booking-summary,
.booking-body .custom-time-picker,
.booking-body .success-card,
.booking-body .service-card,
.booking-body .time-card {
    background: #ffffff !important;
    border-color: var(--border) !important;
    color: var(--text-main) !important;
    box-shadow: 0 14px 34px rgba(27, 98, 60, 0.07) !important;
}

.booking-body .booking-main {
    background: #ffffff !important;
}

.booking-body .step-count {
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.booking-body .service-card:hover,
.booking-body .time-card:hover {
    background: #f1fbf5 !important;
    border-color: var(--primary) !important;
}

.booking-body .service-card.selected,
.booking-body .time-card.selected,
.booking-body .time-card-other.selected {
    color: #ffffff !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    box-shadow: 0 10px 22px rgba(38, 184, 120, 0.18) !important;
}

.booking-body .service-card .price {
    color: var(--primary) !important;
}

.booking-body .btn-primary {
    background: var(--primary) !important;
    color: #ffffff !important;
}

.booking-body .btn-primary:hover {
    background: var(--primary-hover) !important;
    box-shadow: 0 12px 28px rgba(38, 184, 120, 0.2) !important;
}

.booking-body .btn-ghost {
    color: var(--text-main) !important;
    border-color: var(--border-bright) !important;
    background: #ffffff !important;
}

.booking-body .time-card.booked {
    color: #9aaa9f !important;
    background: #f1f5f3 !important;
}

.booking-body .custom-time-picker input,
.booking-body .input-group-modern input,
.booking-body #booking-date {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
    color-scheme: light !important;
}

.booking-body .custom-time-picker input:focus,
.booking-body .input-group-modern input:focus,
.booking-body #booking-date:focus {
    border-color: var(--primary) !important;
}

/* Landing page: align the public marketing surface with Gestano. */
.landing-body {
    --landing-surface: #f5fbf7;
    --landing-card: #ffffff;
    --landing-ink: #173629;
    --landing-muted: #6b7f73;
    --landing-line: #dcebe1;
    --landing-teal: #26b878;
    --landing-teal-dark: #158b57;
    background: var(--landing-surface) !important;
    color: var(--landing-ink);
}

.landing-body .consultation-content .btn-premium {
    background: var(--landing-teal) !important;
    color: #ffffff !important;
}

.landing-body .consultation-content .btn-premium:hover {
    background: var(--landing-teal-dark) !important;
}

/* Expense form: give the desktop modal room to breathe instead of forcing
   the user through a narrow internal scrollbar. */
.admin-light #modal-expense {
    padding: clamp(16px, 3vw, 32px) !important;
    overflow: visible;
}

.admin-light #modal-expense .expense-modal-content {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 28px 36px 24px !important;
    border-radius: 24px !important;
}

.admin-light #modal-expense .expense-modal-header {
    margin-bottom: 20px;
}

.admin-light #modal-expense .expense-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 16px;
}

.admin-light #modal-expense .expense-form-wide {
    grid-column: 1 / -1;
}

.admin-light #modal-expense .expense-form-wide textarea {
    box-sizing: border-box;
    padding: 14px 16px !important;
}

.admin-light #modal-expense .inventory-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 16px 0 0;
    min-width: 0;
}

.admin-light #modal-expense .inventory-form-row .input-group-new {
    min-width: 0;
    margin-bottom: 0;
}

.admin-light #modal-expense .expense-modal-footer {
    margin-top: 20px;
    padding-top: 16px;
}

@media (max-width: 900px) {
    .admin-light #modal-expense .expense-modal-content {
        width: min(100%, 760px) !important;
        max-width: 760px !important;
        padding: 26px 28px 22px !important;
    }

    .admin-light #modal-expense .expense-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .admin-light #modal-expense {
        align-items: flex-end;
        padding: 10px !important;
    }

    .admin-light #modal-expense .expense-modal-content {
        width: 100% !important;
        max-width: none !important;
        max-height: calc(100dvh - 20px) !important;
        overflow-y: auto !important;
        scrollbar-width: none;
        padding: 24px 20px 20px !important;
        border-radius: 20px !important;
    }

    .admin-light #modal-expense .expense-modal-content::-webkit-scrollbar {
        display: none;
    }

    .admin-light #modal-expense .expense-form-grid,
    .admin-light #modal-expense .inventory-form-row {
        grid-template-columns: 1fr;
    }

    .admin-light #modal-expense .expense-modal-footer {
        flex-direction: column-reverse;
    }

    .admin-light #modal-expense .expense-modal-footer .btn {
        width: 100%;
    }
}

/* Keep the queue search as one clean control; global form rules must not
   recreate a second rectangular field inside it. */
.admin-light .queue-search input[type="search"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
.admin-light .queue-search input[type="search"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):hover,
.admin-light .queue-search input[type="search"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):focus {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* Gestano motion system: intentional, lightweight movement across the product. */
.landing-body .hero-content {
    animation: gestano-hero-rise 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .hero-visual {
    animation: gestano-hero-rise 0.95s 0.12s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .hero-dashboard {
    animation: gestano-dashboard-float 7s 1.1s ease-in-out infinite;
    transform-origin: center bottom;
}

.landing-body .hero-toast {
    animation: gestano-toast-float 5.5s 1.4s ease-in-out infinite;
}

.landing-body .reveal-on-scroll {
    opacity: 0;
    transform: translateY(28px) scale(0.985);
    transition:
        opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

.landing-body .reveal-on-scroll.is-visible {
    opacity: 1;
    transform: none;
}

.landing-body .segments-grid span,
.landing-body .numbers-grid div,
.landing-body .feature-item,
.landing-body .ai-grid div,
.landing-body .faq-item,
.landing-body .btn-premium,
.landing-body .btn-outline-premium,
.landing-body .nav-cta {
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        background-color 0.24s ease,
        color 0.24s ease;
}

@media (hover: hover) {
    .landing-body .segments-grid span:hover {
        border-color: rgba(15, 168, 143, 0.38);
        color: var(--landing-teal-dark);
        box-shadow: 0 10px 22px rgba(15, 168, 143, 0.1);
        transform: translateY(-4px);
    }

    .landing-body .numbers-grid div:hover,
    .landing-body .feature-item:hover,
    .landing-body .ai-grid div:hover {
        border-color: rgba(15, 168, 143, 0.3);
        box-shadow: 0 18px 34px rgba(32, 36, 45, 0.09);
        transform: translateY(-6px);
    }

    .landing-body .faq-item:hover {
        border-bottom-color: rgba(15, 168, 143, 0.42);
        transform: translateX(5px);
    }

    .landing-body .btn-premium:hover,
    .landing-body .btn-outline-premium:hover,
    .landing-body .nav-cta:hover {
        transform: translateY(-2px);
    }
}

@keyframes gestano-hero-rise {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes gestano-dashboard-float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes gestano-toast-float {
    0%,
    100% {
        transform: translateY(0) rotate(-1deg);
    }

    50% {
        transform: translateY(-7px) rotate(0deg);
    }
}

/* Shared responsive foundations for the panel. */
.admin-light {
    overflow-x: hidden;
}

.admin-light .dashboard-content {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.admin-light .dashboard-header,
.admin-light .dashboard-header > div,
.admin-light .list-header > div {
    min-width: 0;
}

.admin-light .stat-card,
.admin-light .dashboard-insight-card,
.admin-light .report-card,
.admin-light .settings-card,
.admin-light .billing-chart-container,
.admin-light .glass {
    transition:
        transform 0.24s ease,
        box-shadow 0.24s ease,
        border-color 0.24s ease;
}

@media (hover: hover) {
    .admin-light .stat-card:hover,
    .admin-light .dashboard-insight-card:hover,
    .admin-light .report-card:hover,
    .admin-light .settings-card:hover,
    .admin-light .billing-chart-container:hover {
        border-color: rgba(38, 184, 120, 0.36);
        box-shadow: 0 18px 34px rgba(24, 88, 58, 0.1);
        transform: translateY(-3px);
    }

    .admin-light .nav-item:hover {
        transform: translateX(3px);
    }
}

.admin-light .nav-item,
.admin-light .mobile-menu-button,
.admin-light .sidebar-scrim {
    transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.admin-light .dashboard-content > .dashboard-header,
.admin-light .dashboard-content > [id^="tab-"]:not(.hidden) > * {
    animation: gestano-panel-enter 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes gestano-panel-enter {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 1024px) {
    .landing-body .landing-container {
        padding-inline: 24px;
    }

    .landing-body .hero-section {
        padding: 136px 0 82px;
    }

    .landing-body .hero-title {
        font-size: clamp(2.7rem, 8vw, 4.4rem);
    }

    .landing-body .hero-visual {
        margin-top: 54px;
    }

    .landing-body .hero-dashboard {
        min-height: 410px;
        padding: 22px;
    }

    .admin-light .dashboard-content {
        padding-inline: 18px;
    }

    .admin-light .mobile-menu-button {
        background: #ffffff;
        border-color: var(--border);
        border-radius: 12px;
        box-shadow: 0 10px 24px rgba(24, 88, 58, 0.14);
    }

    .admin-light .mobile-menu-button span {
        background: var(--text-main);
    }

    .admin-light .sidebar-scrim {
        background: rgba(23, 54, 41, 0.3);
        backdrop-filter: blur(5px);
    }
}

@media (max-width: 680px) {
    .landing-body .landing-header {
        padding: 10px 0;
    }

    .landing-body .hero-section {
        padding: 132px 0 68px;
    }

    .landing-body .hero-title {
        font-size: clamp(2.2rem, 10vw, 3.15rem);
        line-height: 1.08;
    }

    .landing-body .hero-description {
        font-size: 0.98rem;
        line-height: 1.58;
    }

    .landing-body .hero-actions {
        gap: 10px;
    }

    .landing-body .hero-actions .btn-premium,
    .landing-body .hero-actions .btn-outline-premium {
        width: 100%;
        min-height: 50px;
    }

    .landing-body .hero-note {
        align-items: center;
        gap: 6px;
    }

    .landing-body .hero-visual {
        margin-top: 36px;
    }

    .landing-body .hero-dashboard {
        min-height: 350px;
        padding: 16px;
        border-radius: 20px;
    }

    .landing-body .hero-toast {
        left: 12px;
        right: 12px;
        top: -22px;
        width: auto;
        min-width: 0;
        padding: 12px 14px 12px 36px;
    }

    .landing-body .hero-toast span {
        left: 13px;
        top: 27px;
    }

    .landing-body .dashboard-metrics {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .landing-body .dashboard-list div {
        padding: 10px 12px;
    }

    .landing-body .segments-section,
    .landing-body .numbers-section,
    .landing-body .features-section,
    .landing-body .ai-section,
    .landing-body .consultation-section,
    .landing-body .faq-section {
        padding-block: 68px;
    }

    .admin-light .dashboard-content {
        padding: 76px 14px 28px;
    }

    .admin-light .dashboard-header {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 18px;
        padding-bottom: 16px;
    }

    .admin-light .dashboard-title {
        font-size: clamp(1.25rem, 5vw, 1.5rem);
    }

    .admin-light .stat-grid,
    .admin-light .billing-grid,
    .admin-light .reports-summary-grid,
    .admin-light .cash-summary-grid,
    .admin-light .loyalty-summary-grid,
    .admin-light .marketing-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-light .stat-grid,
    .admin-light .billing-grid {
        gap: 10px;
    }

    .admin-light .stat-card,
    .admin-light .billing-card {
        min-width: 0;
        padding: 14px;
    }

    .admin-light .stat-label {
        font-size: 0.58rem;
        letter-spacing: 0.08em;
    }

    .admin-light .stat-value,
    .admin-light .billing-card .stat-value {
        font-size: 1.25rem !important;
        letter-spacing: -0.06em;
    }

    .admin-light .dashboard-analytics-grid {
        grid-template-columns: 1fr;
    }

    .admin-light .dashboard-mini-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-light .page-header-actions,
    .admin-light .admin-subpanel-actions {
        width: 100%;
    }

    .admin-light .page-header-actions > *,
    .admin-light .admin-subpanel-actions > * {
        min-width: 0;
        flex: 1 1 150px;
    }

    .admin-light .data-table-container,
    .admin-light .services-table-shell,
    .admin-light .marketing-leads-table-shell,
    .admin-light .billing-chart-container {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .admin-light .data-table,
    .admin-light .services-table,
    .admin-light .marketing-leads-table {
        min-width: 600px;
    }

    .admin-light .modal-content {
        width: calc(100vw - 20px);
        max-height: calc(100dvh - 20px);
        overflow-y: auto;
    }
}

/* Full Gestano wordmark on dark surfaces; keep the G mark for compact chrome. */
html body.admin-light .sidebar:not(.collapsed) .logo-wordmark-expanded {
    width: 190px;
    height: 72px;
    object-fit: contain;
    filter: none !important;
}

html body.admin-light .auth-visual-side .logo-wordmark-auth {
    width: 320px;
    height: 120px;
    object-fit: contain;
    filter: none !important;
    border-radius: 14px;
}

@media (max-width: 430px) {
    .admin-light .stat-grid,
    .admin-light .billing-grid,
    .admin-light .reports-summary-grid,
    .admin-light .cash-summary-grid,
    .admin-light .loyalty-summary-grid,
    .admin-light .marketing-summary-grid {
        grid-template-columns: 1fr;
    }

    .admin-light .dashboard-mini-metrics {
        grid-template-columns: 1fr 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-body *,
    .admin-light * {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }

    .landing-body .hero-dashboard,
    .landing-body .hero-toast,
    .landing-body .reveal-on-scroll,
    .admin-light .dashboard-content > .dashboard-header,
    .admin-light .dashboard-content > [id^="tab-"]:not(.hidden) > * {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Full-system design audit: remove the last legacy gold/graphite accents
   from secondary panels, tables, menus and public booking states. */
.admin-light .admin-security-badge {
    color: #13794c !important;
    background: #eaf8ef !important;
    border-color: #b9dfc6 !important;
}

.admin-light .admin-security-dot {
    background: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(38, 184, 120, 0.14) !important;
}

.admin-light .admin-module-card:hover,
.admin-light .admin-module-card:focus-visible {
    border-color: #a9d8b9 !important;
    box-shadow: 0 18px 36px rgba(27, 98, 60, 0.12) !important;
}

.admin-light .admin-module-card-coming-soon .admin-module-icon {
    color: #13794c !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.admin-light .admin-module-icon {
    color: #ffffff !important;
}

.admin-light .settings-card-icon {
    color: #13794c !important;
    background: #f0faf4 !important;
    border-color: #b9dfc6 !important;
}

.admin-light .appointment-actions-trigger {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border-bright) !important;
}

.admin-light .appointment-actions-trigger:hover,
.admin-light .appointment-actions-trigger[aria-expanded="true"] {
    color: #13794c !important;
    background: #eaf8ef !important;
    border-color: var(--primary) !important;
}

.admin-light .appointment-actions-chevron,
.admin-light .appointment-actions-trigger:hover .appointment-actions-chevron,
.admin-light .appointment-actions-trigger[aria-expanded="true"] .appointment-actions-chevron {
    color: var(--primary) !important;
}

.admin-light .appointment-actions-menu {
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: 0 18px 38px rgba(27, 98, 60, 0.16) !important;
}

.admin-light .appointment-action-menu-icon.is-warning {
    color: #13794c !important;
    background: #e6f8ed !important;
}

.admin-light .appointment-action-menu-icon.is-primary {
    color: #ffffff !important;
    background: var(--primary) !important;
}

.admin-light .inventory-empty-state {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: var(--shadow) !important;
}

.admin-light .inventory-empty-state strong {
    color: var(--text-main) !important;
}

.admin-light .inventory-empty-state span {
    color: var(--text-muted) !important;
}

.admin-light .agenda-calendar .fc-timegrid-axis,
.admin-light .agenda-calendar .fc-timegrid-slot-label {
    color: #527063 !important;
    background: #f1faf4 !important;
    border-color: var(--border) !important;
}

.admin-light .agenda-calendar .fc-timegrid-axis-cushion,
.admin-light .agenda-calendar .fc-timegrid-slot-label-cushion {
    color: #527063 !important;
}

.admin-light .agenda-calendar .fc-timegrid-col.fc-day-today {
    background: #eaf8ef !important;
}

.admin-light .agenda-calendar .fc-header-toolbar .fc-today-button {
    color: #13794c !important;
    background: #ffffff !important;
    border-color: var(--border-bright) !important;
}

.admin-light .agenda-calendar .fc-header-toolbar .fc-today-button:hover,
.admin-light .agenda-calendar .fc-header-toolbar .fc-today-button.fc-button-active {
    color: #ffffff !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

.admin-light .commission-professional-avatar,
.admin-light .commission-professional-avatar.has-photo,
.admin-light #modal-prof-comm-details .professional-detail-avatar.has-photo {
    background: #f1faf4 !important;
    border-color: var(--border-bright) !important;
}

.admin-light .commission-professional-avatar {
    color: #13794c !important;
}

.admin-light .data-table th,
.admin-light .data-table td,
.admin-light .client-history-table th,
.admin-light .client-history-table td,
.admin-light .professional-history-table th,
.admin-light .professional-history-table td {
    border-right-color: var(--border) !important;
}

.admin-light .data-table-container,
.admin-light .services-table-shell,
.admin-light .sales-history-container {
    background: #ffffff !important;
    border-color: var(--border) !important;
}

.admin-light #modal-prof-services-list .checkbox-item:hover,
.admin-light #modal-prof-services-list .checkbox-item:has(input:checked) {
    color: var(--text-main) !important;
    background: #eaf8ef !important;
    border-color: #9dd5b1 !important;
}

.admin-light .billing-tooltip-swatch.sales {
    background: #8fd3ad !important;
}

.admin-light #modal-confirm-service > .modal-content > div:first-child {
    color: #ffffff !important;
}

.admin-light .payment-confirm-icon {
    color: #ffffff !important;
}

/* The booking experience uses one Gestano visual language even when legacy
   theme values remain stored in an older configuration. */
.booking-body .my-appointment-status {
    color: #13794c !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.booking-body .booking-date-option.selected {
    color: #ffffff !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

.booking-body .service-card-media,
.booking-body .service-card-media.has-photo {
    color: #13794c !important;
    background: #f1faf4 !important;
    border-color: var(--border-bright) !important;
}

.booking-body .time-card-other {
    color: #13794c !important;
    background: #f0faf4 !important;
    border-color: #b9dfc6 !important;
}

.booking-body .booking-style-preview,
.admin-light .booking-style-preview {
    background: #edf9f1 !important;
    border: 1px solid #c9e8d4;
}

.booking-body .booking-style-preview i,
.booking-body .booking-style-preview b,
.booking-body .booking-style-preview em,
.admin-light .booking-style-preview i,
.admin-light .booking-style-preview b,
.admin-light .booking-style-preview em {
    background: #26b878 !important;
}

.admin-light .booking-style-preview b,
.admin-light .booking-style-preview em {
    background: #ffffff !important;
    border: 1px solid #b9dfc6;
}

/* Detail modals: override the legacy dark profile surfaces with the same
   white/green language used by the rest of the administrator panel. */
.admin-light #modal-client-details .client-details-content,
.admin-light #modal-prof-comm-details .professional-details-content {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: 0 28px 70px rgba(27, 98, 60, 0.16) !important;
}

.admin-light #modal-client-details .client-details-header,
.admin-light #modal-prof-comm-details .professional-details-header {
    background: #ffffff !important;
    border-bottom-color: var(--border) !important;
}

.admin-light #modal-client-details .client-detail-avatar,
.admin-light #modal-prof-comm-details .professional-detail-avatar {
    color: #13794c !important;
    background: linear-gradient(145deg, #e6f8ed, #f7fcf9) !important;
    border-color: #a9d8b9 !important;
}

.admin-light #modal-client-details .client-detail-name,
.admin-light #modal-prof-comm-details .professional-detail-name,
.admin-light #modal-client-details .client-history-heading h3,
.admin-light #modal-prof-comm-details .professional-history-heading h3 {
    color: var(--text-main) !important;
}

.admin-light #modal-client-details .client-detail-stat,
.admin-light #modal-prof-comm-details .professional-detail-stat {
    color: var(--text-main) !important;
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
    box-shadow: 0 10px 24px rgba(27, 98, 60, 0.06) !important;
}

.admin-light #modal-client-details .client-detail-stat:hover,
.admin-light #modal-prof-comm-details .professional-detail-stat:hover {
    border-color: var(--border-bright) !important;
    box-shadow: 0 14px 28px rgba(27, 98, 60, 0.09) !important;
}

.admin-light #modal-client-details .client-detail-stat h3,
.admin-light #modal-prof-comm-details .professional-detail-stat h3 {
    color: var(--primary) !important;
}

.admin-light #modal-prof-comm-details .professional-detail-stat-shop h3 {
    color: var(--danger) !important;
}

.admin-light #modal-prof-comm-details .professional-detail-stat-professional h3 {
    color: var(--success) !important;
}

.admin-light #modal-client-details .client-history-table-shell,
.admin-light #modal-prof-comm-details .professional-history-table-shell {
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light #modal-client-details .client-history-table th,
.admin-light #modal-prof-comm-details .professional-history-table th {
    background: #effaf4 !important;
    color: #527063 !important;
    border-bottom-color: var(--border) !important;
}

.admin-light #modal-client-details .client-history-table td,
.admin-light #modal-prof-comm-details .professional-history-table td {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-bottom-color: var(--border) !important;
}

.admin-light #modal-client-details .client-history-table tbody tr:hover,
.admin-light #modal-prof-comm-details .professional-history-table tbody tr:hover {
    background: #effaf4 !important;
}

.admin-light #modal-client-details .client-history-table tbody tr:hover td,
.admin-light #modal-prof-comm-details .professional-history-table tbody tr:hover td {
    background: #effaf4 !important;
}

.admin-light .billing-day-details-content {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
}

.admin-light .billing-day-details-filter {
    color: #13794c !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.admin-light .billing-day-details-stat {
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light .billing-day-details-stat-total {
    border-color: var(--border-bright) !important;
}

.admin-light .billing-day-details-table-shell {
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light .billing-day-details-table th {
    background: #effaf4 !important;
    color: #527063 !important;
}

.admin-light .billing-day-details-table td {
    background: #ffffff !important;
    color: var(--text-main) !important;
}

.admin-light .billing-day-record-type.service,
.admin-light .billing-day-record-type.sale {
    color: #13794c !important;
    background: #e6f8ed !important;
}

/* Public booking entry: replace the old dark cards with clear, touch-friendly actions. */
.booking-body .booking-entry-card {
    position: relative;
    overflow: hidden;
    min-height: 104px;
    padding: 21px 22px;
    color: var(--text-main) !important;
    background: linear-gradient(135deg, #ffffff 0%, #f3fcf7 100%) !important;
    border: 1px solid #bfe7cf !important;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(21, 126, 76, 0.09);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.booking-body .booking-entry-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 18px 0 0 18px;
    background: var(--primary);
}

.booking-body .booking-entry-card:hover,
.booking-body .booking-entry-card:focus-visible {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--primary) !important;
    box-shadow: 0 16px 32px rgba(21, 126, 76, 0.15);
    outline: none;
    transform: translateY(-2px);
}

.booking-body .booking-entry-card:active {
    transform: translateY(0);
}

/* Selected service: strong contrast, a calm lift and a clearer active surface. */
.booking-body .service-card {
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.booking-body .service-card.selected {
    position: relative;
    overflow: hidden;
    color: #ffffff !important;
    background: linear-gradient(135deg, #2bc183 0%, #1caf70 100%) !important;
    border: 2px solid #0f985c !important;
    box-shadow: 0 16px 30px rgba(19, 143, 85, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    transform: translateY(-2px);
}

.booking-body .service-card.selected::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #e8fff1;
    opacity: 0.9;
}

.booking-body .service-card.selected .service-card-media {
    border-color: rgba(255, 255, 255, 0.72) !important;
    background: rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 5px 14px rgba(6, 91, 52, 0.16);
}

.booking-body .service-card.selected .service-card-image {
    border-color: rgba(255, 255, 255, 0.72) !important;
}

.booking-body .service-card.selected strong,
.booking-body .service-card.selected p,
.booking-body .service-card.selected .price {
    color: #ffffff !important;
}

.booking-body .service-card.selected p {
    opacity: 0.86;
    font-weight: 500;
}

.booking-body .service-card.selected .price {
    padding: 7px 10px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 10px;
}

.booking-body .booking-entry-card-icon {
    width: 48px;
    height: 48px;
    color: #ffffff !important;
    background: linear-gradient(145deg, #31c887, #169e63) !important;
    border: 4px solid #e2f8eb;
    border-radius: 14px;
    box-shadow: 0 6px 14px rgba(22, 158, 99, 0.2);
}

.booking-body .booking-entry-card strong {
    color: var(--text-main) !important;
    font-size: 1.03rem;
    font-weight: 800;
}

.booking-body .booking-entry-card small {
    color: var(--text-muted) !important;
}

.booking-body .booking-entry-card-arrow {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--primary) !important;
    background: #e7f8ee;
    border-radius: 50%;
    font-size: 1.15rem;
    font-weight: 800;
}

/* The success screen is intentionally quieter: the mobile header brand is no longer duplicated. */
.booking-body.booking-success-active .booking-mobile-brand {
    display: none !important;
}

.booking-body.booking-success-active .success-screen {
    animation: booking-success-enter 420ms ease both;
}

.booking-body .success-icon {
    width: 76px;
    height: 76px;
    padding: 7px;
    background: #effbf4 !important;
    border: 1px solid #c8ecd7;
    border-radius: 22px;
    box-shadow: 0 12px 26px rgba(26, 147, 88, 0.12);
}

.booking-body .success-logo {
    width: 100%;
    height: 100%;
    transform: none;
    border-radius: 14px;
}

.booking-body .success-card {
    background: linear-gradient(145deg, #ffffff 0%, #f7fcf9 100%) !important;
    border: 1px solid #cde9d8 !important;
    box-shadow: 0 18px 38px rgba(25, 107, 64, 0.1) !important;
}

.booking-body .success-card-heading {
    color: #5c7569;
    border-bottom-color: #d9eee1;
}

.booking-body .success-card-status {
    padding: 6px 10px;
    color: #087d45 !important;
    background: #e0f8e9;
    border: 1px solid #a8dfbd;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.booking-body .success-card-status::before {
    width: 7px;
    height: 7px;
    background: #16a05b;
    box-shadow: 0 0 0 4px rgba(22, 160, 91, 0.12);
}

@keyframes booking-success-enter {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 680px) {
    .booking-body.booking-success-active .booking-main {
        padding-top: 28px;
    }

    .booking-body.booking-success-active .step-container {
        margin-top: 10px;
    }

    .booking-body .booking-entry-card {
        min-height: 116px;
        padding: 18px 18px 18px 20px;
        gap: 13px;
    }

    .booking-body .booking-entry-card-icon {
        width: 46px;
        height: 46px;
    }

    .booking-body .booking-entry-card strong {
        font-size: 0.98rem;
    }

    .booking-body .booking-entry-card small {
        font-size: 0.78rem;
    }

    .booking-body .success-title {
        font-size: 2.25rem;
    }

    .booking-body .success-desc {
        font-size: 0.94rem;
    }
}

/* Final Gestano consistency pass: white surfaces, green interaction states and soft neutrals. */
.admin-light {
    color-scheme: light;
}

.admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
.admin-light select,
.admin-light textarea {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    color-scheme: light !important;
}

.admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):hover,
.admin-light select:hover,
.admin-light textarea:hover {
    border-color: var(--border-bright) !important;
}

.admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):focus,
.admin-light select:focus,
.admin-light textarea:focus {
    outline: none !important;
    background: #ffffff !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(38, 184, 120, 0.14) !important;
}

.admin-light input::placeholder,
.admin-light textarea::placeholder {
    color: #8aa096 !important;
    opacity: 1;
}

.admin-light option {
    color: var(--text-main);
    background: #ffffff;
}

.landing-body *,
.landing-body *::before,
.landing-body *::after {
    box-sizing: border-box;
}

.admin-light input[type="checkbox"],
.admin-light input[type="radio"] {
    accent-color: var(--primary);
}

.admin-light .modal-overlay,
.admin-light .modal-side-panel {
    background: rgba(23, 54, 41, 0.24) !important;
    backdrop-filter: blur(10px);
}

.admin-light .modal-content,
.admin-light .modal-side-panel .modal-content,
.admin-light .billing-day-details-content,
.admin-light .client-details-content,
.admin-light .professional-details-content {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px;
    box-shadow: 0 28px 70px rgba(27, 98, 60, 0.16) !important;
}

.admin-light .modal-header,
.admin-light .modal-footer,
.admin-light .monthly-goal-modal-footer,
.admin-light .expense-modal-footer {
    border-color: var(--border) !important;
}

.admin-light .modal-title,
.admin-light .modal-content h2,
.admin-light .modal-content h3 {
    color: var(--text-main) !important;
}

.admin-light .modal-content p,
.admin-light .modal-content label,
.admin-light .modal-content small {
    color: var(--text-muted);
}

.admin-light .monthly-goal-field input,
.admin-light .permission-option,
.admin-light .account-status-control,
.admin-light .admin-user-count,
.admin-light .permission-chip,
.admin-light .prof-commission-strip span {
    color: var(--text-main) !important;
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light .permission-option:hover,
.admin-light .account-status-control:hover {
    background: #effaf4 !important;
    border-color: var(--border-bright) !important;
}

.admin-light .permission-option:has(input:checked) {
    background: #eaf8ef !important;
    border-color: #9dd5b1 !important;
    box-shadow: inset 3px 0 0 var(--primary);
}

.admin-light .permission-option strong,
.admin-light .account-status-control strong,
.admin-light .admin-user-identity strong {
    color: var(--text-main) !important;
}

.admin-light .permission-option small,
.admin-light .account-status-control small,
.admin-light .admin-user-identity small {
    color: var(--text-muted) !important;
}

.admin-light .toggle-track {
    background: #cfe5d7 !important;
}

.admin-light .account-status-control input:checked + .toggle-track {
    background: var(--primary) !important;
}

.admin-light .permission-chip {
    color: #527063 !important;
}

.admin-light .permission-chip.admin {
    color: #ffffff !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

.admin-light .inventory-card-img,
.admin-light .stock-progress-container {
    background: #effaf4 !important;
}

.admin-light .retention-card,
.admin-light .dashboard-chart {
    color: var(--text-main) !important;
    background: linear-gradient(135deg, #ffffff, #effaf4) !important;
    border-color: var(--border) !important;
    box-shadow: var(--shadow) !important;
}

.admin-light .dashboard-chart span {
    background: linear-gradient(180deg, var(--primary), rgba(38, 184, 120, 0.2)) !important;
}

.admin-light .billing-chart-container {
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: var(--shadow) !important;
}

.admin-light .billing-custom-tooltip {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 18px 40px rgba(27, 98, 60, 0.16) !important;
}

.admin-light .billing-tooltip-title,
.admin-light .billing-tooltip-total,
.admin-light .billing-tooltip-row strong {
    color: var(--text-main) !important;
}

.admin-light .billing-tooltip-label {
    color: var(--text-muted) !important;
}

.admin-light .billing-tooltip-percent {
    color: #6c8a7b !important;
    border-left-color: var(--border) !important;
}

.admin-light .billing-tooltip-divider {
    background: var(--border) !important;
}

.admin-light .billing-tooltip-total strong {
    color: var(--primary) !important;
}

.admin-light .billing-tooltip-swatch.services {
    background: var(--primary) !important;
}

.admin-light .billing-tooltip-swatch.sales {
    background: #8fd3ad !important;
}

.admin-light .booking-schedule-row,
.admin-light .booking-style-option,
.admin-light .schedule-time-fields {
    color: var(--text-main) !important;
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light .booking-schedule-row:hover,
.admin-light .booking-style-option:hover {
    background: #effaf4 !important;
    border-color: var(--border-bright) !important;
}

.admin-light .btn-secondary,
.admin-light .btn-outline,
.admin-light .card-action-btn,
.admin-light .qty-btn {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border-bright) !important;
}

.admin-light .btn-secondary:hover,
.admin-light .btn-outline:hover,
.admin-light .card-action-btn:hover,
.admin-light .qty-btn:hover {
    color: #13794c !important;
    background: #eaf8ef !important;
    border-color: var(--primary) !important;
}

/* Final consistency pass: neutralize legacy dark/gold rules that are still
   more specific in secondary modals and operational utility components. */
.admin-light .navigation-loader {
    background: rgba(245, 251, 247, 0.96) !important;
}

.admin-light .navigation-loader-mark::before {
    border-top-color: var(--primary) !important;
    border-right-color: rgba(38, 184, 120, 0.68) !important;
}

.admin-light .navigation-loader-mark::after {
    border-bottom-color: rgba(107, 127, 115, 0.68) !important;
    border-left-color: rgba(107, 127, 115, 0.28) !important;
}

.admin-light .appointment-contact {
    color: var(--text-muted) !important;
}

.admin-light .appointment-contact svg {
    color: #7d9a8b !important;
}

.admin-light .financial-money {
    gap: 0.02em !important;
    letter-spacing: normal !important;
}

.admin-light .financial-money .financial-currency,
.admin-light .financial-money .financial-amount {
    letter-spacing: -0.04em !important;
}

.admin-light .dashboard-financial-toggle:hover,
.admin-light .dashboard-financial-toggle:focus-visible {
    border-color: var(--border-bright) !important;
    box-shadow: 0 16px 32px rgba(27, 98, 60, 0.1) !important;
}

.admin-light .status-pending {
    color: #6b7f73 !important;
}

.admin-light .status-confirmed,
.admin-light .status-arrived,
.admin-light .status-in_progress {
    color: var(--success) !important;
}

.admin-light .client-return-badge {
    color: #13794c !important;
    background: #e6f8ed !important;
    border: 1px solid #bce5ca;
}

.admin-light .badge-low {
    color: var(--danger) !important;
    background: rgba(217, 77, 91, 0.1) !important;
    border-color: rgba(217, 77, 91, 0.24) !important;
}

.admin-light .badge-ok {
    color: var(--success) !important;
    background: rgba(28, 165, 104, 0.1) !important;
    border-color: rgba(28, 165, 104, 0.22) !important;
}

.admin-light .status-ok {
    color: var(--success) !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.admin-light .status-warn {
    color: #527063 !important;
    background: #f1faf4 !important;
    border-color: var(--border) !important;
}

.admin-light .status-danger {
    color: var(--danger) !important;
    background: rgba(217, 77, 91, 0.1) !important;
    border-color: rgba(217, 77, 91, 0.24) !important;
}

.admin-light .payment-cash,
.admin-light .payment-pix,
.admin-light .payment-card {
    color: #13794c !important;
}

.admin-light .admin-module-icon-marketing {
    color: var(--primary) !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.admin-light .marketing-lead-status {
    color: var(--text-muted) !important;
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light .marketing-lead-status.new,
.admin-light .marketing-lead-status.contacted {
    color: #13794c !important;
    background: #e6f8ed !important;
    border-color: #bce5ca !important;
}

.admin-light .waitlist-panel,
.admin-light .dashboard-insight-card {
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: var(--shadow) !important;
}

.admin-light .waitlist-form input,
.admin-light .waitlist-form select {
    background: #ffffff !important;
    color: var(--text-main) !important;
    border-color: var(--border) !important;
    color-scheme: light !important;
}

.admin-light .waitlist-form input:focus,
.admin-light .waitlist-form select:focus {
    background: #ffffff !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(38, 184, 120, 0.13) !important;
}

.admin-light .waitlist-form select option {
    background: #ffffff !important;
    color: var(--text-main) !important;
}

.admin-light #modal-inventory {
    background: rgba(23, 54, 41, 0.24) !important;
}

.admin-light #modal-inventory .inventory-modal-content {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: 0 28px 70px rgba(27, 98, 60, 0.16) !important;
}

.admin-light #modal-inventory .inventory-modal-header,
.admin-light #modal-inventory .inventory-modal-content > .input-group-new > label,
.admin-light #modal-inventory .inventory-form-row .input-group-new > label {
    color: var(--text-muted) !important;
    border-bottom-color: var(--border) !important;
}

.admin-light #modal-inventory .inventory-modal-content > .input-group-new input,
.admin-light #modal-inventory .inventory-modal-content > .input-group-new textarea {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
    color-scheme: light !important;
}

.admin-light #modal-inventory .inventory-photo-picker,
.admin-light #modal-inventory .inventory-commission-toggle {
    color: var(--text-main) !important;
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

.admin-light #modal-inventory .inventory-photo-picker:hover,
.admin-light #modal-inventory .inventory-commission-toggle:hover {
    background: #effaf4 !important;
    border-color: var(--border-bright) !important;
}

.admin-light #modal-inventory .inventory-modal-content > .btn-full {
    box-shadow: 0 12px 24px rgba(38, 184, 120, 0.18) !important;
}

.admin-light #modal-select-item .select-item-table th,
.admin-light #modal-select-item .select-item-table td,
.admin-light #tab-vendas .data-table th,
.admin-light #tab-vendas .data-table td {
    border-right-color: var(--border) !important;
}

.admin-light #modal-select-item .product-select-photo {
    background: #f1faf4 !important;
    border-color: var(--border-bright) !important;
}

.admin-light #modal-select-item .product-select-photo.no-photo {
    background: linear-gradient(145deg, #eaf8ef, #f7fcf9) !important;
}

/* Public marketing surface: green and white throughout, with no old gold CTA. */
.landing-body .mesh-gradient {
    background:
        radial-gradient(circle at 50% 0%, rgba(38, 184, 120, 0.1), transparent 28%),
        radial-gradient(circle at 12% 74%, rgba(38, 184, 120, 0.08), transparent 24%) !important;
}

.landing-body .landing-nav .nav-lang {
    color: var(--landing-ink) !important;
    background: var(--landing-card) !important;
    border-color: var(--landing-line) !important;
}

.landing-body .consultation-section {
    background: linear-gradient(135deg, #eaf8ef 0%, #f5fbf7 100%) !important;
}

.landing-body .consultation-content h2,
.landing-body .consultation-content p {
    color: var(--landing-ink) !important;
}

.landing-body .consultation-content p {
    opacity: 1;
}

.landing-body .consultation-content .hero-tagline {
    color: var(--landing-teal-dark) !important;
    background: #ffffff !important;
    border-color: var(--landing-line) !important;
}

.landing-body .consultation-content .btn-premium {
    background: var(--landing-teal) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(38, 184, 120, 0.2) !important;
}

.landing-body .consultation-content .btn-premium:hover {
    background: var(--landing-teal-dark) !important;
}

/* Sales form: keep the complete flow visible without the generic modal
   height cap creating an internal scrollbar. */
.admin-light #modal-sales {
    padding: clamp(16px, 3vw, 32px) !important;
    overflow: visible;
}

.admin-light #modal-sales .sale-modal-content {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 26px 40px 24px !important;
    border-radius: 24px !important;
}

.admin-light #modal-sales .sale-modal-body {
    gap: 18px;
}

.admin-light #modal-sales .sale-modal-product-row,
.admin-light #modal-sales .sale-modal-details-row,
.admin-light #modal-sales .sale-modal-summary-row {
    gap: 14px !important;
}

.admin-light #modal-sales .sale-modal-footer {
    margin-top: 18px !important;
}

@media (max-width: 760px) {
    .admin-light #modal-sales {
        align-items: flex-end;
        padding: 10px !important;
    }

    .admin-light #modal-sales .sale-modal-content {
        width: 100% !important;
        max-width: none !important;
        max-height: calc(100dvh - 20px) !important;
        overflow-y: auto !important;
        scrollbar-width: none;
        padding: 24px 20px 20px !important;
        border-radius: 20px !important;
    }

    .admin-light #modal-sales .sale-modal-content::-webkit-scrollbar {
        display: none;
    }
}

/* Reports screen: restore a clear KPI hierarchy and a stable card rhythm. */
.admin-light #tab-relatorios {
    min-width: 0;
}

.admin-light #tab-relatorios .reports-page-header {
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 28px;
}

.admin-light #tab-relatorios .reports-page-header > div:first-child {
    flex: 1 1 360px;
    min-width: 0;
}

.admin-light #tab-relatorios .reports-page-header h2 {
    margin: 0 0 7px;
    color: var(--text-main) !important;
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.admin-light #tab-relatorios .reports-page-header p {
    margin: 0;
    color: var(--text-muted) !important;
    font-size: 0.96rem;
    line-height: 1.5;
}

.admin-light #tab-relatorios .page-header-actions {
    flex: 0 1 auto;
    justify-content: flex-end;
    gap: 10px;
}

.admin-light #tab-relatorios .page-header-actions input[type="date"] {
    width: 180px;
    min-height: 54px;
    padding: 0 13px;
    border: 1px solid var(--border) !important;
    border-radius: 12px;
    background: #ffffff !important;
    color: var(--text-main) !important;
    font-size: 0.9rem;
}

.admin-light #tab-relatorios .page-header-actions .btn {
    min-height: 54px;
    padding-inline: 20px;
    border-radius: 12px;
    white-space: nowrap;
}

.admin-light #tab-relatorios .reports-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.admin-light #tab-relatorios .reports-summary-grid .stat-card {
    display: flex;
    min-width: 0;
    min-height: 152px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 26px 28px;
    overflow: hidden;
}

.admin-light #tab-relatorios .reports-summary-grid .stat-card::before {
    left: 24px;
    width: 52px;
    height: 3px;
    border-radius: 999px;
}

.admin-light #tab-relatorios .reports-summary-grid .stat-label {
    display: block;
    margin: 0 0 10px;
    color: var(--text-muted) !important;
    font-size: 0.68rem;
    line-height: 1.2;
    letter-spacing: 0.12em;
}

.admin-light #tab-relatorios .reports-summary-grid .stat-value {
    display: block;
    margin: 0 !important;
    color: var(--text-main) !important;
    font-size: clamp(1.7rem, 2.4vw, 2.35rem) !important;
    line-height: 1;
    letter-spacing: -0.065em;
    white-space: nowrap;
}

.admin-light #tab-relatorios #report-revenue {
    color: #13794c !important;
}

.admin-light #tab-relatorios #report-expenses {
    color: #c44758 !important;
}

.admin-light #tab-relatorios #report-profit {
    color: #13794c !important;
}

.admin-light #tab-relatorios #report-commission {
    color: #2c7a5b !important;
}

.admin-light #tab-relatorios .reports-columns {
    align-items: stretch;
    gap: 18px;
}

.admin-light #tab-relatorios .report-card {
    min-width: 0;
    min-height: 430px;
    padding: 28px 30px;
}

.admin-light #tab-relatorios .report-card .section-toolbar {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border);
}

.admin-light #tab-relatorios .report-card .section-toolbar h3 {
    color: var(--text-main) !important;
    font-family: 'Outfit', sans-serif;
    font-size: 1.35rem;
    letter-spacing: -0.035em;
}

.admin-light #tab-relatorios .report-breakdown {
    gap: 0;
    margin-top: 4px;
}

.admin-light #tab-relatorios .report-breakdown-row {
    min-height: 58px;
    align-items: center;
    padding: 14px 0;
    color: var(--text-muted) !important;
    border-bottom-color: var(--border) !important;
    font-size: 0.96rem;
}

.admin-light #tab-relatorios .report-breakdown-row strong {
    color: var(--text-main) !important;
    font-size: 1rem;
    white-space: nowrap;
}

.admin-light #tab-relatorios .report-breakdown-row small {
    color: var(--text-muted) !important;
}

.admin-light #tab-relatorios .report-breakdown-subtitle {
    margin: 24px 0 2px;
    padding-top: 4px;
    color: #169c68 !important;
    font-size: 0.7rem;
}

.admin-light #tab-relatorios .report-card > .dashboard-empty-note {
    display: block;
    padding-top: 22px;
    color: var(--text-muted) !important;
}

@media (max-width: 1100px) {
    .admin-light #tab-relatorios .reports-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-light #tab-relatorios .page-header-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    .admin-light #tab-relatorios .reports-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-light #tab-relatorios .reports-columns {
        grid-template-columns: 1fr;
    }

    .admin-light #tab-relatorios .report-card {
        min-height: 0;
    }
}

@media (max-width: 680px) {
    .admin-light #tab-relatorios .page-header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .admin-light #tab-relatorios .page-header-actions > * {
        width: 100%;
        min-width: 0;
        flex: none;
    }

    .admin-light #tab-relatorios .page-header-actions input[type="date"],
    .admin-light #tab-relatorios .page-header-actions .btn {
        width: 100%;
        min-width: 0;
        padding-inline: 12px;
    }

    .admin-light #tab-relatorios .reports-summary-grid {
        gap: 10px;
    }

    .admin-light #tab-relatorios .reports-summary-grid .stat-card {
        min-height: 126px;
        padding: 20px;
    }

    .admin-light #tab-relatorios .reports-summary-grid .stat-value {
        font-size: 1.55rem !important;
    }

    .admin-light #tab-relatorios .report-card {
        padding: 22px 20px;
    }
}

@media (max-width: 430px) {
    .admin-light #tab-relatorios .page-header-actions,
    .admin-light #tab-relatorios .reports-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* Clients: fit the complete relation inside the frame and use cards on small
   screens instead of exposing a horizontal scrollbar. */
.admin-light #tab-clientes {
    min-width: 0;
}

.admin-light #tab-clientes > .list-header {
    gap: 18px;
    margin-bottom: 22px;
}

.admin-light #tab-clientes > .list-header h2 {
    margin: 0;
    color: var(--text-main) !important;
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.55rem, 3vw, 2rem) !important;
    line-height: 1.05;
    letter-spacing: -0.04em !important;
}

.admin-light #tab-clientes > .input-group-new {
    width: min(100%, 500px);
    max-width: none !important;
    margin-bottom: 22px !important;
}

.admin-light #tab-clientes > .input-group-new input {
    min-height: 50px;
    border-radius: 14px;
    background: #ffffff !important;
}

.admin-light #clients-table-shell {
    width: 100%;
    overflow-x: hidden !important;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: var(--shadow);
}

.admin-light #clients-table-shell .data-table {
    width: 100%;
    min-width: 0 !important;
    margin-top: 0;
    table-layout: fixed;
    border-spacing: 0;
}

.admin-light #clients-table-shell .data-table th,
.admin-light #clients-table-shell .data-table td {
    min-width: 0;
    padding: 14px 10px;
    border-right: 1px solid var(--border) !important;
    border-top: 0;
    border-bottom: 1px solid var(--border) !important;
    overflow-wrap: anywhere;
}

.admin-light #clients-table-shell .data-table th {
    height: 58px;
    padding-block: 12px;
    background: #f1faf4;
    color: #527063 !important;
    font-size: 0.66rem;
    line-height: 1.2;
    white-space: normal;
}

.admin-light #clients-table-shell .data-table td {
    height: 74px;
    background: #ffffff !important;
    color: var(--text-main) !important;
    line-height: 1.35;
}

.admin-light #clients-table-shell .data-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.admin-light #clients-table-shell .data-table th:nth-child(1),
.admin-light #clients-table-shell .data-table td:nth-child(1) { width: 20% !important; }
.admin-light #clients-table-shell .data-table th:nth-child(2),
.admin-light #clients-table-shell .data-table td:nth-child(2) { width: 13% !important; }
.admin-light #clients-table-shell .data-table th:nth-child(3),
.admin-light #clients-table-shell .data-table td:nth-child(3) { width: 17% !important; }
.admin-light #clients-table-shell .data-table th:nth-child(4),
.admin-light #clients-table-shell .data-table td:nth-child(4) { width: 9% !important; }
.admin-light #clients-table-shell .data-table th:nth-child(5),
.admin-light #clients-table-shell .data-table td:nth-child(5) { width: 10% !important; }
.admin-light #clients-table-shell .data-table th:nth-child(6),
.admin-light #clients-table-shell .data-table td:nth-child(6) { width: 8% !important; }
.admin-light #clients-table-shell .data-table th:nth-child(7),
.admin-light #clients-table-shell .data-table td:nth-child(7) { width: 11% !important; }
.admin-light #clients-table-shell .data-table th:nth-child(8),
.admin-light #clients-table-shell .data-table td:nth-child(8) { width: 12% !important; border-right: 0 !important; }

.admin-light #clients-table-shell .data-table td:first-child strong {
    display: block;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-light #clients-table-shell .data-table td:nth-child(2),
.admin-light #clients-table-shell .data-table td:nth-child(3) {
    color: #527063 !important;
}

.admin-light #clients-table-shell .data-table td:last-child > div {
    display: flex !important;
    align-items: center;
    justify-content: center !important;
    flex-wrap: wrap;
    gap: 6px !important;
}

.admin-light #clients-table-shell .data-table td:last-child .btn {
    min-height: 34px;
    padding: 6px 9px !important;
    border-radius: 9px;
    font-size: 0.66rem !important;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .admin-light #clients-table-shell {
        overflow: visible !important;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .admin-light #clients-table-shell .data-table,
    .admin-light #clients-table-shell .data-table tbody,
    .admin-light #clients-table-shell .data-table tr,
    .admin-light #clients-table-shell .data-table td {
        display: block;
        width: 100% !important;
    }

    .admin-light #clients-table-shell .data-table thead {
        display: none;
    }

    .admin-light #clients-table-shell .data-table tbody tr {
        margin-bottom: 12px;
        padding: 8px 16px;
        border: 1px solid var(--border);
        border-radius: 16px;
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(27, 98, 60, 0.07);
    }

    .admin-light #clients-table-shell .data-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        height: auto;
        min-height: 44px;
        padding: 10px 0;
        border: 0 !important;
        border-bottom: 1px solid var(--border) !important;
        text-align: right !important;
    }

    .admin-light #clients-table-shell .data-table td::before {
        flex: 0 0 38%;
        color: var(--text-muted);
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        line-height: 1.2;
        text-align: left;
        text-transform: uppercase;
    }

    .admin-light #clients-table-shell .data-table td:nth-child(1)::before { content: "Nome"; }
    .admin-light #clients-table-shell .data-table td:nth-child(2)::before { content: "WhatsApp"; }
    .admin-light #clients-table-shell .data-table td:nth-child(3)::before { content: "Último atendimento"; }
    .admin-light #clients-table-shell .data-table td:nth-child(4)::before { content: "Atendimentos"; }
    .admin-light #clients-table-shell .data-table td:nth-child(5)::before { content: "Retorno"; }
    .admin-light #clients-table-shell .data-table td:nth-child(6)::before { content: "Pontos"; }
    .admin-light #clients-table-shell .data-table td:nth-child(7)::before { content: "Pendências"; }
    .admin-light #clients-table-shell .data-table td:nth-child(8)::before { content: "Ações"; }

    .admin-light #clients-table-shell .data-table td:first-child {
        display: block;
        text-align: left !important;
    }

    .admin-light #clients-table-shell .data-table td:first-child::before {
        display: block;
        margin-bottom: 6px;
    }

    .admin-light #clients-table-shell .data-table td:last-child {
        border-bottom: 0 !important;
    }

    .admin-light #clients-table-shell .data-table td:last-child > div {
        justify-content: flex-end !important;
    }
}

/* Loyalty: align the KPI hierarchy and keep the points table light, compact
   and usable without horizontal scrolling. */
.admin-light #tab-fidelidade {
    min-width: 0;
}

.admin-light #tab-fidelidade > .list-header {
    gap: 18px;
    margin-bottom: 24px;
}

.admin-light #tab-fidelidade > .list-header h2 {
    margin: 0 0 7px;
    color: var(--text-main) !important;
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.admin-light #tab-fidelidade > .list-header p {
    margin: 0;
    color: var(--text-muted) !important;
    font-size: 0.98rem;
    line-height: 1.5;
}

.admin-light #tab-fidelidade .loyalty-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.admin-light #tab-fidelidade .loyalty-summary-grid .stat-card {
    display: flex;
    min-width: 0;
    min-height: 144px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 26px 28px;
    overflow: hidden;
}

.admin-light #tab-fidelidade .loyalty-summary-grid .stat-card::before {
    left: 24px;
    width: 52px;
    height: 3px;
    border-radius: 999px;
}

.admin-light #tab-fidelidade .loyalty-summary-grid .stat-label {
    display: block;
    margin: 0 0 10px;
    color: var(--text-muted) !important;
    font-size: 0.68rem;
    line-height: 1.2;
    letter-spacing: 0.12em;
}

.admin-light #tab-fidelidade .loyalty-summary-grid .stat-value,
.admin-light #tab-fidelidade .loyalty-rule-value {
    display: block;
    margin: 0 !important;
    color: var(--text-main) !important;
    font-size: clamp(1.9rem, 2.6vw, 2.45rem) !important;
    line-height: 1;
    letter-spacing: -0.06em;
    white-space: nowrap;
}

.admin-light #tab-fidelidade #loyalty-points-total {
    color: #13794c !important;
}

.admin-light #tab-fidelidade .loyalty-rule-value {
    color: #169c68 !important;
    font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
    letter-spacing: -0.045em;
}

.admin-light #tab-fidelidade .loyalty-panel {
    min-width: 0;
    padding: 28px 30px;
}

.admin-light #tab-fidelidade .loyalty-panel .section-toolbar {
    align-items: flex-end;
    margin-bottom: 22px;
}

.admin-light #tab-fidelidade .loyalty-panel .section-toolbar h3 {
    color: var(--text-main) !important;
    font-family: 'Outfit', sans-serif;
    font-size: 1.35rem;
    letter-spacing: -0.035em;
}

.admin-light #tab-fidelidade .loyalty-helper {
    max-width: 360px;
    color: var(--text-muted) !important;
    font-size: 0.82rem;
    line-height: 1.45;
    text-align: right;
}

.admin-light #tab-fidelidade .table-responsive {
    width: 100%;
    overflow-x: hidden !important;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #ffffff;
}

.admin-light #tab-fidelidade .table-responsive .data-table {
    width: 100%;
    min-width: 0 !important;
    margin-top: 0;
    table-layout: fixed;
    border-spacing: 0;
}

.admin-light #tab-fidelidade .data-table th,
.admin-light #tab-fidelidade .data-table td {
    min-width: 0;
    padding: 14px 18px;
    border-right: 1px solid var(--border) !important;
    border-top: 0;
    border-bottom: 1px solid var(--border) !important;
    overflow-wrap: anywhere;
}

.admin-light #tab-fidelidade .data-table th {
    height: 58px;
    background: #f1faf4;
    color: #527063 !important;
    font-size: 0.68rem;
    line-height: 1.2;
}

.admin-light #tab-fidelidade .data-table td {
    height: 72px;
    background: #ffffff !important;
    color: var(--text-main) !important;
}

.admin-light #tab-fidelidade .data-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.admin-light #tab-fidelidade .data-table th:nth-child(1),
.admin-light #tab-fidelidade .data-table td:nth-child(1) { width: 24% !important; }
.admin-light #tab-fidelidade .data-table th:nth-child(2),
.admin-light #tab-fidelidade .data-table td:nth-child(2) { width: 25% !important; }
.admin-light #tab-fidelidade .data-table th:nth-child(3),
.admin-light #tab-fidelidade .data-table td:nth-child(3) { width: 16% !important; }
.admin-light #tab-fidelidade .data-table th:nth-child(4),
.admin-light #tab-fidelidade .data-table td:nth-child(4) { width: 17% !important; }
.admin-light #tab-fidelidade .data-table th:nth-child(5),
.admin-light #tab-fidelidade .data-table td:nth-child(5) { width: 18% !important; border-right: 0 !important; }

.admin-light #tab-fidelidade .data-table td:first-child strong {
    display: block;
    color: var(--text-main) !important;
    line-height: 1.35;
}

.admin-light #tab-fidelidade .data-table td:nth-child(2),
.admin-light #tab-fidelidade .data-table td:nth-child(4) {
    color: #527063 !important;
}

.admin-light #tab-fidelidade .data-table td:last-child .btn {
    min-height: 36px;
    padding: 7px 12px;
    border-radius: 9px;
    font-size: 0.72rem;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .admin-light #tab-fidelidade .loyalty-panel .section-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-light #tab-fidelidade .loyalty-helper {
        max-width: none;
        text-align: left;
    }
}

@media (max-width: 680px) {
    .admin-light #tab-fidelidade .loyalty-summary-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .admin-light #tab-fidelidade .loyalty-summary-grid .stat-card {
        min-height: 118px;
        padding: 20px;
    }

    .admin-light #tab-fidelidade .loyalty-panel {
        padding: 22px 16px;
    }

    .admin-light #tab-fidelidade .table-responsive {
        overflow: visible !important;
        border: 0;
        background: transparent;
    }

    .admin-light #tab-fidelidade .table-responsive .data-table,
    .admin-light #tab-fidelidade .table-responsive .data-table tbody,
    .admin-light #tab-fidelidade .table-responsive .data-table tr,
    .admin-light #tab-fidelidade .table-responsive .data-table td {
        display: block;
        width: 100% !important;
    }

    .admin-light #tab-fidelidade .table-responsive .data-table thead {
        display: none;
    }

    .admin-light #tab-fidelidade .table-responsive .data-table tbody tr {
        margin-bottom: 12px;
        padding: 8px 16px;
        border: 1px solid var(--border);
        border-radius: 16px;
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(27, 98, 60, 0.07);
    }

    .admin-light #tab-fidelidade .table-responsive .data-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        height: auto;
        min-height: 44px;
        padding: 10px 0;
        border: 0 !important;
        border-bottom: 1px solid var(--border) !important;
        text-align: right !important;
    }

    .admin-light #tab-fidelidade .table-responsive .data-table td::before {
        flex: 0 0 38%;
        color: var(--text-muted);
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        line-height: 1.2;
        text-align: left;
        text-transform: uppercase;
    }

    .admin-light #tab-fidelidade .table-responsive .data-table td:nth-child(1)::before { content: "Cliente"; }
    .admin-light #tab-fidelidade .table-responsive .data-table td:nth-child(2)::before { content: "WhatsApp"; }
    .admin-light #tab-fidelidade .table-responsive .data-table td:nth-child(3)::before { content: "Pontos"; }
    .admin-light #tab-fidelidade .table-responsive .data-table td:nth-child(4)::before { content: "Indicação"; }
    .admin-light #tab-fidelidade .table-responsive .data-table td:nth-child(5)::before { content: "Ação"; }

    .admin-light #tab-fidelidade .table-responsive .data-table td:first-child {
        display: block;
        text-align: left !important;
    }

    .admin-light #tab-fidelidade .table-responsive .data-table td:first-child::before {
        display: block;
        margin-bottom: 6px;
    }

    .admin-light #tab-fidelidade .table-responsive .data-table td:last-child {
        border-bottom: 0 !important;
    }
}

/* Service form: use the same light photo treatment and make the package
   option a real inline control instead of a stretched checkbox. */
.admin-light #modal-service .service-photo-picker {
    color: var(--text-main) !important;
    background: linear-gradient(145deg, #f8fcfa, #eef9f2) !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 10px 24px rgba(27, 98, 60, 0.06);
}

.admin-light #modal-service .service-photo-preview {
    background: linear-gradient(145deg, #e6f8ed, #d7f1e1) !important;
    border-color: #94d5ad !important;
    color: #13794c !important;
}

.admin-light #modal-service .professional-photo-picker-copy strong {
    color: var(--text-main) !important;
}

.admin-light #modal-service .professional-photo-picker-copy p {
    color: var(--text-muted) !important;
}

.admin-light #modal-service .service-photo-picker-actions > .btn,
.admin-light #modal-service .service-photo-picker-actions > .professional-photo-edit,
.admin-light #modal-service .service-photo-picker-actions > .professional-photo-clear {
    border-radius: 10px;
}

.admin-light #modal-service .service-photo-picker-actions > .btn {
    color: #13794c !important;
    background: #ffffff !important;
    border-color: #a9d8b9 !important;
}

.admin-light #modal-service .service-photo-picker-actions > .professional-photo-edit {
    color: #13794c !important;
    background: #e6f8ed !important;
    border-color: #a9d8b9 !important;
}

.admin-light #modal-service .service-photo-picker-actions > .professional-photo-clear {
    color: #c44758 !important;
    background: #fff1f2 !important;
    border-color: #efb9c0 !important;
}

.admin-light #modal-service .service-package-toggle {
    display: grid;
    gap: 8px;
    margin-bottom: 12px !important;
}

.admin-light #modal-service .service-package-toggle .checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 24px;
    margin: 0;
    color: var(--text-muted) !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-transform: uppercase;
    cursor: pointer;
}

.admin-light #modal-service .service-package-toggle .checkbox-label input[type="checkbox"] {
    flex: 0 0 18px;
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0;
    padding: 0 !important;
    accent-color: var(--primary);
}

.admin-light #modal-service #modal-svc-package-sessions {
    width: 100%;
    min-height: 48px;
}

/* Professional form: replace the legacy dark photo panel with the light
   Gestano surface used by the rest of the administrator. */
.admin-light #modal-professional .professional-photo-picker {
    color: var(--text-main) !important;
    background: linear-gradient(145deg, #f8fcfa, #eef9f2) !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 10px 24px rgba(27, 98, 60, 0.06);
}

.admin-light #modal-professional .professional-photo-preview {
    background: linear-gradient(145deg, #e6f8ed, #d7f1e1) !important;
    border-color: #94d5ad !important;
    color: #13794c !important;
}

.admin-light #modal-professional .professional-photo-picker-copy strong {
    color: var(--text-main) !important;
}

.admin-light #modal-professional .professional-photo-picker-copy p {
    color: var(--text-muted) !important;
}

.admin-light #modal-professional .professional-photo-picker-actions > .btn,
.admin-light #modal-professional .professional-photo-picker-actions > .professional-photo-edit,
.admin-light #modal-professional .professional-photo-picker-actions > .professional-photo-clear {
    border-radius: 10px;
}

.admin-light #modal-professional .professional-photo-picker-actions > .btn {
    color: #13794c !important;
    background: #ffffff !important;
    border-color: #a9d8b9 !important;
}

.admin-light #modal-professional .professional-photo-picker-actions > .professional-photo-edit {
    color: #13794c !important;
    background: #e6f8ed !important;
    border-color: #a9d8b9 !important;
}

.admin-light #modal-professional .professional-photo-picker-actions > .professional-photo-clear {
    color: #c44758 !important;
    background: #fff1f2 !important;
    border-color: #efb9c0 !important;
}

/* Gray-surface audit: these legacy selectors have higher specificity and
   could still reintroduce graphite blocks inside otherwise light modals. */
.admin-light #modal-professional,
.admin-light #modal-inventory {
    background: rgba(23, 54, 41, 0.24) !important;
}

.admin-light #modal-professional .professional-modal-content,
.admin-light #modal-inventory .inventory-modal-content {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: 0 28px 70px rgba(27, 98, 60, 0.16) !important;
}

.admin-light #modal-prof-services-list.checkbox-grid,
.admin-light #modal-professional #modal-prof-services-list.checkbox-grid {
    color: var(--text-main) !important;
    background: #f7fcf9 !important;
    border: 1px solid var(--border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
}

.admin-light #modal-prof-services-list .checkbox-item,
.admin-light #modal-professional #modal-prof-services-list .checkbox-item {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--border) !important;
}

.admin-light #modal-expense textarea:focus,
.admin-light #modal-expense textarea:focus-visible {
    color: var(--text-main) !important;
    background: #ffffff !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(38, 184, 120, 0.14) !important;
}

/* Final mobile pass: prevent iOS field zoom and keep every surface inside the
   viewport, including the legacy screens that still use wide desktop grids. */
@media (max-width: 768px) {
    html {
        -webkit-text-size-adjust: 100%;
    }

    body.admin-light,
    body.booking-body,
    body.landing-body {
        min-width: 0;
        max-width: 100%;
        overflow-x: hidden;
    }

    .admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
    .admin-light select,
    .admin-light textarea,
    .booking-body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
    .booking-body select,
    .booking-body textarea,
    .landing-body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
    .landing-body select,
    .landing-body textarea {
        font-size: 16px !important;
    }

    .admin-light .dashboard-content {
        width: 100%;
        max-width: 100%;
        padding: 76px 14px 28px;
    }

    .admin-light .dashboard-header,
    .admin-light .list-header,
    .admin-light .reports-page-header,
    .admin-light .admin-panel-heading {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
    }

    .admin-light .dashboard-header > *,
    .admin-light .list-header > *,
    .admin-light .reports-page-header > *,
    .admin-light .admin-panel-heading > * {
        min-width: 0;
        max-width: 100%;
    }

    .admin-light .page-header-actions,
    .admin-light .admin-subpanel-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
    }

    .admin-light .page-header-actions > *,
    .admin-light .admin-subpanel-actions > * {
        width: 100% !important;
        min-width: 0;
        flex: none !important;
    }

    .admin-light .page-header-actions .btn,
    .admin-light .admin-subpanel-actions .btn {
        min-height: 48px;
        padding-inline: 10px;
        white-space: normal;
    }

    .admin-light .form-row,
    .admin-light .form-row-3,
    .admin-light .expense-form-grid,
    .admin-light .inventory-form-row,
    .admin-light .sale-modal-product-row,
    .admin-light .sale-modal-details-row,
    .admin-light .sale-modal-summary-row,
    .admin-light .details-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-light .data-table-container,
    .admin-light .services-table-shell,
    .admin-light .sales-history-container,
    .admin-light .marketing-leads-table-shell,
    .admin-light .table-responsive {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .admin-light .data-table-container::-webkit-scrollbar,
    .admin-light .services-table-shell::-webkit-scrollbar,
    .admin-light .sales-history-container::-webkit-scrollbar,
    .admin-light .marketing-leads-table-shell::-webkit-scrollbar,
    .admin-light .table-responsive::-webkit-scrollbar {
        display: none;
        height: 0;
    }

    .admin-light .data-table,
    .admin-light .services-table,
    .admin-light .marketing-leads-table {
        min-width: 600px;
    }

    .admin-light .modal-overlay {
        width: 100%;
        max-width: 100%;
        padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));
    }

    .admin-light .modal-content {
        width: min(100%, calc(100vw - 20px));
        max-width: 100%;
        max-height: calc(100dvh - 20px);
        padding: 22px 16px;
        border-radius: 20px;
        overflow-y: auto;
        scrollbar-width: none;
    }

    .admin-light .modal-content::-webkit-scrollbar {
        display: none;
    }

    .admin-light .modal-header,
    .admin-light .modal-footer {
        min-width: 0;
        gap: 10px;
    }

    .admin-light .modal-header {
        align-items: flex-start;
    }

    .admin-light .modal-title,
    .admin-light .modal-content h2 {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .admin-light .modal-footer,
    .admin-light .expense-modal-footer,
    .admin-light .sale-modal-footer,
    .admin-light .monthly-goal-modal-footer,
    .admin-light .payment-confirm-actions {
        flex-wrap: wrap;
    }

    .admin-light .modal-footer .btn,
    .admin-light .expense-modal-footer .btn,
    .admin-light .sale-modal-footer .btn,
    .admin-light .monthly-goal-modal-footer .btn,
    .admin-light .payment-confirm-actions .btn {
        min-width: 0;
        flex: 1 1 100%;
    }

    .admin-light #modal-sales .sale-modal-content {
        padding: 20px 16px 18px !important;
    }

    .admin-light #modal-sales .sale-modal-product-row,
    .admin-light #modal-sales .sale-modal-details-row,
    .admin-light #modal-sales .sale-modal-summary-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-light #modal-professional .professional-modal-content {
        display: block;
        max-height: calc(100dvh - 20px) !important;
        overflow-y: auto !important;
        padding: 22px 16px 18px !important;
    }

    .admin-light #modal-inventory .inventory-modal-content {
        display: block !important;
        max-height: calc(100dvh - 20px) !important;
        overflow-y: auto !important;
        padding: 22px 16px 18px !important;
    }

    .admin-light #modal-client-details .client-details-content,
    .admin-light #modal-prof-comm-details .professional-details-content {
        width: 100% !important;
        height: calc(100dvh - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
        border-radius: 20px !important;
    }

    .admin-light #modal-client-details .client-details-header,
    .admin-light #modal-prof-comm-details .professional-details-header {
        padding: 20px 18px 18px;
    }

    .admin-light #modal-client-details .client-details-body,
    .admin-light #modal-prof-comm-details .professional-details-body {
        padding: 20px 16px 24px;
    }

    .admin-light .professional-photo-picker,
    .admin-light .inventory-photo-picker,
    .admin-light .service-photo-picker {
        flex-wrap: wrap;
    }

    .admin-light .professional-photo-picker-copy,
    .admin-light .professional-photo-picker-actions {
        min-width: 0;
        width: 100%;
    }

    .admin-light .professional-photo-picker-actions > * {
        flex: 1 1 auto;
        min-height: 42px;
    }
}

@media (max-width: 680px) {
    .landing-body .landing-container {
        padding-inline: 16px;
    }

    .landing-body .landing-header {
        padding: 8px 0;
    }

    .landing-body .landing-header .landing-container {
        align-items: center;
        flex-wrap: wrap;
        gap: 4px 8px;
    }

    .landing-body .logo-landing .landing-wordmark {
        width: 138px;
        height: 68px;
    }

    .landing-body .landing-nav {
        flex: 1 1 100%;
        justify-content: flex-end;
        gap: 4px;
        min-width: 0;
    }

    .landing-body .landing-nav a,
    .landing-body .landing-nav .nav-cta {
        min-height: 40px;
        padding: 8px 9px;
        font-size: 0.72rem;
        white-space: nowrap;
    }

    .landing-body .landing-nav a[href="#segments"],
    .landing-body .landing-nav a[href="#faq"],
    .landing-body .landing-nav .nav-plan {
        display: none;
    }

    .landing-body .hero-section .landing-container {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .landing-body .hero-title br {
        display: none;
    }

    .landing-body .hero-note {
        flex-wrap: wrap;
        justify-content: center;
    }

    .landing-body .segments-grid,
    .landing-body .numbers-grid,
    .landing-body .features-grid,
    .landing-body .ai-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .landing-body .numbers-grid,
    .landing-body .features-grid,
    .landing-body .ai-grid {
        gap: 12px;
    }

    .landing-body .numbers-grid div,
    .landing-body .feature-item,
    .landing-body .ai-grid div {
        padding: 24px 20px;
    }

    .landing-body .ai-content h2,
    .landing-body .consultation-content h2 {
        font-size: clamp(2rem, 9vw, 2.8rem);
        line-height: 1.08;
    }

    .landing-body .demo-chat {
        right: 10px;
        bottom: 10px;
        width: calc(100vw - 20px);
        height: min(70dvh, 560px);
        border-radius: 20px;
    }

    .admin-light .page-header-actions,
    .admin-light .admin-subpanel-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-light .reports-page-header h2,
    .admin-light #tab-fidelidade > .list-header h2,
    .admin-light #tab-clientes > .list-header h2 {
        font-size: clamp(1.65rem, 8vw, 2.1rem) !important;
    }

    .admin-light #tab-relatorios .reports-summary-grid,
    .admin-light #tab-fidelidade .loyalty-summary-grid,
    .admin-light .marketing-summary-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-light .stat-card,
    .admin-light .billing-card,
    .admin-light #tab-relatorios .reports-summary-grid .stat-card,
    .admin-light #tab-fidelidade .loyalty-summary-grid .stat-card {
        min-height: 112px;
        padding: 20px;
    }

    .admin-light .stat-value,
    .admin-light .billing-card .stat-value,
    .admin-light #tab-relatorios .reports-summary-grid .stat-value,
    .admin-light #tab-fidelidade .loyalty-summary-grid .stat-value {
        font-size: clamp(1.45rem, 7vw, 2rem) !important;
    }

    .admin-light .dashboard-mini-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-light .loyalty-panel,
    .admin-light #tab-relatorios .report-card {
        padding: 20px 16px;
    }

    .admin-light .data-table,
    .admin-light .services-table,
    .admin-light .marketing-leads-table {
        min-width: 560px;
    }

    .booking-body .booking-main {
        width: 100%;
        min-width: 0;
        padding: 24px 16px calc(34px + env(safe-area-inset-bottom));
    }

    .booking-body .step-container {
        width: 100%;
        max-width: none;
        margin-top: 64px;
    }

    .booking-body .step-header {
        margin-bottom: 22px;
        padding-bottom: 18px;
    }

    .booking-body .step-title {
        font-size: clamp(1.85rem, 9vw, 2.6rem);
        line-height: 1.08;
    }

    .booking-body .card-grid-custom {
        gap: 12px;
        margin-bottom: 24px;
    }

    .booking-body .service-card {
        min-height: 72px;
        padding: 14px;
        gap: 10px;
    }

    .booking-body .service-card-content {
        gap: 10px;
    }

    .booking-body .service-card-media,
    .booking-body .service-card-image {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .booking-body .service-card strong {
        font-size: 0.98rem;
    }

    .booking-body .service-card .price {
        flex: 0 0 auto;
        font-size: 0.9rem;
        white-space: nowrap;
    }

    .booking-body .details-layout {
        gap: 22px;
    }

    .booking-body .booking-date-options {
        gap: 4px;
    }

    .booking-body .booking-date-option {
        min-height: 62px;
        padding: 8px 2px;
    }

    .booking-body .booking-date-option .booking-date-weekday {
        font-size: 0.58rem;
    }

    .booking-body .booking-date-option strong {
        font-size: 1.05rem;
    }

    .booking-body .step-footer,
    .booking-body .step-footer-dual {
        display: flex;
        flex-direction: column-reverse;
        gap: 10px;
    }

    .booking-body .step-footer .btn,
    .booking-body .step-footer-dual .btn,
    .booking-body .btn-large {
        width: 100%;
        min-width: 0;
    }

    .booking-body .booking-entry-card {
        padding: 16px;
    }
}

@media (max-width: 430px) {
    .admin-light .dashboard-content {
        padding-inline: 12px;
    }

    .admin-light .dashboard-mini-metrics {
        gap: 8px;
    }

    .admin-light .dashboard-mini-metrics div {
        padding: 12px;
    }

    .landing-body .landing-nav a,
    .landing-body .landing-nav .nav-cta {
        padding-inline: 7px;
        font-size: 0.68rem;
    }

    .booking-body .booking-main {
        padding-inline: 12px;
    }

    .booking-body .step-title {
        font-size: 1.8rem;
    }

    .booking-body .service-card {
        padding-inline: 12px;
    }
}

/* Mobile login: keep the complete form inside the viewport and show the
   square Gestano mark when the promotional side is hidden. */
.admin-light .auth-mobile-brand {
    display: none;
}

@media (max-width: 1100px) {
    body.admin-light:has(#auth-view:not(.hidden)) {
        overflow: hidden;
    }

    .admin-light .auth-wrapper {
        width: 100%;
        height: 100svh;
        min-height: 100svh;
        max-height: 100svh;
        overflow: hidden;
    }

    .admin-light .auth-form-side {
        min-width: 0;
        min-height: 0;
        height: 100%;
        padding: 18px;
        overflow: hidden;
    }

    .admin-light .auth-form-container {
        display: flex;
        width: min(100%, 430px);
        max-width: 430px;
        min-height: 0;
        flex-direction: column;
        justify-content: center;
    }

    .admin-light .auth-mobile-brand {
        display: grid;
        place-items: center;
        width: 76px;
        height: 76px;
        margin: 0 auto 14px;
        padding: 8px;
        background: #ffffff;
        border: 1px solid var(--border);
        border-radius: 22px;
        box-shadow: 0 14px 30px rgba(27, 98, 60, 0.12);
    }

    .admin-light .auth-mobile-brand img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 14px;
    }

    .admin-light .auth-card-new {
        width: 100%;
        max-height: calc(100svh - 124px);
        padding: 24px 20px;
        overflow: hidden;
    }

    .admin-light .auth-card-new .auth-title {
        font-size: clamp(1.7rem, 7vw, 2.15rem);
        line-height: 1.08;
    }

    .admin-light .auth-card-new .auth-description {
        margin-bottom: 1.35rem;
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .admin-light .auth-card-new .input-group-new {
        margin-bottom: 12px;
    }

    .admin-light .auth-card-new .input-group-new input {
        min-height: 50px;
        font-size: 16px !important;
    }

    .admin-light .auth-card-new .btn-full {
        min-height: 50px;
        margin-top: 4px;
    }
}

@media (max-width: 430px) {
    .admin-light .auth-form-side {
        padding: 12px;
    }

    .admin-light .auth-mobile-brand {
        width: 68px;
        height: 68px;
        margin-bottom: 10px;
        border-radius: 20px;
    }

    .admin-light .auth-card-new {
        max-height: calc(100svh - 100px);
        padding: 20px 16px;
        border-radius: 18px;
    }

    .admin-light .auth-card-new .auth-title {
        font-size: 1.6rem;
    }
}

/*
   Focus visual reset
   Keep keyboard focus functional, but do not change the appearance of any
   text field, button or button-like control while it is focused. This block
   stays at the end of the theme so it also overrides screen and modal rules.
*/
html body :is(button, input, select, textarea, [role="button"], .btn-outline-premium):focus,
html body :is(button, input, select, textarea, [role="button"], .btn-outline-premium):focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
}

html body.admin-light .input-group-new input:focus,
html body.admin-light .input-group-new select:focus,
html body.admin-light textarea:focus,
html body.admin-light .glass-select:focus,
html body.admin-light #agenda-professional-filter:focus,
html body.admin-light .waitlist-form input:focus,
html body.admin-light .waitlist-form select:focus,
html body.admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):focus,
html body.admin-light select:focus,
html body.admin-light textarea:focus,
html body.admin-light #modal-expense textarea:focus,
html body.admin-light #modal-expense textarea:focus-visible,
html body.admin-light #modal-professional .professional-modal-content > .input-group-new input:focus {
    border-color: var(--border) !important;
    box-shadow: none !important;
}

html body.booking-body .custom-time-picker input:focus,
html body.booking-body .input-group-modern input:focus,
html body.booking-body #booking-date:focus {
    border-color: var(--border-bright) !important;
    border-bottom-color: var(--border-bright) !important;
    box-shadow: none !important;
}

html body.admin-light .queue-search:focus-within {
    border-color: var(--border) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Button-like cards and menu controls also keep their regular state on focus. */
html body.admin-light .admin-module-card:focus-visible,
html body.admin-light .dashboard-financial-toggle:focus-visible,
html body.admin-light .billing-goal-card:focus-visible {
    border-color: var(--border) !important;
    box-shadow: var(--shadow) !important;
    transform: none !important;
}

html body.admin-light .appointment-action-menu-item:focus-visible {
    background: transparent !important;
}

html body.admin-light .nav-group-title:not([aria-expanded="true"]):focus-visible {
    color: #527063 !important;
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
}

html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:focus-visible {
    background: #f7fcf9 !important;
    border-color: var(--border) !important;
    box-shadow: none !important;
}

html body.booking-body .booking-entry-card:focus-visible {
    background: linear-gradient(135deg, #ffffff 0%, #f3fcf7 100%) !important;
    border-color: #bfe7cf !important;
    box-shadow: 0 12px 28px rgba(21, 126, 76, 0.09) !important;
    transform: none !important;
}

html body.booking-body .booking-date-nav:focus-visible:not(:disabled) {
    background: transparent !important;
}

html body.booking-body .booking-date-option:not(.selected):focus-visible:not(:disabled) {
    background: rgba(255, 255, 255, 0.045) !important;
    border-color: transparent !important;
    transform: none !important;
}

/* Agenda workspace: establish a clear reading order and a useful desktop split. */
.admin-light .agenda-heading {
    align-items: center;
    margin-bottom: 22px;
    padding: 0;
    border-bottom: 0;
}

.admin-light .agenda-heading-copy {
    min-width: 0;
}

.admin-light .agenda-heading h2 {
    margin-top: 4px;
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    letter-spacing: -0.035em;
    text-transform: none;
}

.admin-light .agenda-heading p {
    max-width: 620px;
    margin-top: 8px;
    line-height: 1.55;
}

.admin-light .agenda-controls {
    padding: 10px 12px 12px;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(27, 98, 60, 0.06);
}

.admin-light .agenda-filter-control {
    display: grid;
    min-width: 230px;
    gap: 5px;
}

.admin-light .agenda-filter-control > span,
.admin-light .agenda-panel-kicker {
    color: var(--text-muted);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-light .agenda-filter-control select {
    min-width: 0;
}

.admin-light .agenda-summary {
    gap: 14px;
    margin-bottom: 18px;
}

.admin-light .agenda-summary-card {
    position: relative;
    min-height: 94px;
    overflow: hidden;
    background: #ffffff !important;
    border-color: var(--border) !important;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(27, 98, 60, 0.06) !important;
}

.admin-light .agenda-summary-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    content: "";
    background: var(--primary);
}

.admin-light .agenda-summary-card.is-pending::before {
    background: #e5a93d;
}

.admin-light .agenda-summary-card.is-completed::before {
    background: var(--success);
}

.admin-light .agenda-summary-card strong {
    color: var(--text-main);
}

.admin-light .agenda-summary-card.is-today strong {
    color: var(--primary-hover);
}

.admin-light .agenda-summary-card.is-pending strong {
    color: #b7791f;
}

.admin-light .agenda-summary-card.is-completed strong {
    color: var(--success);
}

.admin-light .agenda-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.72fr);
    align-items: start;
    gap: 18px;
}

.admin-light .agenda-calendar-panel {
    min-width: 0;
    padding: 20px !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px;
    box-shadow: var(--shadow) !important;
}

.admin-light .agenda-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.admin-light .agenda-panel-header h3 {
    margin-top: 4px;
    color: var(--text-main);
    font-family: 'Outfit', sans-serif;
    font-size: 1.12rem;
}

.admin-light .agenda-panel-header p {
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.admin-light .agenda-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 12px;
    padding-top: 4px;
}

.admin-light .agenda-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--text-muted);
    font-size: 0.7rem;
    white-space: nowrap;
}

.admin-light .agenda-legend-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary);
}

.admin-light .agenda-legend-dot.is-completed {
    background: var(--success);
}

.admin-light .agenda-legend-dot.is-canceled {
    background: var(--danger);
}

.admin-light .agenda-calendar-panel .agenda-calendar {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
}

.admin-light .agenda-calendar-panel .fc-header-toolbar {
    margin-bottom: 16px !important;
}

.admin-light .agenda-calendar-panel .fc-toolbar-title {
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 800;
}

.admin-light .agenda-calendar-panel .fc-toolbar-chunk {
    display: flex;
    align-items: center;
    gap: 6px;
}

.admin-light .agenda-workspace .waitlist-panel {
    min-width: 0;
    margin-top: 0 !important;
    padding: 20px !important;
    border-radius: 18px;
}

.admin-light .agenda-workspace .waitlist-panel .section-toolbar {
    margin-bottom: 0;
}

.admin-light .agenda-workspace .waitlist-panel .section-toolbar p {
    max-width: 310px;
}

.admin-light .agenda-workspace .waitlist-form {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 18px;
}

.admin-light .agenda-workspace .waitlist-form .btn {
    width: 100%;
}

.admin-light .waitlist-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.admin-light .waitlist-list-heading > span {
    color: var(--text-main);
    font-size: 0.76rem;
    font-weight: 800;
}

.admin-light .agenda-workspace .waitlist-list {
    max-height: 420px;
    overflow-y: auto;
    padding-right: 2px;
}

@media (max-width: 1100px) {
    .admin-light .agenda-workspace {
        grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
    }
}

@media (max-width: 960px) {
    .admin-light .agenda-workspace {
        grid-template-columns: 1fr;
    }

    .admin-light .agenda-workspace .waitlist-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-light .agenda-workspace .waitlist-form .btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .admin-light .agenda-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .admin-light .agenda-controls,
    .admin-light .agenda-filter-control,
    .admin-light .agenda-filter-control select {
        width: 100%;
        min-width: 0;
    }

    .admin-light .agenda-panel-header {
        flex-direction: column;
    }

    .admin-light .agenda-legend {
        justify-content: flex-start;
    }

    .admin-light .agenda-workspace .waitlist-form {
        grid-template-columns: 1fr;
    }

    .admin-light .agenda-workspace .waitlist-form .btn {
        grid-column: auto;
    }
}

/* Sidebar group icons: one consistent, crisp icon language. */
.admin-light .sidebar-nav-scroll nav .nav-group-label {
    gap: 10px;
}

.admin-light .sidebar-nav-scroll nav .nav-group-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    stroke-width: 1.9;
}

.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] .nav-group-icon {
    color: var(--primary-hover) !important;
}

.admin-light .sidebar-nav-scroll nav .nav-group-chevron::before {
    display: block;
    width: 7px;
    height: 7px;
    content: "";
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    font-size: 0;
    transform: rotate(45deg) translate(-1px, -1px);
    transition: transform 160ms ease;
}

.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] .nav-group-chevron::before {
    transform: rotate(225deg) translate(-1px, -1px);
}

@media (min-width: 1025px) {
    .admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-icon {
        width: 21px;
        height: 21px;
        flex-basis: 21px;
        stroke-width: 1.85;
    }
}

/* Client actions: use the WhatsApp brand mark and keep both actions inline. */
.admin-light #clients-table-shell .client-actions {
    display: flex !important;
    align-items: center;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
}

.admin-light #clients-table-shell .client-whatsapp-btn {
    display: grid !important;
    place-items: center;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    color: #168653 !important;
    background: #effaf4 !important;
    border: 1px solid #b9dfc6 !important;
    border-radius: 12px;
}

.admin-light #clients-table-shell .client-whatsapp-btn:hover {
    color: #ffffff !important;
    background: #20a96e !important;
    border-color: #20a96e !important;
}

.admin-light #clients-table-shell .client-whatsapp-btn svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.admin-light #clients-table-shell .client-delete-btn {
    flex: 0 0 44px;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    font-size: 1.25rem;
}

/* Landing refresh: stronger hierarchy, product-first composition and a true WhatsApp CTA. */
.landing-body {
    --landing-surface: #f7fbf8;
    --landing-card: #ffffff;
    --landing-ink: #16372a;
    --landing-muted: #667c70;
    --landing-line: #dbeae1;
    --landing-teal: #20b978;
    --landing-teal-dark: #0d8151;
    --landing-deep: #0d3527;
    background: var(--landing-surface) !important;
}

.landing-body .mesh-gradient {
    background:
        radial-gradient(circle at 8% 14%, rgba(32, 185, 120, 0.12), transparent 24%),
        radial-gradient(circle at 91% 10%, rgba(152, 224, 188, 0.19), transparent 25%),
        linear-gradient(180deg, #f8fcf9 0%, #f4faf6 62%, #ffffff 100%);
}

.landing-body .landing-container {
    width: min(100%, 1280px);
    max-width: 1280px;
    padding-inline: 36px;
}

.landing-body .landing-header {
    padding: 10px 0;
    background: rgba(250, 253, 251, 0.88);
    border-bottom: 1px solid rgba(22, 55, 42, 0.08);
    box-shadow: 0 8px 32px rgba(22, 55, 42, 0.045);
    backdrop-filter: blur(18px) saturate(130%);
}

.landing-body .landing-header .landing-container {
    min-height: 66px;
}

.landing-body .landing-nav {
    gap: 2px;
}

.landing-body .landing-nav a {
    padding: 11px 12px;
    color: #607568;
}

.landing-body .landing-nav .nav-plan {
    margin-left: 8px;
    border-radius: 12px;
}

.landing-body .nav-cta {
    min-height: 44px;
    margin-inline: 6px;
    padding: 11px 20px;
    border-radius: 12px;
    background: var(--landing-teal);
    box-shadow: 0 10px 24px rgba(32, 185, 120, 0.24);
}

.landing-body .hero-section {
    min-height: min(860px, 100vh);
    padding: 142px 0 92px;
    overflow: hidden;
}

.landing-body .hero-section::before {
    position: absolute;
    top: 126px;
    left: -170px;
    width: 440px;
    height: 440px;
    content: "";
    border: 1px solid rgba(32, 185, 120, 0.1);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(32, 185, 120, 0.025), 0 0 0 140px rgba(32, 185, 120, 0.018);
    pointer-events: none;
}

.landing-body .hero-section .landing-container {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
    align-items: center;
    gap: clamp(48px, 6vw, 86px);
}

.landing-body .hero-content {
    max-width: 600px;
    margin: 0;
    text-align: left;
}

.landing-body .hero-tagline {
    margin-bottom: 24px;
    padding: 9px 14px;
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(32, 185, 120, 0.22);
    box-shadow: 0 8px 24px rgba(17, 85, 56, 0.08);
}

.landing-body .hero-title {
    max-width: 610px;
    margin: 0 0 24px;
    font-size: clamp(3.35rem, 5.2vw, 4.9rem);
    line-height: 0.99;
    letter-spacing: -0.058em;
}

.landing-body .hero-title span {
    display: block;
    margin-top: 10px;
    color: var(--landing-teal);
}

.landing-body .hero-description {
    max-width: 560px;
    margin: 0 0 30px;
    font-size: 1.08rem;
    line-height: 1.72;
}

.landing-body .hero-actions {
    justify-content: flex-start;
}

.landing-body .btn-premium,
.landing-body .btn-outline-premium {
    min-height: 56px;
    padding: 14px 22px;
    border-radius: 14px;
}

.landing-body .btn-premium {
    gap: 12px;
}

.landing-body .btn-premium svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms ease;
}

.landing-body .btn-premium:hover svg {
    transform: translateX(3px);
}

.landing-body .hero-note {
    justify-content: flex-start;
    margin-top: 20px;
    gap: 10px 18px;
    font-size: 0.78rem;
}

.landing-body .hero-note span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.landing-body .hero-visual {
    width: 100%;
    max-width: none;
    margin: 0;
}

.landing-body .hero-dashboard {
    min-height: 520px;
    padding: 24px;
    border: 1px solid rgba(31, 143, 94, 0.18);
    border-radius: 28px;
    background:
        radial-gradient(circle at 98% 3%, rgba(32, 185, 120, 0.18), transparent 31%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(238, 248, 242, 0.96));
    box-shadow: 0 38px 90px rgba(27, 81, 56, 0.16), 0 12px 24px rgba(27, 81, 56, 0.07);
}

.landing-body .hero-dashboard::before {
    display: none;
}

.landing-body .hero-dashboard::after {
    background:
        linear-gradient(90deg, rgba(22, 55, 42, 0.04) 1px, transparent 1px),
        linear-gradient(rgba(22, 55, 42, 0.04) 1px, transparent 1px);
    background-size: 44px 44px;
    opacity: 0.52;
}

.landing-body .dashboard-topbar {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    padding: 0 2px 20px;
    border-bottom: 1px solid rgba(22, 55, 42, 0.09);
}

.landing-body .dashboard-window-dots {
    display: flex;
    gap: 6px;
}

.landing-body .dashboard-window-dots span {
    width: 8px;
    height: 8px;
    background: #c8d9cf;
}

.landing-body .dashboard-window-dots span:first-child {
    background: #64d39e;
}

.landing-body .dashboard-brand {
    display: flex;
    align-items: baseline;
    gap: 9px;
}

.landing-body .dashboard-brand strong {
    color: var(--landing-ink);
    font-family: 'Outfit', sans-serif;
    font-size: 1.04rem;
}

.landing-body .dashboard-brand small {
    color: var(--landing-muted);
    font-size: 0.68rem;
}

.landing-body .dashboard-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(32, 185, 120, 0.18);
    border-radius: 999px;
    color: var(--landing-teal-dark);
    background: rgba(255, 255, 255, 0.76);
    font-size: 0.67rem;
    font-weight: 800;
}

.landing-body .dashboard-live i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--landing-teal);
    box-shadow: 0 0 0 4px rgba(32, 185, 120, 0.12);
}

.landing-body .dashboard-metrics {
    gap: 10px;
}

.landing-body .dashboard-metrics div,
.landing-body .dashboard-list div {
    border-color: rgba(22, 55, 42, 0.08);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 8px 20px rgba(22, 55, 42, 0.04);
}

.landing-body .dashboard-chart {
    border-radius: 16px;
}

.landing-body .dashboard-list {
    gap: 8px;
}

.landing-body .hero-toast {
    left: -38px;
    top: 74px;
    min-width: 282px;
    border-radius: 16px;
    box-shadow: 0 22px 48px rgba(22, 55, 42, 0.18);
}

.landing-body .segments-section,
.landing-body .numbers-section,
.landing-body .features-section,
.landing-body .ai-section,
.landing-body .consultation-section,
.landing-body .faq-section {
    border-top: 0;
}

.landing-body .segments-section {
    padding: 88px 0;
    background: #ffffff;
}

.landing-body .section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 48px;
    margin-bottom: 38px;
}

.landing-body .section-heading > div {
    max-width: 660px;
}

.landing-body .section-heading-centered {
    display: block;
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.landing-body .section-heading .section-label {
    margin-bottom: 14px;
}

.landing-body .section-heading h2 {
    margin: 0;
    color: var(--landing-ink);
    font-family: 'Outfit', sans-serif;
    font-size: clamp(2.2rem, 4vw, 3.55rem);
    line-height: 1.05;
    letter-spacing: -0.045em;
}

.landing-body .section-heading p {
    max-width: 460px;
    margin: 0;
    color: var(--landing-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.landing-body .section-heading-centered p {
    max-width: 600px;
    margin: 16px auto 0;
}

.landing-body .segments-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.landing-body .segments-grid span {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 14px 18px 14px 50px;
    border-radius: 14px;
    color: #385b49;
    background: #f8fbf9;
    font-size: 0.88rem;
}

.landing-body .segments-grid span::before {
    position: absolute;
    left: 17px;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    content: "✓";
    border-radius: 7px;
    color: #ffffff;
    background: var(--landing-teal);
    font-size: 0.72rem;
    font-weight: 900;
}

.landing-body .numbers-section {
    padding: 112px 0;
    background: linear-gradient(180deg, #edf8f1, #f6fbf8);
}

.landing-body .numbers-grid {
    gap: 14px;
}

.landing-body .numbers-grid div {
    min-height: 270px;
    padding: 30px;
    border-color: rgba(22, 119, 75, 0.11);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(25, 75, 51, 0.055);
}

.landing-body .metric-index {
    display: block;
    margin-bottom: 44px;
    color: var(--landing-teal-dark);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.landing-body .numbers-grid strong {
    display: block;
    min-height: 58px;
    margin-bottom: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: clamp(2rem, 3vw, 2.7rem);
}

.landing-body .numbers-grid p {
    max-width: 330px;
    line-height: 1.7;
}

.landing-body .features-section {
    padding: 118px 0;
}

.landing-body .features-grid {
    gap: 14px;
}

.landing-body .feature-item {
    position: relative;
    min-height: 270px;
    padding: 28px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(22, 55, 42, 0.045);
}

.landing-body .feature-item::after {
    position: absolute;
    right: -38px;
    bottom: -46px;
    width: 120px;
    height: 120px;
    content: "";
    border: 22px solid rgba(32, 185, 120, 0.055);
    border-radius: 50%;
}

.landing-body .feature-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 34px;
    border: 1px solid rgba(32, 185, 120, 0.16);
    border-radius: 14px;
    color: var(--landing-teal-dark);
    background: #effaf4;
}

.landing-body .feature-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.landing-body .feature-item h3 {
    position: relative;
    z-index: 1;
    font-size: 1.32rem;
}

.landing-body .feature-item p {
    position: relative;
    z-index: 1;
}

.landing-body .ai-section {
    padding: 112px 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(32, 185, 120, 0.1), transparent 26%),
        #eef8f2;
}

.landing-body .ai-content {
    max-width: 800px;
    margin-bottom: 48px;
}

.landing-body .ai-grid {
    gap: 14px;
}

.landing-body .ai-grid div {
    position: relative;
    min-height: 214px;
    padding: 30px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 32px rgba(22, 55, 42, 0.05);
}

.landing-body .ai-card-number {
    display: block;
    margin-bottom: 36px;
    color: var(--landing-teal);
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
}

.landing-body .ai-grid h3 {
    margin-bottom: 10px;
}

.landing-body .consultation-section {
    padding: 92px 0;
    background: #ffffff;
}

.landing-body .consultation-section .landing-container {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    background:
        radial-gradient(circle at 84% 20%, rgba(79, 221, 153, 0.22), transparent 28%),
        linear-gradient(135deg, #0c3426 0%, #116443 100%);
    box-shadow: 0 28px 70px rgba(17, 73, 48, 0.18);
}

.landing-body .consultation-section .landing-container::before,
.landing-body .consultation-section .landing-container::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 50%;
}

.landing-body .consultation-section .landing-container::before {
    top: -190px;
    right: -80px;
    width: 430px;
    height: 430px;
}

.landing-body .consultation-section .landing-container::after {
    top: -130px;
    right: -20px;
    width: 310px;
    height: 310px;
}

.landing-body .consultation-content {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0 auto;
    padding: 86px 44px;
}

.landing-body .consultation-content h2 {
    color: #ffffff !important;
    font-size: clamp(2.6rem, 5vw, 4.5rem);
    line-height: 1.03;
}

.landing-body .consultation-content p {
    color: rgba(255, 255, 255, 0.76) !important;
    opacity: 1;
}

.landing-body .consultation-content .btn-premium {
    background: #ffffff !important;
    color: var(--landing-deep) !important;
    box-shadow: 0 14px 30px rgba(5, 32, 20, 0.24);
}

.landing-body .consultation-content .btn-premium:hover {
    background: #eafbf2 !important;
}

.landing-body .consultation-proof {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-top: 24px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.75rem;
}

.landing-body .consultation-proof span::before {
    margin-right: 7px;
    content: "✓";
    color: #75e1aa;
    font-weight: 900;
}

.landing-body .faq-section {
    padding: 112px 0 126px;
}

.landing-body .faq-list {
    max-width: 900px;
    padding: 0 26px;
    border: 1px solid var(--landing-line);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(22, 55, 42, 0.055);
}

.landing-body .faq-item:last-child {
    border-bottom: 0;
}

.landing-body .faq-question {
    min-height: 32px;
    font-size: 1.02rem;
}

.landing-footer {
    padding: 66px 0 32px;
    color: rgba(255, 255, 255, 0.72);
    background: #0b2d22;
}

.landing-footer .landing-container {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: end;
    gap: 44px;
}

.landing-footer-brand img {
    display: block;
    width: 150px;
    height: 54px;
    margin-bottom: 12px;
    object-fit: contain;
    object-position: left center;
    filter: brightness(0) invert(1);
}

.landing-footer-brand p {
    max-width: 380px;
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.65;
}

.landing-footer nav {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px 24px;
}

.landing-footer a {
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
}

.landing-footer a:hover {
    color: #ffffff;
}

.landing-footer-copy {
    grid-column: 1 / -1;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    color: rgba(255, 255, 255, 0.46);
    font-size: 0.72rem;
}

.landing-body .whatsapp-float {
    display: flex;
    align-items: center;
    gap: 11px;
    width: auto;
    min-width: 214px;
    height: 64px;
    padding: 8px 18px 8px 10px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 18px;
    color: #ffffff;
    background: #25d366;
    box-shadow: 0 18px 42px rgba(16, 108, 55, 0.3), 0 5px 12px rgba(16, 108, 55, 0.16);
    transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.landing-body .whatsapp-float::before,
.landing-body .whatsapp-float::after {
    display: none !important;
    content: none !important;
}

.landing-body .whatsapp-float:hover {
    background: #1ebe5d;
    box-shadow: 0 22px 48px rgba(16, 108, 55, 0.36), 0 7px 16px rgba(16, 108, 55, 0.2);
    transform: translateY(-3px);
}

.landing-body .whatsapp-float-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.16);
}

.landing-body .whatsapp-float-icon svg {
    width: 26px;
    height: 26px;
    fill: currentColor;
}

.landing-body .whatsapp-float-copy {
    display: grid;
    gap: 1px;
    text-align: left;
}

.landing-body .whatsapp-float-copy small {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.61rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.landing-body .whatsapp-float-copy strong {
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 800;
}

.landing-body .demo-chat {
    overflow: hidden;
    border: 1px solid rgba(7, 94, 84, 0.16);
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(13, 53, 39, 0.24);
}

.landing-body .demo-chat-header {
    background: #075e54;
}

.landing-body .demo-chat-form button,
.landing-body .demo-quick-reply {
    background: #25d366;
}

.landing-body .demo-chat-form input {
    border-color: #dce9e2;
}

@media (max-width: 1100px) {
    .landing-body .hero-section {
        min-height: auto;
        padding-bottom: 104px;
    }

    .landing-body .hero-section .landing-container {
        grid-template-columns: minmax(0, 1fr);
        gap: 68px;
    }

    .landing-body .hero-content {
        max-width: 780px;
        margin-inline: auto;
        text-align: center;
    }

    .landing-body .hero-title,
    .landing-body .hero-description {
        margin-inline: auto;
    }

    .landing-body .hero-actions,
    .landing-body .hero-note {
        justify-content: center;
    }

    .landing-body .hero-visual {
        max-width: 820px;
        margin-inline: auto;
    }
}

@media (max-width: 820px) {
    .landing-body .landing-container {
        padding-inline: 22px;
    }

    .landing-body .landing-header .landing-container {
        min-height: 58px;
    }

    .landing-body .section-heading {
        display: block;
        text-align: center;
    }

    .landing-body .section-heading p {
        margin: 16px auto 0;
    }

    .landing-body .segments-grid,
    .landing-body .features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .landing-body .numbers-grid,
    .landing-body .ai-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .landing-body .numbers-grid div,
    .landing-body .ai-grid div {
        min-height: 0;
    }

    .landing-body .metric-index,
    .landing-body .ai-card-number {
        margin-bottom: 22px;
    }

    .landing-footer .landing-container {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 30px;
    }

    .landing-footer nav {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .landing-body .landing-container {
        padding-inline: 18px;
    }

    .landing-body .landing-header {
        position: fixed;
        padding: 7px 0;
    }

    .landing-body .landing-header .landing-container {
        display: flex;
        max-width: none;
    }

    .landing-body .logo-landing .landing-wordmark {
        width: 122px;
        height: 52px;
    }

    .landing-body .landing-nav {
        flex: 0 0 auto;
    }

    .landing-body .nav-cta {
        max-width: none;
        min-height: 40px;
        margin: 0;
        padding: 9px 12px;
        font-size: 0.68rem;
    }

    .landing-body .hero-section {
        padding: 122px 0 76px;
    }

    .landing-body .hero-section .landing-container {
        gap: 48px;
    }

    .landing-body .hero-title {
        max-width: 390px;
        font-size: clamp(2.45rem, 12vw, 3.35rem);
        line-height: 1;
    }

    .landing-body .hero-description {
        font-size: 0.96rem;
        line-height: 1.62;
    }

    .landing-body .hero-actions {
        width: 100%;
    }

    .landing-body .hero-note {
        align-items: flex-start;
    }

    .landing-body .hero-dashboard {
        min-height: 408px;
        padding: 16px;
    }

    .landing-body .dashboard-topbar {
        grid-template-columns: auto 1fr;
    }

    .landing-body .dashboard-live {
        display: none;
    }

    .landing-body .dashboard-brand {
        justify-content: flex-end;
    }

    .landing-body .hero-toast {
        left: 10px;
        top: -22px;
        width: calc(100% - 20px);
    }

    .landing-body .section-heading h2 {
        font-size: clamp(2rem, 10vw, 2.7rem);
    }

    .landing-body .segments-grid,
    .landing-body .features-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .landing-body .segments-section,
    .landing-body .numbers-section,
    .landing-body .features-section,
    .landing-body .ai-section,
    .landing-body .consultation-section,
    .landing-body .faq-section {
        padding-block: 78px;
    }

    .landing-body .feature-item {
        min-height: 238px;
    }

    .landing-body .consultation-section {
        padding-inline: 10px;
    }

    .landing-body .consultation-section .landing-container {
        padding-inline: 20px;
        border-radius: 26px;
    }

    .landing-body .consultation-content {
        padding: 70px 0;
    }

    .landing-body .consultation-content h2 {
        font-size: clamp(2.25rem, 11vw, 3.25rem);
    }

    .landing-body .consultation-proof {
        flex-direction: column;
        align-items: center;
    }

    .landing-body .faq-list {
        padding-inline: 18px;
        border-radius: 20px;
    }

    .landing-footer {
        padding-bottom: 96px;
    }

    .landing-footer nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landing-body .whatsapp-float {
        right: 16px;
        bottom: 16px;
        width: 58px;
        min-width: 58px;
        height: 58px;
        padding: 7px;
        border-radius: 18px;
    }

    .landing-body .whatsapp-float-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .landing-body .whatsapp-float-copy {
        display: none;
    }
}

/* Compact the sidebar brand area so navigation starts higher on the page. */
.admin-light .sidebar:not(.collapsed) {
    padding-top: 12px;
}

.admin-light .sidebar:not(.collapsed) .sidebar-header {
    min-height: 0;
    margin-bottom: 6px;
    padding: 0 0 10px !important;
}

.admin-light .sidebar:not(.collapsed) .logo-wordmark-expanded {
    width: 174px;
    height: 66px;
    object-fit: cover;
}

/* Landing motion refinement: calmer hero, smooth anchors and restrained text zoom. */
html:has(body.landing-body) {
    scroll-behavior: smooth;
    scroll-padding-top: 88px;
}

.landing-body {
    overscroll-behavior-y: none;
}

.landing-body section[id] {
    scroll-margin-top: 88px;
}

.landing-body .hero-section {
    min-height: min(800px, 100vh);
    padding: 136px 0 82px;
}

.landing-body .hero-section::before {
    top: 154px;
    left: -132px;
    width: 360px;
    height: 360px;
    border-color: rgba(21, 143, 89, 0.065);
    box-shadow: 0 0 0 58px rgba(32, 185, 120, 0.018), 0 0 0 116px rgba(32, 185, 120, 0.012);
}

.landing-body .hero-content {
    max-width: 620px;
    animation: none;
}

.landing-body .hero-content > .hero-tagline {
    margin-bottom: 22px;
    padding: 8px 13px;
    border-color: rgba(21, 143, 89, 0.16);
    box-shadow: 0 6px 18px rgba(17, 85, 56, 0.045);
    font-size: 0.7rem;
    letter-spacing: 0.075em;
    animation: landing-soft-zoom 0.62s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .hero-title {
    max-width: 640px;
    margin-bottom: 22px;
    font-size: clamp(3rem, 4.55vw, 4.25rem);
    line-height: 1.035;
    letter-spacing: -0.05em;
    animation: landing-soft-zoom 0.76s 80ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .hero-title span {
    margin-top: 7px;
    color: #169a61;
}

.landing-body .hero-description {
    max-width: 540px;
    margin-bottom: 28px;
    color: #6c8075;
    font-size: 1.02rem;
    animation: landing-soft-rise 0.7s 160ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .hero-actions {
    animation: landing-soft-rise 0.7s 230ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .hero-note {
    animation: landing-soft-rise 0.7s 300ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .reveal-on-scroll.reveal-zoom {
    opacity: 0;
    transform: translateY(14px) scale(0.955);
    transform-origin: center center;
    transition:
        opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.82s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

.landing-body .reveal-on-scroll.reveal-lift {
    opacity: 0;
    transform: translateY(22px) scale(0.985);
}

.landing-body .reveal-on-scroll.reveal-zoom.is-visible,
.landing-body .reveal-on-scroll.reveal-lift.is-visible {
    opacity: 1;
    transform: none;
}

@keyframes landing-soft-zoom {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.965);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes landing-soft-rise {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 1100px) {
    .landing-body .hero-title {
        max-width: 720px;
        font-size: clamp(2.7rem, 6vw, 3.55rem);
        line-height: 1.04;
    }

    .landing-body .hero-title span {
        margin-top: 5px;
    }
}

@media (max-width: 640px) {
    html:has(body.landing-body) {
        scroll-padding-top: 76px;
    }

    .landing-body section[id] {
        scroll-margin-top: 76px;
    }

    .landing-body .hero-section {
        padding-top: 116px;
    }

    .landing-body .hero-title {
        max-width: 360px;
        font-size: clamp(2.15rem, 10vw, 2.75rem);
        line-height: 1.04;
        letter-spacing: -0.045em;
    }

    .landing-body .hero-content > .hero-tagline {
        max-width: 330px;
        font-size: 0.57rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:has(body.landing-body) {
        scroll-behavior: auto;
    }

    .landing-body .hero-content > *,
    .landing-body .reveal-on-scroll {
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
    }
}

/* Final admin palette lock: keep every late legacy rule inside the reference palette. */
.admin-light {
    --bg-dark: #f7f6f3;
    --bg-card: #ffffff;
    --bg-sidebar: #101116;
    --primary: #1aa78f;
    --primary-hover: #138b78;
    --accent: #178f7c;
    --text-main: #172033;
    --text-muted: #667085;
    --border: #e4e2dd;
    --border-bright: #d4d1ca;
    --success: #1aa78f;
    --shadow: 0 8px 24px rgba(23, 32, 51, 0.065);
    color: #172033 !important;
    background: #f7f6f3 !important;
    background-image: none !important;
}

.admin-light #admin-view,
.admin-light .dashboard-wrapper,
.admin-light .dashboard-content {
    background: #f7f6f3 !important;
    background-image: none !important;
}

.admin-light .sidebar {
    background: #101116 !important;
    border-right-color: #252832 !important;
    box-shadow: 8px 0 28px rgba(16, 17, 22, 0.14) !important;
}

.admin-light .sidebar-header,
.admin-light .sidebar-footer {
    border-color: #292c35 !important;
    background: #101116 !important;
}

.admin-light .sidebar .logo-wordmark-expanded {
    filter: brightness(0) invert(1);
}

.admin-light .sidebar-nav-scroll nav .nav-group-title,
.admin-light .sidebar .nav-item {
    color: #aeb4c0 !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.admin-light .sidebar-nav-scroll nav .nav-group-title:hover,
.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"],
.admin-light .sidebar .nav-item:hover {
    color: #ffffff !important;
    background: #1b1d24 !important;
    border-color: #292c35 !important;
    box-shadow: none !important;
}

.admin-light .sidebar .nav-item.active {
    color: #ffffff !important;
    background: #292b32 !important;
    border-color: #30333d !important;
    box-shadow: none !important;
}

.admin-light .sidebar .nav-item.active svg,
.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] .nav-group-icon {
    color: #4dc8b4 !important;
}

.admin-light .sidebar-nav-scroll nav .nav-group-chevron,
.admin-light .sidebar-nav-scroll nav .nav-group-chevron::before {
    color: #7f8795 !important;
}

.admin-light .sidebar-footer .nav-item:first-child {
    color: #53cbb8 !important;
}

.admin-light .sidebar-footer .nav-item:last-child {
    color: #f07a84 !important;
}

.admin-light .mobile-menu-button {
    background: #101116 !important;
    border-color: #292c35 !important;
    box-shadow: 0 8px 22px rgba(16, 17, 22, 0.2) !important;
}

.admin-light .mobile-menu-button span {
    background: #ffffff !important;
}

.admin-light .sidebar-scrim {
    background: rgba(16, 17, 22, 0.5) !important;
}

.admin-light .glass:not(.sidebar),
.admin-light .stat-card,
.admin-light .professional-card,
.admin-light .inventory-card,
.admin-light .billing-chart-container,
.admin-light .admin-user-form,
.admin-light .dashboard-insight-card,
.admin-light .waitlist-panel,
.admin-light .cash-register-panel,
.admin-light .report-card,
.admin-light .loyalty-panel,
.admin-light .admin-module-card,
.admin-light .settings-section,
.admin-light .agenda-summary-card,
.admin-light .agenda-calendar,
.admin-light .queue-main-panel,
.admin-light .queue-side-panel {
    color: #172033 !important;
    background: #ffffff !important;
    border-color: #e4e2dd !important;
    box-shadow: 0 6px 20px rgba(23, 32, 51, 0.055) !important;
}

.admin-light .glass:not(.sidebar):hover,
.admin-light .stat-card:hover,
.admin-light .professional-card:hover,
.admin-light .inventory-card:hover,
.admin-light .admin-module-card:hover {
    border-color: #cfcbc4 !important;
    box-shadow: 0 10px 28px rgba(23, 32, 51, 0.085) !important;
}

.admin-light .dashboard-title,
.admin-light .list-header h2,
.admin-light .queue-header h2,
.admin-light .page-header h2,
.admin-light .section-toolbar h3,
.admin-light .modal-title,
.admin-light .stat-value,
.admin-light .inventory-card-title,
.admin-light .prof-card-info h3 {
    color: #172033 !important;
}

.admin-light #current-date,
.admin-light .page-eyebrow,
.admin-light .admin-panel-kicker,
.admin-light .admin-form-eyebrow,
.admin-light .stat-label,
.admin-light .dashboard-date-line,
.admin-light .dashboard-stat-caption,
.admin-light .section-toolbar p {
    color: #667085 !important;
}

.admin-light .stat-card::before,
.admin-light .admin-security-dot {
    background: #1aa78f !important;
}

.admin-light .admin-security-dot {
    box-shadow: 0 0 0 4px rgba(26, 167, 143, 0.13) !important;
}

.admin-light .booking-style-preview i,
.admin-light .booking-style-preview b,
.admin-light .booking-style-preview em {
    background: #1aa78f !important;
}

.admin-light .dashboard-chart span {
    background: linear-gradient(180deg, #1aa78f, rgba(26, 167, 143, 0.18)) !important;
}

.admin-light .dashboard-insight-icon,
.admin-light .admin-module-icon,
.admin-light .settings-icon,
.admin-light .report-icon {
    color: #148b77 !important;
    background: #eaf6f3 !important;
    border-color: #c9e4de !important;
}

.admin-light .dashboard-mini-metrics div,
.admin-light .report-breakdown-row,
.admin-light .cash-summary-item,
.admin-light .settings-row,
.admin-light .permission-option,
.admin-light .account-status-control {
    color: #273246 !important;
    background: #faf9f7 !important;
    border-color: #e7e4df !important;
}

.admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
.admin-light select,
.admin-light textarea,
.admin-light .glass-select {
    color: #172033 !important;
    background: #ffffff !important;
    border-color: #ddd9d2 !important;
    box-shadow: none !important;
    color-scheme: light !important;
}

.admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):hover,
.admin-light input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):focus,
.admin-light select:hover,
.admin-light select:focus,
.admin-light textarea:hover,
.admin-light textarea:focus {
    background: #ffffff !important;
    border-color: #c8c4bd !important;
    box-shadow: none !important;
    outline: none !important;
}

.admin-light input::placeholder,
.admin-light textarea::placeholder {
    color: #98a2b3 !important;
}

.admin-light select option {
    color: #172033 !important;
    background: #ffffff !important;
}

.admin-light .queue-search:focus-within {
    background: #ffffff !important;
    border-color: #c8c4bd !important;
    box-shadow: none !important;
    transform: none;
}

.admin-light .btn-primary,
.admin-light .btn-confirm-appointment,
.admin-light .action-btns .btn-primary,
.admin-light .waitlist-form .btn-primary,
.admin-light .whatsapp-confirm-action {
    color: #ffffff !important;
    background: #1aa78f !important;
    border-color: #1aa78f !important;
    box-shadow: 0 8px 18px rgba(26, 167, 143, 0.2) !important;
}

.admin-light .btn-primary:hover,
.admin-light .btn-confirm-appointment:hover,
.admin-light .action-btns .btn-primary:hover,
.admin-light .waitlist-form .btn-primary:hover,
.admin-light .whatsapp-confirm-action:hover {
    background: #138b78 !important;
    border-color: #138b78 !important;
}

.admin-light .btn-ghost,
.admin-light .btn-outline,
.admin-light .filter-btn,
.admin-light .period-filter-btn {
    color: #273246 !important;
    background: #ffffff !important;
    border-color: #ddd9d2 !important;
    box-shadow: 0 2px 7px rgba(23, 32, 51, 0.045) !important;
}

.admin-light .btn-ghost:hover,
.admin-light .btn-outline:hover,
.admin-light .filter-btn:hover,
.admin-light .period-filter-btn:hover,
.admin-light .filter-btn.active,
.admin-light .period-filter-btn.active {
    color: #117b69 !important;
    background: #edf7f5 !important;
    border-color: #b9ddd6 !important;
}

.admin-light .data-table-container,
.admin-light .table-responsive,
.admin-light .sales-history-container,
.admin-light #clients-table-shell {
    background: #ffffff !important;
    border-color: #e4e2dd !important;
    box-shadow: 0 5px 18px rgba(23, 32, 51, 0.05) !important;
}

.admin-light .data-table,
.admin-light .data-table tbody,
.admin-light .data-table tr,
.admin-light .data-table td {
    color: #273246 !important;
    background-color: #ffffff !important;
    border-color: #ebe8e3 !important;
}

.admin-light .data-table thead,
.admin-light .data-table th {
    color: #596477 !important;
    background: #f5f4f1 !important;
    border-color: #e4e2dd !important;
}

.admin-light .data-table tbody tr:hover td {
    background: #faf9f7 !important;
}

.admin-light .appointment-item,
.admin-light .waitlist-item,
.admin-light .booking-block-item,
.admin-light .dashboard-professional-row {
    background: #ffffff !important;
    border-color: #e4e2dd !important;
    box-shadow: none !important;
}

.admin-light .badge,
.admin-light .svc-tag,
.admin-light .qty-badge,
.admin-light .client-paid-badge,
.admin-light .loyalty-points-pill,
.admin-light .appointment-status-chip.status-confirmed,
.admin-light .appointment-status-chip.status-completed,
.admin-light .marketing-lead-status.contacted,
.admin-light .admin-security-badge {
    color: #117b69 !important;
    background: #e8f6f3 !important;
    border-color: #b9ddd6 !important;
}

.admin-light .client-return-badge,
.admin-light .status-new,
.admin-light .marketing-lead-status.new {
    color: #148b77 !important;
    background: #edf7f5 !important;
    border-color: #c9e4de !important;
}

.admin-light a,
.admin-light .text-link,
.admin-light .client-name-link,
.admin-light .dashboard-professional-row strong {
    color: #148b77;
}

.admin-light .agenda-calendar {
    --fc-page-bg-color: #ffffff;
    --fc-neutral-bg-color: #f5f4f1;
    --fc-border-color: #e4e2dd;
    --fc-button-bg-color: #1aa78f;
    --fc-button-border-color: #1aa78f;
    --fc-button-hover-bg-color: #138b78;
    --fc-button-hover-border-color: #138b78;
    --fc-button-active-bg-color: #117b69;
    --fc-button-active-border-color: #117b69;
    color: #172033 !important;
    background: #ffffff !important;
}

.admin-light .fc .fc-col-header-cell,
.admin-light .fc .fc-daygrid-day,
.admin-light .fc .fc-scrollgrid-section-body table {
    background: #ffffff !important;
}

.admin-light .fc .fc-day-today {
    background: #edf7f5 !important;
}

.admin-light .modal-overlay {
    background: rgba(16, 17, 22, 0.5) !important;
    backdrop-filter: blur(8px);
}

.admin-light .modal-content,
.admin-light .expense-modal-content,
.admin-light .sale-modal-content,
.admin-light .professional-modal-content,
.admin-light .inventory-modal-content,
.admin-light .client-details-content {
    color: #172033 !important;
    background: #ffffff !important;
    border-color: #e4e2dd !important;
    box-shadow: 0 24px 70px rgba(16, 17, 22, 0.2) !important;
}

.admin-light .modal-header,
.admin-light .modal-footer,
.admin-light .expense-modal-footer,
.admin-light .sale-modal-footer {
    border-color: #e4e2dd !important;
}

.admin-light .navigation-loader-mark::before {
    border-top-color: #1aa78f !important;
    border-right-color: rgba(26, 167, 143, 0.64) !important;
}

.admin-light #modal-inventory .inventory-modal-content > .btn-full {
    box-shadow: 0 9px 20px rgba(26, 167, 143, 0.2) !important;
}

.admin-light .auth-visual-side {
    background: #101116 !important;
    border-right-color: #252832 !important;
}

.admin-light .auth-visual-overlay {
    background-image: radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px) !important;
}

.admin-light .auth-visual-side .logo-wordmark-auth {
    filter: brightness(0) invert(1);
}

.admin-light .auth-visual-side .auth-hero-text {
    color: #ffffff !important;
}

.admin-light .auth-visual-side .auth-eyebrow {
    color: #53cbb8 !important;
}

.admin-light .auth-visual-side .auth-subtext {
    color: #aeb4c0 !important;
}

.admin-light .auth-form-side {
    background: #f7f6f3 !important;
}

.admin-light .auth-card-new {
    color: #172033 !important;
    background: #ffffff !important;
    border-color: #e4e2dd !important;
    box-shadow: 0 18px 48px rgba(23, 32, 51, 0.09) !important;
}

/* Refined collapsed sidebar: graphite surfaces with a restrained mint accent. */
@media (min-width: 1025px) {
    html body.admin-light .sidebar.collapsed {
        width: 82px;
        padding: 14px 7px 12px;
        border-right: 1px solid #27313b !important;
        border-radius: 0 14px 14px 0;
        background: linear-gradient(180deg, #0d1117 0%, #111820 100%) !important;
        box-shadow: 10px 0 28px rgba(12, 17, 24, 0.16) !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-header {
        width: 100%;
        margin-bottom: 12px;
        padding: 0 0 13px !important;
        border-bottom: 1px solid #27313b;
    }

    html body.admin-light .sidebar.collapsed .logo {
        min-height: 62px;
    }

    html body.admin-light .sidebar.collapsed .logo-icon-collapsed {
        width: 54px;
        height: 54px;
        object-fit: contain;
        filter: none;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll {
        width: 100%;
        padding: 0 1px;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav {
        gap: 7px;
        padding: 0;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item {
        width: 100%;
        min-width: 0;
        min-height: 48px;
        margin: 0;
        padding: 0;
        border: 1px solid transparent !important;
        border-radius: 12px;
        background: transparent !important;
        box-shadow: none !important;
        color: #82909e !important;
        transform: none !important;
        transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-label,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item {
        justify-content: center;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-icon,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item svg {
        width: 21px;
        height: 21px;
        margin: 0;
        color: #82909e !important;
        stroke-width: 1.8;
        transition: color 160ms ease;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:hover,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:focus-visible,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item:hover,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item:focus-visible {
        border-color: #2c4149 !important;
        background: #18242d !important;
        color: #a5b5c2 !important;
        outline: none !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:hover .nav-group-icon,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title:focus-visible .nav-group-icon,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item:hover svg,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item:focus-visible svg {
        color: #79d9bc !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"],
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item.active {
        border-color: #31564f !important;
        background: #1c302f !important;
        color: #b2efdd !important;
        box-shadow: inset 3px 0 0 #5fd3b2 !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] .nav-group-icon,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-item.active svg {
        color: #67d8b8 !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-group-chevron,
    html body.admin-light .sidebar.collapsed .sidebar-nav-scroll nav .nav-text {
        display: none !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-footer {
        width: 100%;
        gap: 7px;
        padding: 12px 1px 0;
        border-top: 1px solid #27313b !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-footer .nav-item {
        min-height: 46px;
        border-radius: 12px;
    }

    html body.admin-light .sidebar.collapsed .sidebar-footer .nav-item:first-child,
    html body.admin-light .sidebar.collapsed .sidebar-footer .nav-item:first-child svg {
        color: #62dabb !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-footer .nav-item:last-child,
    html body.admin-light .sidebar.collapsed .sidebar-footer .nav-item:last-child svg {
        color: #ff8797 !important;
    }

    html body.admin-light .sidebar.collapsed .sidebar-footer .nav-item:hover:first-child,
    html body.admin-light .sidebar.collapsed .sidebar-footer .nav-item:hover:last-child {
        background: #18242d !important;
    }
}

/* Dashboard home: keep the queue as the primary focus and remove the KPI blocks. */
.admin-light #tab-home > .stat-grid,
.admin-light #tab-home > .dashboard-analytics-grid {
    display: none !important;
}

/* Planifai-inspired landing: quiet hierarchy, generous spacing and product-led visuals. */
.landing-body {
    --landing-ink: #132c24;
    --landing-muted: #687b74;
    --landing-green: #18a879;
    --landing-green-dark: #0d805b;
    --landing-mint: #e9f7f1;
    --landing-line: #dfeae5;
    --landing-warm: #faf9f6;
    color: var(--landing-ink);
    background: #ffffff;
}

.landing-body .mesh-gradient {
    position: fixed;
    inset: 0;
    z-index: -1;
    background: #ffffff;
}

.landing-body .landing-container {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
    padding-inline: 0;
}

.landing-body .landing-header {
    padding: 12px 0;
    border-bottom: 1px solid rgba(19, 44, 36, 0.07);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
    backdrop-filter: blur(18px);
}

.landing-body .landing-header .landing-container {
    min-height: 58px;
}

.landing-body .logo-landing .landing-wordmark {
    width: 138px;
    height: 52px;
    object-fit: cover;
}

.landing-body .landing-nav {
    gap: 28px;
}

.landing-body .landing-nav a {
    color: #53665f;
    font-size: 0.82rem;
    font-weight: 600;
}

.landing-body .landing-nav a:hover,
.landing-body .landing-nav .nav-login:hover {
    color: var(--landing-green-dark);
}

.landing-body .landing-nav .nav-login {
    color: var(--landing-ink);
    font-weight: 700;
}

.landing-body .nav-cta {
    min-height: 44px;
    padding: 12px 20px;
    border: 0;
    border-radius: 10px;
    background: var(--landing-green);
    box-shadow: none;
    color: #fff;
    font-size: 0.76rem;
    font-weight: 750;
}

.landing-body .nav-cta:hover {
    background: var(--landing-green-dark);
    box-shadow: 0 10px 24px rgba(24, 168, 121, 0.18);
    transform: translateY(-1px);
}

.landing-body .hero-section {
    min-height: 760px;
    padding: 154px 0 96px;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 28%, rgba(24, 168, 121, 0.105), transparent 31%),
        linear-gradient(180deg, #fbfdfc 0%, #f6fbf8 100%);
}

.landing-body .hero-section::before {
    top: 145px;
    left: -260px;
    width: 520px;
    height: 520px;
    border-color: rgba(24, 168, 121, 0.055);
    box-shadow: 0 0 0 78px rgba(24, 168, 121, 0.017), 0 0 0 156px rgba(24, 168, 121, 0.012);
}

.landing-body .hero-section .landing-container {
    grid-template-columns: minmax(0, 0.92fr) minmax(510px, 1.08fr);
    align-items: center;
    gap: 68px;
}

.landing-body .hero-content {
    max-width: 570px;
}

.landing-body .hero-content > .hero-tagline {
    margin-bottom: 24px;
    padding: 9px 14px;
    border: 1px solid #cae9dd;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: none;
    color: var(--landing-green-dark);
}

.landing-body .hero-content > .hero-tagline i {
    width: 7px;
    height: 7px;
    background: var(--landing-green);
    box-shadow: none;
}

.landing-body .hero-title {
    max-width: 570px;
    margin-bottom: 24px;
    color: var(--landing-ink);
    font-size: clamp(3.25rem, 5vw, 4.75rem);
    line-height: 0.99;
    letter-spacing: -0.062em;
}

.landing-body .hero-title span {
    display: block;
    margin-top: 7px;
    color: var(--landing-green);
}

.landing-body .hero-description {
    max-width: 520px;
    margin-bottom: 30px;
    color: var(--landing-muted);
    font-size: 1.03rem;
    line-height: 1.72;
}

.landing-body .hero-actions {
    margin-bottom: 23px;
}

.landing-body .btn-premium {
    min-height: 55px;
    padding: 15px 22px;
    border: 0;
    border-radius: 11px;
    background: var(--landing-green);
    box-shadow: 0 10px 24px rgba(24, 168, 121, 0.17);
}

.landing-body .btn-premium:hover {
    background: var(--landing-green-dark);
    box-shadow: 0 14px 28px rgba(13, 128, 91, 0.2);
    transform: translateY(-2px);
}

.landing-body .hero-note {
    gap: 18px;
}

.landing-body .hero-note span {
    position: relative;
    padding-left: 15px;
    color: #71827b;
    font-size: 0.7rem;
    font-weight: 650;
}

.landing-body .hero-note span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--landing-green);
    transform: translateY(-50%);
}

.landing-body .hero-visual {
    position: relative;
    min-height: 570px;
    animation: landing-soft-rise 0.8s 180ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.landing-body .hero-product {
    position: absolute;
    top: 20px;
    left: 0;
    width: 690px;
    overflow: hidden;
    border: 1px solid rgba(19, 44, 36, 0.12);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 32px 80px rgba(28, 70, 55, 0.16);
    transform: perspective(1200px) rotateY(-4deg) rotateX(1deg);
    transform-origin: left center;
}

.landing-body .product-browser-bar {
    display: grid;
    grid-template-columns: 68px 1fr 68px;
    align-items: center;
    min-height: 44px;
    padding: 0 14px;
    border-bottom: 1px solid #e7ece9;
    background: #f8f9f8;
}

.landing-body .product-browser-bar > span {
    color: #89968f;
    font-size: 0.58rem;
    text-align: center;
}

.landing-body .dashboard-window-dots span {
    width: 7px;
    height: 7px;
    box-shadow: none;
}

.landing-body .product-app-shell {
    display: grid;
    grid-template-columns: 58px 1fr;
    min-height: 482px;
}

.landing-body .product-sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    padding: 20px 13px;
    background: #11151a;
}

.landing-body .product-sidebar img,
.landing-body .control-dashboard-body aside img {
    width: 28px;
    height: 28px;
    margin-bottom: 8px;
    object-fit: contain;
}

.landing-body .product-sidebar i {
    width: 18px;
    height: 18px;
    border: 1px solid #697079;
    border-radius: 5px;
    opacity: 0.55;
}

.landing-body .product-sidebar i.active {
    border-color: var(--landing-green);
    background: var(--landing-green);
    opacity: 1;
}

.landing-body .product-agenda {
    padding: 26px 28px;
    background: #fbfbfa;
}

.landing-body .product-agenda-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.landing-body .product-agenda-header div {
    display: grid;
    gap: 5px;
}

.landing-body .product-agenda-header small {
    color: var(--landing-green-dark);
    font-size: 0.62rem;
    font-weight: 750;
    text-transform: uppercase;
}

.landing-body .product-agenda-header strong {
    color: #202b27;
    font-size: 1.05rem;
}

.landing-body .product-agenda-header button {
    padding: 9px 13px;
    border: 0;
    border-radius: 8px;
    background: var(--landing-green);
    color: #fff;
    font: inherit;
    font-size: 0.62rem;
    font-weight: 700;
}

.landing-body .product-days {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 18px;
}

.landing-body .product-days span {
    display: grid;
    gap: 4px;
    place-items: center;
    min-height: 58px;
    border: 1px solid #e2e8e4;
    border-radius: 8px;
    background: #fff;
    color: #35443e;
    font-size: 0.7rem;
    font-weight: 750;
}

.landing-body .product-days span small {
    color: #93a099;
    font-size: 0.48rem;
}

.landing-body .product-days span.active {
    border-color: var(--landing-green);
    background: var(--landing-green);
    color: #fff;
}

.landing-body .product-days span.active small {
    color: rgba(255, 255, 255, 0.75);
}

.landing-body .product-schedule {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 10px;
    align-items: center;
}

.landing-body .schedule-time {
    color: #89968f;
    font-size: 0.56rem;
    font-weight: 700;
}

.landing-body .schedule-card {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-left: 3px solid var(--landing-green);
    border-radius: 7px;
    background: #ebf8f2;
}

.landing-body .schedule-card.sand {
    border-color: #c89d68;
    background: #f7f1e9;
}

.landing-body .schedule-card.pale {
    border: 1px dashed #cbd8d2;
    background: transparent;
}

.landing-body .schedule-card strong {
    color: #26342f;
    font-size: 0.65rem;
}

.landing-body .schedule-card small {
    color: #77877f;
    font-size: 0.53rem;
}

.landing-body .hero-toast {
    top: auto;
    right: auto;
    bottom: 10px;
    left: -36px;
    z-index: 2;
    width: 255px;
    grid-template-columns: 38px 1fr;
    padding: 14px;
    border-color: #dce9e3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(25, 62, 49, 0.16);
    transform: none;
}

.landing-body .hero-toast > span {
    grid-row: 1 / 3;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    background: var(--landing-mint);
    color: var(--landing-green-dark);
    font-size: 0.9rem;
}

.landing-body .hero-toast small {
    color: #819088;
    font-size: 0.55rem;
}

.landing-body .hero-toast strong {
    font-size: 0.61rem;
}

.landing-body .trust-strip {
    border-top: 1px solid var(--landing-line);
    border-bottom: 1px solid var(--landing-line);
    background: #fff;
}

.landing-body .trust-strip .landing-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 96px;
}

.landing-body .trust-strip span {
    position: relative;
    display: grid;
    place-items: center;
    color: #596b64;
    font-size: 0.76rem;
    font-weight: 700;
}

.landing-body .trust-strip span:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 30%;
    right: 0;
    width: 1px;
    height: 40%;
    background: var(--landing-line);
}

.landing-body .booking-section {
    padding: 130px 0;
    overflow: hidden;
    background: #fff;
}

.landing-body .booking-section .landing-container {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(430px, 1.12fr);
    align-items: center;
    gap: 100px;
}

.landing-body .section-label {
    color: var(--landing-green-dark);
}

.landing-body .booking-copy h2,
.landing-body .control-copy h2 {
    margin: 16px 0 22px;
    color: var(--landing-ink);
    font-size: clamp(2.55rem, 4vw, 4rem);
    line-height: 1.04;
    letter-spacing: -0.052em;
}

.landing-body .booking-copy > p,
.landing-body .control-copy > p {
    color: var(--landing-muted);
    font-size: 1rem;
    line-height: 1.72;
}

.landing-body .landing-checklist {
    display: grid;
    gap: 14px;
    margin: 28px 0;
    padding: 0;
    list-style: none;
}

.landing-body .landing-checklist li {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #3d5048;
    font-size: 0.86rem;
    font-weight: 650;
}

.landing-body .landing-checklist li span {
    display: grid;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    place-items: center;
    border-radius: 50%;
    background: var(--landing-mint);
    color: var(--landing-green-dark);
    font-size: 0.68rem;
}

.landing-body .section-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--landing-green-dark);
    font-size: 0.82rem;
    font-weight: 800;
}

.landing-body .section-text-link:hover span {
    transform: translateX(4px);
}

.landing-body .section-text-link span {
    transition: transform 0.2s ease;
}

.landing-body .booking-visual {
    position: relative;
    display: grid;
    min-height: 600px;
    place-items: center;
    border-radius: 46% 54% 49% 51% / 42% 45% 55% 58%;
    background: #edf8f3;
}

.landing-body .booking-orbit {
    position: absolute;
    border: 1px solid rgba(24, 168, 121, 0.13);
    border-radius: 50%;
}

.landing-body .booking-orbit-one {
    width: 440px;
    height: 440px;
}

.landing-body .booking-orbit-two {
    width: 540px;
    height: 540px;
}

.landing-body .booking-phone {
    position: relative;
    z-index: 1;
    width: 286px;
    padding: 10px;
    border: 5px solid #161c20;
    border-radius: 38px;
    background: #161c20;
    box-shadow: 0 28px 60px rgba(19, 44, 36, 0.2);
}

.landing-body .booking-phone-speaker {
    position: absolute;
    top: 16px;
    left: 50%;
    z-index: 2;
    width: 72px;
    height: 17px;
    border-radius: 20px;
    background: #161c20;
    transform: translateX(-50%);
}

.landing-body .booking-phone-screen {
    min-height: 520px;
    padding: 42px 16px 18px;
    border-radius: 27px;
    background: #fbfcfb;
}

.landing-body .booking-mini-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 26px;
}

.landing-body .booking-mini-brand img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.landing-body .booking-mini-brand div,
.landing-body .booking-service span {
    display: grid;
    gap: 3px;
}

.landing-body .booking-mini-brand strong {
    color: #203129;
    font-size: 0.68rem;
}

.landing-body .booking-mini-brand small,
.landing-body .booking-service small {
    color: #84938c;
    font-size: 0.52rem;
}

.landing-body .booking-phone-screen > p {
    margin: 18px 0 9px;
    color: #2f4139;
    font-size: 0.62rem;
    font-weight: 800;
}

.landing-body .booking-service {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    padding: 13px;
    border: 1px solid #e3e9e6;
    border-radius: 10px;
    background: #fff;
}

.landing-body .booking-service.selected {
    border-color: #8dd3b9;
    background: #f0faf6;
}

.landing-body .booking-service strong,
.landing-body .booking-service b {
    color: #2e4038;
    font-size: 0.61rem;
}

.landing-body .booking-date-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.landing-body .booking-date-row span {
    padding: 10px 4px;
    border: 1px solid #e3e9e6;
    border-radius: 8px;
    background: #fff;
    color: #65766e;
    font-size: 0.56rem;
    font-weight: 700;
    text-align: center;
}

.landing-body .booking-date-row span.selected {
    border-color: var(--landing-green);
    background: var(--landing-green);
    color: #fff;
}

.landing-body .booking-phone-screen > button {
    width: 100%;
    margin-top: 22px;
    padding: 13px;
    border: 0;
    border-radius: 9px;
    background: var(--landing-green);
    color: #fff;
    font: inherit;
    font-size: 0.64rem;
    font-weight: 750;
}

.landing-body .booking-floating-card {
    position: absolute;
    right: 4px;
    bottom: 92px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px 16px;
    border: 1px solid #dde9e3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(27, 66, 52, 0.15);
}

.landing-body .booking-floating-card > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: var(--landing-mint);
    color: var(--landing-green-dark);
}

.landing-body .booking-floating-card div {
    display: grid;
    gap: 3px;
}

.landing-body .booking-floating-card small {
    color: #829189;
    font-size: 0.52rem;
}

.landing-body .booking-floating-card strong {
    color: #263a31;
    font-size: 0.64rem;
}

.landing-body .workflow-section {
    padding: 118px 0;
    background: var(--landing-warm);
}

.landing-body .section-heading-centered {
    max-width: 760px;
}

.landing-body .section-heading h2 {
    color: var(--landing-ink);
    font-size: clamp(2.6rem, 4vw, 4rem);
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.landing-body .section-heading p {
    color: var(--landing-muted);
    line-height: 1.7;
}

.landing-body .workflow-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 58px;
}

.landing-body .workflow-grid article {
    position: relative;
    min-height: 300px;
    padding: 34px;
    overflow: hidden;
    border: 1px solid #e4e7e3;
    border-radius: 18px;
    background: #fff;
}

.landing-body .workflow-grid article > span {
    position: absolute;
    top: 26px;
    right: 28px;
    color: #c8d2cd;
    font-size: 0.7rem;
    font-weight: 800;
}

.landing-body .workflow-icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 56px;
    place-items: center;
    border-radius: 14px;
    background: var(--landing-mint);
    color: var(--landing-green-dark);
}

.landing-body .workflow-icon svg {
    width: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.landing-body .workflow-grid h3 {
    margin-bottom: 10px;
    color: var(--landing-ink);
    font-size: 1.1rem;
}

.landing-body .workflow-grid p {
    color: var(--landing-muted);
    font-size: 0.83rem;
    line-height: 1.65;
}

.landing-body .features-section {
    padding: 126px 0;
    background: #fff;
}

.landing-body .features-grid {
    gap: 16px;
}

.landing-body .feature-item {
    min-height: 260px;
    padding: 30px;
    border-color: var(--landing-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
}

.landing-body .feature-item:hover {
    border-color: #badccc;
    box-shadow: 0 18px 38px rgba(26, 73, 54, 0.08);
    transform: translateY(-4px);
}

.landing-body .feature-icon {
    background: var(--landing-mint);
    color: var(--landing-green-dark);
}

.landing-body .feature-item h3 {
    color: var(--landing-ink);
}

.landing-body .feature-item p {
    color: var(--landing-muted);
}

.landing-body .control-section {
    padding: 126px 0;
    overflow: hidden;
    background: #11151a;
}

.landing-body .control-section .landing-container {
    display: grid;
    grid-template-columns: minmax(360px, 0.74fr) minmax(560px, 1.26fr);
    align-items: center;
    gap: 72px;
}

.landing-body .control-copy .section-label {
    color: #5dd6ae;
}

.landing-body .control-copy h2 {
    color: #fff;
}

.landing-body .control-copy > p {
    color: #aeb9b4;
}

.landing-body .control-points {
    display: grid;
    gap: 0;
    margin-top: 32px;
}

.landing-body .control-points div {
    display: grid;
    gap: 5px;
    padding: 17px 0;
    border-bottom: 1px solid #2b3134;
}

.landing-body .control-points strong {
    color: #fff;
    font-size: 0.79rem;
}

.landing-body .control-points span {
    color: #899690;
    font-size: 0.73rem;
}

.landing-body .control-dashboard {
    overflow: hidden;
    border: 1px solid #3a4143;
    border-radius: 18px;
    background: #f7f7f5;
    box-shadow: 0 38px 80px rgba(0, 0, 0, 0.28);
    transform: perspective(1200px) rotateY(-4deg);
    transform-origin: left center;
}

.landing-body .control-dashboard-top {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 44px;
    padding: 0 15px;
    border-bottom: 1px solid #e0e4e1;
    background: #fff;
}

.landing-body .control-dashboard-top > span {
    display: flex;
    gap: 5px;
}

.landing-body .control-dashboard-top i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d4d9d6;
}

.landing-body .control-dashboard-top b {
    color: #3c4b45;
    font-size: 0.58rem;
}

.landing-body .control-dashboard-top small {
    justify-self: end;
    color: #85938c;
    font-size: 0.53rem;
}

.landing-body .control-dashboard-body {
    display: grid;
    grid-template-columns: 58px 1fr;
    min-height: 435px;
}

.landing-body .control-dashboard-body aside {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 18px 12px;
    background: #171b20;
}

.landing-body .control-dashboard-body aside span {
    width: 18px;
    height: 18px;
    border: 1px solid #697079;
    border-radius: 5px;
    opacity: 0.5;
}

.landing-body .control-dashboard-body aside span.active {
    border-color: var(--landing-green);
    background: var(--landing-green);
    opacity: 1;
}

.landing-body .control-dashboard-main {
    padding: 28px;
}

.landing-body .control-dashboard-main > p {
    margin-bottom: 22px;
    color: #25372f;
    font-size: 0.75rem;
    font-weight: 750;
}

.landing-body .control-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.landing-body .control-metrics div {
    display: grid;
    gap: 6px;
    padding: 15px;
    border: 1px solid #e1e6e3;
    border-radius: 10px;
    background: #fff;
}

.landing-body .control-metrics small {
    color: #839089;
    font-size: 0.5rem;
}

.landing-body .control-metrics strong {
    color: #21342b;
    font-size: 0.82rem;
}

.landing-body .control-metrics em {
    color: var(--landing-green-dark);
    font-size: 0.48rem;
    font-style: normal;
    font-weight: 800;
}

.landing-body .control-chart-card {
    margin-top: 12px;
    padding: 19px;
    border: 1px solid #e1e6e3;
    border-radius: 10px;
    background: #fff;
}

.landing-body .control-chart-card > div:first-child {
    display: flex;
    justify-content: space-between;
}

.landing-body .control-chart-card strong {
    color: #2a3c34;
    font-size: 0.63rem;
}

.landing-body .control-chart-card small {
    color: #8a9790;
    font-size: 0.49rem;
}

.landing-body .control-chart {
    display: flex;
    align-items: flex-end;
    gap: 15px;
    height: 195px;
    margin-top: 18px;
    padding: 0 8px;
    border-bottom: 1px solid #e5eae7;
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 48px, #eef1ef 49px);
}

.landing-body .control-chart span {
    flex: 1;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(180deg, #21b984, #79d6b4);
}

.landing-body .consultation-section {
    padding: 110px 0;
    background: #f4faf7;
}

.landing-body .consultation-section .landing-container {
    border-radius: 24px;
    background: var(--landing-green);
    box-shadow: none;
}

.landing-body .consultation-content {
    max-width: 820px;
    padding: 92px 20px;
}

.landing-body .consultation-content .hero-tagline {
    border-color: rgba(255,255,255,.26);
    background: rgba(255,255,255,.13);
    color: #fff;
}

.landing-body .consultation-content h2,
.landing-body .consultation-content p {
    color: #fff;
}

.landing-body .consultation-content > .btn-premium {
    background: #fff;
    box-shadow: none;
    color: var(--landing-green-dark);
}

.landing-body .consultation-content > .btn-premium:hover {
    background: #f2fbf7;
}

.landing-body .consultation-proof span {
    color: rgba(255,255,255,.78);
}

.landing-body .faq-section {
    padding: 120px 0;
    background: #fff;
}

.landing-body .faq-list {
    border-color: var(--landing-line);
    box-shadow: none;
}

.landing-body .faq-item {
    border-color: var(--landing-line);
}

.landing-body .faq-question {
    color: var(--landing-ink);
}

.landing-footer {
    background: #11151a;
    border: 0;
}

@media (max-width: 1100px) {
    .landing-body .landing-nav {
        gap: 18px;
    }

    .landing-body .hero-section .landing-container {
        grid-template-columns: minmax(0, 1fr);
        gap: 70px;
    }

    .landing-body .hero-content {
        max-width: 760px;
    }

    .landing-body .hero-title {
        max-width: 750px;
    }

    .landing-body .hero-visual {
        width: min(740px, 100%);
        margin-inline: auto;
    }

    .landing-body .hero-product {
        width: 100%;
    }

    .landing-body .booking-section .landing-container,
    .landing-body .control-section .landing-container {
        grid-template-columns: minmax(0, 1fr);
        gap: 70px;
    }

    .landing-body .booking-copy,
    .landing-body .control-copy {
        max-width: 720px;
    }

    .landing-body .booking-visual,
    .landing-body .control-dashboard {
        width: min(720px, 100%);
        margin-inline: auto;
    }
}

@media (max-width: 820px) {
    .landing-body .landing-container {
        width: min(100% - 36px, 1180px);
    }

    .landing-body .landing-nav a:not(.nav-login) {
        display: none;
    }

    .landing-body .trust-strip .landing-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .landing-body .trust-strip span {
        min-height: 72px;
    }

    .landing-body .trust-strip span:nth-child(2)::after {
        display: none;
    }

    .landing-body .trust-strip span:nth-child(-n+2) {
        border-bottom: 1px solid var(--landing-line);
    }

    .landing-body .workflow-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .landing-body .workflow-grid article {
        min-height: 230px;
    }

    .landing-body .workflow-icon {
        margin-bottom: 34px;
    }
}

@media (max-width: 640px) {
    .landing-body .landing-container {
        width: min(100% - 32px, 1180px);
        padding-inline: 0;
    }

    .landing-body .landing-header {
        padding: 7px 0;
    }

    .landing-body .logo-landing .landing-wordmark {
        width: 112px;
        height: 46px;
    }

    .landing-body .landing-nav {
        gap: 8px;
    }

    .landing-body .landing-nav .nav-login {
        font-size: 0.7rem;
    }

    .landing-body .nav-cta {
        min-height: 38px;
        width: auto;
        max-width: none;
        padding: 9px 11px;
        font-size: 0.62rem;
        white-space: nowrap;
    }

    .landing-body .hero-section {
        padding: 118px 0 74px;
    }

    .landing-body .hero-section .landing-container {
        gap: 46px;
    }

    .landing-body .hero-content {
        text-align: left;
    }

    .landing-body .hero-content > .hero-tagline {
        max-width: max-content;
        margin-inline: 0;
        font-size: 0.52rem;
    }

    .landing-body .hero-title {
        max-width: 100%;
        margin-inline: 0;
        font-size: clamp(2.35rem, 11.5vw, 2.8rem);
        line-height: 1.02;
    }

    .landing-body .hero-description {
        margin-inline: 0;
        font-size: 0.92rem;
    }

    .landing-body .hero-actions,
    .landing-body .hero-note {
        justify-content: flex-start;
    }

    .landing-body .hero-actions .btn-premium {
        width: 100%;
    }

    .landing-body .hero-note {
        display: grid;
        gap: 9px;
    }

    .landing-body .hero-visual {
        min-height: 395px;
    }

    .landing-body .hero-product {
        top: 0;
        border-radius: 13px;
        transform: none;
    }

    .landing-body .product-app-shell {
        grid-template-columns: 38px 1fr;
        min-height: 352px;
    }

    .landing-body .product-sidebar {
        gap: 14px;
        padding: 14px 8px;
    }

    .landing-body .product-sidebar img {
        width: 22px;
        height: 22px;
    }

    .landing-body .product-sidebar i {
        width: 14px;
        height: 14px;
    }

    .landing-body .product-agenda {
        padding: 17px 13px;
    }

    .landing-body .product-agenda-header button {
        display: none;
    }

    .landing-body .product-days span:nth-child(-n+2) {
        display: none;
    }

    .landing-body .product-days {
        grid-template-columns: repeat(3, 1fr);
    }

    .landing-body .schedule-card {
        padding: 9px;
    }

    .landing-body .hero-toast {
        bottom: -12px;
        left: 12px;
        width: calc(100% - 24px);
    }

    .landing-body .trust-strip .landing-container {
        width: 100%;
    }

    .landing-body .trust-strip span {
        padding: 0 8px;
        font-size: 0.64rem;
        text-align: center;
    }

    .landing-body .booking-section,
    .landing-body .workflow-section,
    .landing-body .features-section,
    .landing-body .control-section,
    .landing-body .consultation-section,
    .landing-body .faq-section {
        padding-block: 82px;
    }

    .landing-body .booking-section .landing-container {
        gap: 48px;
    }

    .landing-body .booking-copy h2,
    .landing-body .control-copy h2,
    .landing-body .section-heading h2 {
        font-size: clamp(2.15rem, 10vw, 2.85rem);
    }

    .landing-body .booking-visual {
        min-height: 510px;
        border-radius: 30px;
    }

    .landing-body .booking-orbit-two {
        width: 440px;
        height: 440px;
    }

    .landing-body .booking-orbit-one {
        width: 350px;
        height: 350px;
    }

    .landing-body .booking-phone {
        width: 246px;
    }

    .landing-body .booking-phone-screen {
        min-height: 438px;
        padding-top: 37px;
    }

    .landing-body .booking-floating-card {
        right: 8px;
        bottom: 44px;
    }

    .landing-body .workflow-grid {
        margin-top: 38px;
    }

    .landing-body .control-section .landing-container {
        gap: 48px;
    }

    .landing-body .control-dashboard {
        width: 660px;
        transform: scale(0.54);
        transform-origin: top left;
        margin-bottom: -215px;
    }

    .landing-body .consultation-section {
        padding-inline: 10px;
    }

    .landing-body .consultation-content {
        padding: 68px 4px;
    }

    html:has(body.landing-body),
    body.landing-body {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    .landing-body .landing-header .landing-container {
        width: 100%;
        max-width: 100%;
        min-height: 54px;
        flex-wrap: nowrap;
        padding-inline: 12px;
    }

    .landing-body .landing-header .landing-nav {
        width: auto;
        min-width: 0;
        flex: 0 0 auto;
    }

    .landing-body .landing-nav .nav-login {
        display: none;
    }

    .landing-body .hero-section .landing-container {
        width: 100%;
        max-width: 100%;
        padding-inline: 18px;
    }

    .landing-body .hero-content,
    .landing-body .hero-content > *,
    .landing-body .hero-title,
    .landing-body .hero-title span,
    .landing-body .hero-description,
    .landing-body .hero-actions,
    .landing-body .hero-visual {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-inline: 0;
        white-space: normal;
    }

    .landing-body .hero-title {
        overflow-wrap: normal;
    }

    .landing-body .hero-visual {
        overflow: hidden;
    }

    .landing-body .hero-product {
        left: 0;
        width: 100%;
        max-width: 100%;
    }

    .landing-body .product-app-shell,
    .landing-body .product-agenda {
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .landing-body .trust-strip,
    .landing-body .trust-strip .landing-container {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .landing-body .trust-strip .landing-container {
        padding-inline: 0;
    }
}

/* Final header override: weekday emphasis and full month name. */
html body.admin-light .dashboard-greeting {
    margin: 0 0 4px;
    min-height: 0;
    color: #667085 !important;
    font-size: 0.86rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.35;
}

html body.admin-light .dashboard-date-title {
    display: block;
    margin: 0;
    color: #667085 !important;
    font-size: clamp(1.75rem, 2.6vw, 2.15rem);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 1.08;
    white-space: normal;
}

html body.admin-light .dashboard-date-title .dashboard-date-weekday {
    color: #172033 !important;
}

html body.admin-light .dashboard-greeting.is-typing::after {
    content: "▋";
    display: inline-block;
    margin-left: 0.12em;
    color: #1aa78f;
    font-size: 0.85em;
    font-weight: 700;
    animation: gest-welcome-cursor 0.9s steps(1, end) infinite;
}

@media (max-width: 680px) {
    html body.admin-light .dashboard-greeting {
        font-size: 0.78rem;
    }

    html body.admin-light .dashboard-date-title {
        font-size: clamp(1.65rem, 7vw, 2rem);
    }
}

/* Profile control: share and logout live inside the account menu. */
html body.admin-light .sidebar-footer {
    position: relative;
    overflow: visible;
    padding: 10px 0 0;
    border-top: 1px solid #292f38 !important;
}

html body.admin-light .sidebar-footer > .nav-item {
    display: none !important;
}

html body.admin-light .sidebar-profile {
    position: relative;
    width: 100%;
}

html body.admin-light .sidebar-profile-trigger {
    display: flex;
    width: 100%;
    min-height: 64px;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    border: 1px solid #303741;
    border-radius: 14px;
    background: #1b1f27;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: background-color 160ms ease, border-color 160ms ease;
}

html body.admin-light .sidebar-profile-trigger:hover,
html body.admin-light .sidebar-profile-trigger[aria-expanded="true"] {
    border-color: #40535b;
    background: #222a33;
}

html body.admin-light .sidebar-profile-trigger:focus,
html body.admin-light .sidebar-profile-trigger:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: #303741 !important;
}

html body.admin-light .sidebar-profile-avatar {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 50%;
    background: #343a44;
    color: #f5f8f7;
    font-size: 0.75rem;
    font-weight: 800;
}

html body.admin-light .sidebar-profile-copy {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: 2px;
}

html body.admin-light .sidebar-profile-copy strong,
html body.admin-light .sidebar-profile-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body.admin-light .sidebar-profile-copy strong {
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
}

html body.admin-light .sidebar-profile-copy small {
    color: #8f9aa7;
    font-size: 0.68rem;
}

html body.admin-light .sidebar-profile-chevron {
    display: grid;
    width: 18px;
    height: 24px;
    flex: 0 0 18px;
    place-items: center;
    margin-left: auto;
    color: #8e99a5;
    line-height: 0;
    transition: color 160ms ease, opacity 160ms ease;
}

html body.admin-light .sidebar-profile-chevron svg {
    width: 16px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.45;
}

html body.admin-light .sidebar-profile-trigger[aria-expanded="true"] .sidebar-profile-chevron {
    color: #73d9bd;
}

html body.admin-light .sidebar:has(.sidebar-profile-menu:not(.hidden)) {
    overflow: visible;
}

html body.admin-light .sidebar-profile-menu {
    position: absolute;
    left: 0;
    right: auto;
    bottom: calc(100% + 10px);
    z-index: 1200;
    display: grid;
    width: min(292px, calc(100vw - 24px));
    padding: 8px;
    border: 1px solid #e1e5e8;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 22px 44px rgba(16, 24, 32, 0.2);
}

html body.admin-light .sidebar-profile-menu.hidden {
    display: none !important;
}

html body.admin-light .sidebar-profile-menu button {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #273246;
    cursor: pointer;
    font: inherit;
    font-size: 0.84rem;
    text-align: left;
    transition: background-color 140ms ease, color 140ms ease;
}

html body.admin-light .sidebar-profile-menu button:hover,
html body.admin-light .sidebar-profile-menu button:focus-visible {
    outline: none;
    background: #edf7f5;
    color: #117b69;
}

html body.admin-light .sidebar-profile-menu button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
}

html body.admin-light .sidebar-profile-menu-divider {
    height: 1px;
    margin: 6px 4px;
    background: #e6e9eb;
}

html body.admin-light .sidebar-profile-menu .sidebar-profile-logout {
    color: #d94f5b;
}

html body.admin-light .sidebar-profile-menu .sidebar-profile-logout:hover,
html body.admin-light .sidebar-profile-menu .sidebar-profile-logout:focus-visible {
    background: #fff1f2;
    color: #c33e4b;
}

@media (min-width: 1025px) {
    html body.admin-light .sidebar.collapsed .sidebar-footer {
        padding: 12px 1px 0;
    }

    html body.admin-light .sidebar.collapsed .sidebar-profile-trigger {
        min-height: 48px;
        justify-content: center;
        padding: 3px;
        border-color: transparent;
        background: transparent;
    }

    html body.admin-light .sidebar.collapsed .sidebar-profile-trigger:hover,
    html body.admin-light .sidebar.collapsed .sidebar-profile-trigger[aria-expanded="true"] {
        border-color: #2c4149;
        background: #18242d;
    }

    html body.admin-light .sidebar.collapsed .sidebar-profile-avatar {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    html body.admin-light .sidebar.collapsed .sidebar-profile-copy,
    html body.admin-light .sidebar.collapsed .sidebar-profile-chevron {
        display: none;
    }

    html body.admin-light .sidebar.collapsed .sidebar-profile-menu {
        right: auto;
        left: calc(100% + 12px);
        bottom: 0;
    }
}

/* Keep the sidebar flush to the viewport: square outer edge, rounded inner edge only. */
html body.admin-light .sidebar,
html body.admin-light .sidebar.collapsed {
    margin: 0 !important;
    height: 100vh !important;
    border-radius: 0 20px 20px 0 !important;
}

/* The compact mark is dark and transparent; invert it only on dark chrome surfaces. */
html body.admin-light .sidebar.collapsed .logo-icon-collapsed,
.landing-body .product-sidebar img,
.landing-body .control-dashboard-body aside img {
    filter: brightness(0) invert(1) !important;
}

/* Keep the account control as a simple sidebar row instead of a card. */
html body.admin-light .sidebar-profile-trigger,
html body.admin-light .sidebar-profile-trigger:hover,
html body.admin-light .sidebar-profile-trigger[aria-expanded="true"],
html body.admin-light .sidebar-profile-trigger:focus,
html body.admin-light .sidebar-profile-trigger:focus-visible {
    min-height: 56px;
    padding: 7px 0;
    border: 0 !important;
    border-radius: 14px;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.admin-light .sidebar-profile-trigger:hover,
html body.admin-light .sidebar-profile-trigger[aria-expanded="true"] {
    background: #20262f !important;
}

html body.admin-light .sidebar:not(.collapsed) .sidebar-profile-trigger {
    min-height: 64px;
    padding: 9px 14px;
}

/* Preserve the selector gap and remove only the table's internal top offset. */
html body.admin-light #tab-comissoes #commissions-month-selector {
    margin-bottom: 2rem !important;
}

html body.admin-light #tab-comissoes .services-table {
    margin-top: 0 !important;
}

/* Profile hub: a calm, useful account area that stays inside the Gestano palette. */
html body.admin-light #tab-perfil .admin-profile-page {
    display: grid;
    gap: 20px;
    max-width: 1180px;
    padding-bottom: 32px;
}

html body.admin-light #tab-perfil .admin-profile-heading,
html body.admin-light #tab-perfil .admin-profile-section-heading,
html body.admin-light #tab-perfil .admin-profile-footer-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

html body.admin-light #tab-perfil .admin-profile-heading {
    padding: 6px 2px 2px;
}

html body.admin-light #tab-perfil .admin-profile-eyebrow,
html body.admin-light #tab-perfil .admin-profile-section-label {
    display: block;
    color: #168c79;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

html body.admin-light #tab-perfil .admin-profile-heading h2 {
    margin: 5px 0 4px;
    color: #172033;
    font-family: Outfit, Inter, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    letter-spacing: -0.04em;
}

html body.admin-light #tab-perfil .admin-profile-heading p,
html body.admin-light #tab-perfil .admin-profile-section-heading p,
html body.admin-light #tab-perfil .admin-profile-footer-card p {
    margin: 0;
    color: #667085;
    font-size: 0.92rem;
}

html body.admin-light #tab-perfil .admin-profile-back {
    min-height: 42px;
    white-space: nowrap;
}

html body.admin-light #tab-perfil .admin-profile-identity,
html body.admin-light #tab-perfil .admin-profile-overview-card,
html body.admin-light #tab-perfil .admin-profile-schedule-card,
html body.admin-light #tab-perfil .admin-profile-list,
html body.admin-light #tab-perfil .admin-profile-footer-card {
    border: 1px solid #e6e8e4;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(23, 32, 51, 0.045);
}

html body.admin-light #tab-perfil .admin-profile-identity {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 126px;
    padding: 24px 28px;
}

html body.admin-light #tab-perfil .admin-profile-avatar {
    display: grid;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    place-items: center;
    border-radius: 50%;
    background: #e5f5ef;
    color: #118873;
    font-family: Outfit, Inter, sans-serif;
    font-size: 1.3rem;
    font-weight: 800;
}

html body.admin-light #tab-perfil .admin-profile-identity-copy {
    min-width: 0;
}

html body.admin-light #tab-perfil .admin-profile-identity-copy h3,
html body.admin-light #tab-perfil .admin-profile-overview-card h3,
html body.admin-light #tab-perfil .admin-profile-section-heading h3,
html body.admin-light #tab-perfil .admin-profile-footer-card h3 {
    margin: 4px 0 4px;
    color: #172033;
    font-family: Outfit, Inter, sans-serif;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
}

html body.admin-light #tab-perfil .admin-profile-identity-copy p,
html body.admin-light #tab-perfil .admin-profile-identity-copy strong,
html body.admin-light #tab-perfil .admin-profile-overview-card p {
    display: block;
    margin: 0;
    color: #667085;
    font-size: 0.9rem;
    line-height: 1.45;
}

html body.admin-light #tab-perfil .admin-profile-identity-copy strong {
    margin-top: 2px;
    color: #273246;
    font-weight: 700;
}

html body.admin-light #tab-perfil .admin-profile-identity-mark {
    margin-left: auto;
    color: #d7e9e3;
    font-family: Outfit, Inter, sans-serif;
    font-size: clamp(1.2rem, 2.5vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.05em;
}

html body.admin-light #tab-perfil .admin-profile-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

html body.admin-light #tab-perfil .admin-profile-overview-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    min-height: 150px;
    padding: 24px;
}

html body.admin-light #tab-perfil .admin-profile-card-icon,
html body.admin-light #tab-perfil .admin-profile-list-icon {
    display: grid;
    place-items: center;
    color: #149a84;
}

html body.admin-light #tab-perfil .admin-profile-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #eef8f5;
}

html body.admin-light #tab-perfil .admin-profile-card-icon svg,
html body.admin-light #tab-perfil .admin-profile-list-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
}

html body.admin-light #tab-perfil .admin-profile-inline-action {
    grid-column: 2;
    justify-self: start;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #118873;
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 800;
}

html body.admin-light #tab-perfil .admin-profile-inline-action span {
    display: inline-block;
    margin-left: 4px;
    transition: transform 140ms ease;
}

html body.admin-light #tab-perfil .admin-profile-inline-action:hover span {
    transform: translateX(3px);
}

html body.admin-light #tab-perfil .admin-profile-schedule-card {
    padding: 24px;
}

html body.admin-light #tab-perfil .admin-profile-section-heading {
    align-items: flex-start;
}

html body.admin-light #tab-perfil .admin-profile-section-heading h3 {
    margin-top: 5px;
    font-size: 1.35rem;
}

html body.admin-light #tab-perfil .admin-profile-section-heading p {
    max-width: 610px;
}

html body.admin-light #tab-perfil .admin-profile-schedule-preview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #edf0ed;
}

html body.admin-light #tab-perfil .admin-profile-schedule-row {
    display: flex;
    min-height: 66px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 12px 14px;
    border: 1px solid #e7eeeb;
    border-radius: 12px;
    background: #fbfdfc;
}

html body.admin-light #tab-perfil .admin-profile-schedule-row strong {
    color: #273246;
    font-size: 0.8rem;
}

html body.admin-light #tab-perfil .admin-profile-schedule-row span,
html body.admin-light #tab-perfil .admin-profile-schedule-empty span {
    color: #667085;
    font-size: 0.78rem;
}

html body.admin-light #tab-perfil .admin-profile-schedule-row b {
    color: #a1aba8;
    font-weight: 500;
}

html body.admin-light #tab-perfil .admin-profile-schedule-empty {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 0 2px;
}

html body.admin-light #tab-perfil .admin-profile-schedule-empty strong {
    color: #273246;
    font-size: 0.9rem;
}

html body.admin-light #tab-perfil .admin-profile-section-label {
    margin: 6px 2px -8px;
    color: #667085;
}

html body.admin-light #tab-perfil .admin-profile-list {
    overflow: hidden;
}

html body.admin-light #tab-perfil .admin-profile-list-item {
    display: flex;
    width: 100%;
    min-height: 76px;
    align-items: center;
    gap: 16px;
    padding: 14px 22px;
    border: 0;
    border-bottom: 1px solid #edf0ed;
    background: #ffffff;
    color: #172033;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: background 150ms ease, padding 150ms ease;
}

html body.admin-light #tab-perfil .admin-profile-list-item:last-child {
    border-bottom: 0;
}

html body.admin-light #tab-perfil .admin-profile-list-item:hover {
    padding-left: 26px;
    background: #f5fbf9;
}

html body.admin-light #tab-perfil .admin-profile-list-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 11px;
    background: #f2f7f5;
}

html body.admin-light #tab-perfil .admin-profile-list-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

html body.admin-light #tab-perfil .admin-profile-list-copy strong {
    color: #273246;
    font-size: 0.94rem;
    font-weight: 700;
}

html body.admin-light #tab-perfil .admin-profile-list-copy small {
    overflow: hidden;
    color: #667085;
    font-size: 0.8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body.admin-light #tab-perfil .admin-profile-list-arrow {
    margin-left: auto;
    color: #a1aba8;
    font-size: 1.1rem;
}

html body.admin-light #tab-perfil .admin-profile-footer-card {
    padding: 22px 24px;
    background: linear-gradient(135deg, #effaf6, #ffffff 70%);
}

html body.admin-light #tab-perfil button:focus,
html body.admin-light #tab-perfil button:focus-visible {
    outline: none;
    box-shadow: none;
}

@media (max-width: 820px) {
    html body.admin-light #tab-perfil .admin-profile-heading,
    html body.admin-light #tab-perfil .admin-profile-section-heading,
    html body.admin-light #tab-perfil .admin-profile-footer-card {
        align-items: flex-start;
        flex-direction: column;
    }

    html body.admin-light #tab-perfil .admin-profile-overview-grid {
        grid-template-columns: 1fr;
    }

    html body.admin-light #tab-perfil .admin-profile-schedule-preview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    html body.admin-light #tab-perfil .admin-profile-identity {
        align-items: flex-start;
        padding: 20px;
    }

    html body.admin-light #tab-perfil .admin-profile-identity-mark {
        display: none;
    }

    html body.admin-light #tab-perfil .admin-profile-schedule-preview {
        grid-template-columns: 1fr;
    }
}

/* Account editor: the profile identity card opens this focused form. */
html body.admin-light #tab-perfil .admin-profile-identity.is-clickable {
    cursor: pointer;
    transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

html body.admin-light #tab-perfil .admin-profile-identity.is-clickable:hover,
html body.admin-light #tab-perfil .admin-profile-identity.is-clickable:focus-visible {
    border-color: #b9ddd3;
    background: #fcfefd;
    box-shadow: 0 14px 28px rgba(23, 32, 51, 0.08);
    outline: none;
    transform: translateY(-1px);
}

html body.admin-light #tab-perfil .admin-profile-identity-arrow {
    margin-left: 14px;
    color: #a1aba8;
    font-size: 1.35rem;
}

html body.admin-light #tab-conta .admin-account-page {
    display: grid;
    gap: 20px;
    max-width: 980px;
    padding-bottom: 34px;
}

html body.admin-light #tab-conta .admin-account-heading {
    padding: 4px 2px 2px;
}

html body.admin-light #tab-conta .admin-account-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #667085;
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
}

html body.admin-light #tab-conta .admin-account-back:hover {
    color: #148b77;
}

html body.admin-light #tab-conta .admin-profile-eyebrow {
    display: block;
    color: #168c79;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

html body.admin-light #tab-conta .admin-account-heading h2 {
    margin: 6px 0 5px;
    color: #172033;
    font-family: Outfit, Inter, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    letter-spacing: -0.04em;
}

html body.admin-light #tab-conta .admin-account-heading p {
    margin: 0;
    color: #667085;
    font-size: 0.92rem;
}

html body.admin-light #tab-conta .admin-account-card {
    border: 1px solid #e6e8e4;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(23, 32, 51, 0.045);
    padding: 28px;
}

html body.admin-light #tab-conta .admin-account-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

html body.admin-light #tab-conta .admin-account-card-heading h3 {
    margin: 5px 0 0;
    color: #273246;
    font-family: Outfit, Inter, sans-serif;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
}

html body.admin-light #tab-conta .admin-account-avatar {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 50%;
    background: #e5f5ef;
    color: #118873;
    font-family: Outfit, Inter, sans-serif;
    font-size: 1rem;
    font-weight: 800;
}

html body.admin-light #tab-conta .admin-account-form {
    display: grid;
    gap: 22px;
}

html body.admin-light #tab-conta .admin-account-field {
    display: grid;
    gap: 8px;
}

html body.admin-light #tab-conta .admin-account-field label {
    color: #273246;
    font-size: 0.9rem;
    font-weight: 700;
}

html body.admin-light #tab-conta .admin-account-field label span {
    color: #667085;
    font-weight: 500;
}

html body.admin-light #tab-conta .admin-account-field input {
    width: 100%;
    min-height: 54px;
    padding: 12px 15px;
    border: 1px solid #e0e4e1;
    border-radius: 14px;
    background: #ffffff;
    color: #273246;
    font: inherit;
    font-size: 0.96rem;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

html body.admin-light #tab-conta .admin-account-field input:focus {
    border-color: #9ed4c7;
    outline: none;
    box-shadow: 0 0 0 3px rgba(26, 167, 143, 0.08);
}

html body.admin-light #tab-conta .admin-account-field input:disabled {
    background: #f4f4f3;
    color: #667085;
    cursor: not-allowed;
}

html body.admin-light #tab-conta .admin-account-field small {
    color: #7b8795;
    font-size: 0.78rem;
    line-height: 1.45;
}

html body.admin-light #tab-conta .admin-account-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 4px;
}

html body.admin-light #tab-conta button:focus,
html body.admin-light #tab-conta button:focus-visible {
    outline: none;
    box-shadow: none;
}

@media (max-width: 620px) {
    html body.admin-light #tab-perfil .admin-profile-identity-mark {
        display: none;
    }

    html body.admin-light #tab-conta .admin-account-card {
        padding: 21px;
    }

    html body.admin-light #tab-conta .admin-account-actions {
        justify-content: stretch;
    }

    html body.admin-light #tab-conta .admin-account-actions .btn {
        flex: 1;
    }
}

/* Plan and billing hub: pricing and account status in the same Gestano language. */
html body.admin-light #tab-plano .admin-plan-page {
    display: grid;
    gap: 20px;
    max-width: 1240px;
    padding-bottom: 34px;
}

html body.admin-light #tab-plano .admin-plan-heading {
    padding: 4px 2px 2px;
}

html body.admin-light #tab-plano .admin-plan-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #667085;
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
}

html body.admin-light #tab-plano .admin-plan-back:hover {
    color: #148b77;
}

html body.admin-light #tab-plano .admin-plan-eyebrow {
    display: block;
    color: #168c79;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

html body.admin-light #tab-plano .admin-plan-heading h2 {
    margin: 6px 0 5px;
    color: #172033;
    font-family: Outfit, Inter, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    letter-spacing: -0.04em;
}

html body.admin-light #tab-plano .admin-plan-heading p,
html body.admin-light #tab-plano .admin-plan-trial-caption,
html body.admin-light #tab-plano .admin-plan-history-card p {
    margin: 0;
    color: #667085;
    font-size: 0.92rem;
}

html body.admin-light #tab-plano .admin-plan-trial-card,
html body.admin-light #tab-plano .admin-plan-usage-card,
html body.admin-light #tab-plano .admin-plan-history-card {
    border: 1px solid #e6e8e4;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(23, 32, 51, 0.045);
}

html body.admin-light #tab-plano .admin-plan-trial-card {
    padding: 24px 28px;
}

html body.admin-light #tab-plano .admin-plan-card-heading,
html body.admin-light #tab-plano .admin-plan-section-heading,
html body.admin-light #tab-plano .admin-plan-options-heading,
html body.admin-light #tab-plano .admin-plan-history-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

html body.admin-light #tab-plano .admin-plan-card-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

html body.admin-light #tab-plano .admin-plan-card-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: #eef8f5;
    color: #15967f;
}

html body.admin-light #tab-plano .admin-plan-card-icon svg,
html body.admin-light #tab-plano .admin-plan-usage-label svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

html body.admin-light #tab-plano .admin-plan-card-title h3,
html body.admin-light #tab-plano .admin-plan-section-heading h3,
html body.admin-light #tab-plano .admin-plan-history-card h3 {
    margin: 3px 0 0;
    color: #273246;
    font-family: Outfit, Inter, sans-serif;
    font-size: 1.15rem;
    letter-spacing: -0.02em;
}

html body.admin-light #tab-plano .admin-plan-card-title > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

html body.admin-light #tab-plano .admin-plan-status {
    display: inline-flex;
    min-height: 23px;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    background: #e5f6ef;
    color: #12856f;
    font-size: 0.68rem;
    font-weight: 800;
}

html body.admin-light #tab-plano .admin-plan-trial-days {
    color: #667085;
    font-size: 0.86rem;
    font-weight: 600;
}

html body.admin-light #tab-plano .admin-plan-progress,
html body.admin-light #tab-plano .admin-plan-usage-track {
    overflow: hidden;
    border-radius: 999px;
    background: #edf0ee;
}

html body.admin-light #tab-plano .admin-plan-progress {
    height: 9px;
    margin: 20px 0 12px;
}

html body.admin-light #tab-plano .admin-plan-progress span,
html body.admin-light #tab-plano .admin-plan-usage-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #1aa78f;
}

html body.admin-light #tab-plano .admin-plan-trial-caption {
    line-height: 1.5;
}

html body.admin-light #tab-plano .admin-plan-benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 28px;
    margin-top: 20px;
    color: #667085;
    font-size: 0.88rem;
}

html body.admin-light #tab-plano .admin-plan-benefits span {
    display: flex;
    align-items: center;
    gap: 9px;
}

html body.admin-light #tab-plano .admin-plan-benefits b {
    color: #149a84;
    font-size: 1rem;
}

html body.admin-light #tab-plano .admin-plan-trial-note {
    margin-top: 20px;
    padding: 13px 15px;
    border: 1px solid #e7ebe8;
    border-radius: 12px;
    background: #fbfcfb;
    color: #667085;
    font-size: 0.86rem;
}

html body.admin-light #tab-plano .admin-plan-trial-note strong {
    color: #273246;
}

html body.admin-light #tab-plano .admin-plan-usage-card {
    padding: 22px 28px 24px;
}

html body.admin-light #tab-plano .admin-plan-section-heading {
    align-items: flex-start;
}

html body.admin-light #tab-plano .admin-plan-updated {
    color: #9ba5a3;
    font-size: 0.78rem;
}

html body.admin-light #tab-plano .admin-plan-usage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    margin-top: 22px;
}

html body.admin-light #tab-plano .admin-plan-usage-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    color: #667085;
    font-size: 0.9rem;
}

html body.admin-light #tab-plano .admin-plan-usage-label span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

html body.admin-light #tab-plano .admin-plan-usage-label svg {
    color: #77858c;
}

html body.admin-light #tab-plano .admin-plan-usage-label strong {
    color: #273246;
    font-size: 0.9rem;
}

html body.admin-light #tab-plano .admin-plan-usage-track {
    height: 8px;
}

html body.admin-light #tab-plano .admin-plan-options {
    padding-top: 4px;
}

html body.admin-light #tab-plano .admin-plan-options-heading {
    align-items: flex-end;
}

html body.admin-light #tab-plano .admin-plan-options-heading h3 {
    margin: 5px 0 0;
    color: #273246;
    font-family: Outfit, Inter, sans-serif;
    font-size: 1.42rem;
    letter-spacing: -0.03em;
}

html body.admin-light #tab-plano .admin-plan-cycle {
    display: inline-flex;
    padding: 4px;
    border-radius: 999px;
    background: #e9ebe9;
}

html body.admin-light #tab-plano .admin-plan-cycle button {
    min-width: 82px;
    min-height: 36px;
    padding: 7px 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #667085;
    cursor: pointer;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 700;
}

html body.admin-light #tab-plano .admin-plan-cycle button.is-active {
    background: #ffffff;
    color: #273246;
    box-shadow: 0 2px 5px rgba(23, 32, 51, 0.09);
}

html body.admin-light #tab-plano .admin-plan-savings {
    margin: 11px 0 24px;
    color: #16a35f;
    font-size: 0.84rem;
    font-weight: 700;
    text-align: right;
}

html body.admin-light #tab-plano .admin-plan-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}

html body.admin-light #tab-plano .admin-plan-card {
    position: relative;
    display: flex;
    min-height: 530px;
    flex-direction: column;
    padding: 24px 24px 20px;
    border: 1px solid #e6e8e4;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(23, 32, 51, 0.045);
}

html body.admin-light #tab-plano .admin-plan-card.is-popular {
    border-color: #23b69c;
    box-shadow: 0 14px 30px rgba(26, 167, 143, 0.13);
}

html body.admin-light #tab-plano .admin-plan-popular {
    position: absolute;
    top: -13px;
    left: 22px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: 999px;
    background: #18a88e;
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 800;
}

html body.admin-light #tab-plano .admin-plan-card-top h4 {
    margin: 0;
    color: #273246;
    font-family: Outfit, Inter, sans-serif;
    font-size: 1.35rem;
    letter-spacing: -0.03em;
}

html body.admin-light #tab-plano .admin-plan-card-top p {
    margin: 4px 0 0;
    color: #667085;
    font-size: 0.86rem;
}

html body.admin-light #tab-plano .admin-plan-price {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin: 24px 0 20px;
}

html body.admin-light #tab-plano .admin-plan-price strong {
    color: #273246;
    font-family: Outfit, Inter, sans-serif;
    font-size: clamp(2rem, 3vw, 2.45rem);
    letter-spacing: -0.05em;
}

html body.admin-light #tab-plano .admin-plan-price span {
    color: #667085;
    font-size: 0.9rem;
}

html body.admin-light #tab-plano .admin-plan-feature-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0 0 18px;
    list-style: none;
    color: #667085;
    font-size: 0.85rem;
    line-height: 1.42;
}

html body.admin-light #tab-plano .admin-plan-feature-list li {
    display: flex;
    gap: 9px;
}

html body.admin-light #tab-plano .admin-plan-feature-list li::before {
    content: "✓";
    flex: 0 0 12px;
    color: #72818a;
    font-weight: 700;
}

html body.admin-light #tab-plano .admin-plan-choose {
    width: 100%;
    min-height: 46px;
    margin-top: auto;
    padding: 11px 16px;
    border: 1px solid #dfe5e2;
    border-radius: 13px;
    background: #ffffff;
    color: #273246;
    cursor: pointer;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 800;
    transition: border-color 150ms ease, background 150ms ease, color 150ms ease, transform 150ms ease;
}

html body.admin-light #tab-plano .admin-plan-card.is-popular .admin-plan-choose,
html body.admin-light #tab-plano .admin-plan-choose:hover {
    border-color: #18a88e;
    background: #18a88e;
    color: #ffffff;
}

html body.admin-light #tab-plano .admin-plan-choose:hover {
    transform: translateY(-1px);
}

html body.admin-light #tab-plano .admin-plan-history-card {
    align-items: flex-start;
    padding: 22px 28px;
}

html body.admin-light #tab-plano .admin-plan-history-empty {
    flex: 0 0 auto;
    padding: 9px 12px;
    border-radius: 10px;
    background: #f4f6f5;
    color: #667085;
    font-size: 0.78rem;
    font-weight: 700;
}

html body.admin-light #tab-plano button:focus,
html body.admin-light #tab-plano button:focus-visible {
    outline: none;
    box-shadow: none;
}

@media (max-width: 980px) {
    html body.admin-light #tab-plano .admin-plan-cards {
        grid-template-columns: 1fr;
    }

    html body.admin-light #tab-plano .admin-plan-card {
        min-height: auto;
    }

    html body.admin-light #tab-plano .admin-plan-feature-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html body.admin-light #tab-plano .admin-plan-choose {
        margin-top: 24px;
    }
}

@media (max-width: 640px) {
    html body.admin-light #tab-plano .admin-plan-card-heading,
    html body.admin-light #tab-plano .admin-plan-section-heading,
    html body.admin-light #tab-plano .admin-plan-options-heading,
    html body.admin-light #tab-plano .admin-plan-history-card {
        align-items: flex-start;
        flex-direction: column;
    }

    html body.admin-light #tab-plano .admin-plan-trial-card,
    html body.admin-light #tab-plano .admin-plan-usage-card,
    html body.admin-light #tab-plano .admin-plan-history-card {
        padding: 20px;
    }

    html body.admin-light #tab-plano .admin-plan-trial-days {
        margin-left: 52px;
    }

    html body.admin-light #tab-plano .admin-plan-benefits,
    html body.admin-light #tab-plano .admin-plan-usage-grid,
    html body.admin-light #tab-plano .admin-plan-feature-list {
        grid-template-columns: 1fr;
    }

    html body.admin-light #tab-plano .admin-plan-savings {
        text-align: left;
    }
}

/* Use explicit plus/minus controls for expandable sidebar groups. */
html body.admin-light .sidebar-nav-scroll nav .nav-group-chevron {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    font-size: 0;
}

html body.admin-light .sidebar-nav-scroll nav .nav-group-chevron::before {
    display: block;
    width: auto;
    height: auto;
    border: 0 !important;
    content: "+" !important;
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1;
    transform: none !important;
}

html body.admin-light .sidebar-nav-scroll nav .nav-group-title[aria-expanded="true"] .nav-group-chevron::before {
    content: "−" !important;
}
