:root{--bg-primary:#f4f6fb;--bg-sidebar:#ffffff;--bg-card:#ffffff;--bg-card-hover:#fafbff;--bg-glass:rgba(255,255,255,0.88);--bg-input:#f8fafc;--text-primary:#0c1222;--text-secondary:#3d4a5c;--text-muted:#64748b;--border-color:rgba(15,23,42,0.08);--border-subtle:rgba(15,23,42,0.04);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-sm:0 1px 2px rgba(15,23,42,0.04),0 2px 8px rgba(15,23,42,0.04);--shadow-md:0 4px 6px rgba(15,23,42,0.04),0 12px 28px rgba(15,23,42,0.08);--shadow-lg:0 8px 16px rgba(15,23,42,0.06),0 24px 48px rgba(15,23,42,0.1);--shadow-brand:0 4px 14px rgba(124,58,237,0.28),0 2px 6px rgba(124,58,237,0.12);--shadow-card:0 1px 3px rgba(15,23,42,0.05),0 8px 24px rgba(15,23,42,0.06);--gradient-brand:linear-gradient(135deg,#7c3aed,#9333ea 50%,#6d28d9);--gradient-subtle:linear-gradient(145deg,rgba(124,58,237,0.07),rgba(255,255,255,0.9));--gradient-page:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(124,58,237,0.09),transparent 55%),radial-gradient(ellipse 80% 50% at 100% 0%,rgba(167,139,250,0.06),transparent 45%),#f4f6fb;--font-display:var(--font-poppins),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{font-family:var(--font-display);font-size:.9375rem;line-height:1.55;letter-spacing:-.01em;background:var(--gradient-page);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.main-content{background:transparent}.portal-topbar{height:auto;min-height:var(--topbar-height);padding-top:max(.5rem,env(safe-area-inset-top));padding-bottom:.5rem;background:var(--bg-glass);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid rgba(15,23,42,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.topbar-title{font-size:1.2rem;font-weight:800;letter-spacing:-.035em;color:var(--text-primary)}.topbar-subtitle{font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-top:.15rem;line-height:1.4}.branch-scope-banner{background:linear-gradient(90deg,rgba(124,58,237,.06),rgba(255,255,255,.6));border-bottom:1px solid rgba(124,58,237,.1);font-weight:500}.branch-scope-banner__branch{font-weight:700;color:var(--brand-600)}.portal-sidebar{background:#ffffff;border-right:1px solid rgba(15,23,42,.06);box-shadow:4px 0 24px rgba(15,23,42,.04)}.portal-sidebar__logo{border-radius:var(--radius-md);box-shadow:var(--shadow-brand)}.portal-sidebar__group-label{font-size:.6875rem;letter-spacing:.1em;color:var(--text-muted)}.portal-sidebar__link{font-size:.875rem;font-weight:500;padding:.65rem .85rem;border-radius:var(--radius-md);color:var(--text-secondary)}.portal-sidebar__link--active{background:linear-gradient(90deg,rgba(124,58,237,.12),rgba(124,58,237,.04));color:var(--brand-600);font-weight:700;box-shadow:none;border-left:3px solid var(--brand-500);padding-left:calc(.85rem - 3px)}.portal-sidebar-backdrop{background:rgba(12,18,34,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-content{padding:1.35rem 1.5rem 2.75rem}.card{border:1px solid rgba(15,23,42,.07);background:#ffffff}.card,.glass,.stat-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.stat-card{padding:1.35rem 1.4rem;border:1px solid rgba(15,23,42,.06);gap:.85rem}.stat-value{font-size:1.85rem;font-weight:800;letter-spacing:-.04em;color:var(--text-primary)}.stat-label{color:var(--text-secondary)}.stat-change,.stat-label{font-size:.8125rem;font-weight:600}.dashboard-toolbar{padding:1.25rem 1.4rem}.dashboard-collapsible,.dashboard-toolbar{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid rgba(15,23,42,.06)}.dashboard-collapsible{background:#fff}.btn-primary{font-weight:700;font-size:.875rem;letter-spacing:-.01em;padding:.7rem 1.35rem;box-shadow:var(--shadow-brand)}.btn-primary,.btn-secondary{border-radius:var(--radius-md)}.btn-secondary{font-weight:600;border-color:rgba(15,23,42,.1);background:#fff;box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:rgba(124,58,237,.35);box-shadow:var(--shadow-md)}.btn-icon{border-radius:var(--radius-md);border-color:rgba(15,23,42,.08);box-shadow:var(--shadow-sm)}.input-field,textarea.input-field{border-radius:var(--radius-md);border-color:rgba(15,23,42,.1);background-color:var(--bg-input);font-size:.9375rem;font-weight:500;color:var(--text-primary);padding:.7rem 1rem;min-width:0;max-width:100%}select.input-field{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.7rem 2.75rem .7rem 1rem;cursor:pointer;background-color:var(--bg-input);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;background-size:1rem}.input-field:focus{border-color:var(--brand-500);box-shadow:0 0 0 4px rgba(124,58,237,.12)}.input-field:focus,select.input-field:focus{background-color:#fff}.lnp-select-wrap select.input-field,.lnp-select-wrap select.lnp-select{background-image:none}.form-label{font-size:.8125rem;font-weight:700;color:var(--text-secondary);letter-spacing:.01em}.quick-actions__item{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid rgba(15,23,42,.06);padding:1.1rem 1.2rem}.quick-actions__item--primary{background:linear-gradient(145deg,rgba(124,58,237,.08),#fff 70%);border-color:rgba(124,58,237,.2)}.quick-actions__label{font-size:.9375rem;font-weight:700;letter-spacing:-.02em}.quick-actions__desc{font-size:.8125rem;color:var(--text-secondary)}.quick-actions__icon{width:44px;height:44px;border-radius:var(--radius-md)}.catalog-tabs{border-radius:var(--radius-xl);padding:.4rem;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.06)}.catalog-tabs__btn{font-weight:700;border-radius:var(--radius-md)}.reservations-toolbar-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:1.15rem 1.25rem;border:1px solid rgba(15,23,42,.06)}.portal-segmented{background:rgba(15,23,42,.05);border:none;border-radius:var(--radius-lg);padding:.3rem;gap:.25rem}.portal-segmented__btn{font-size:.8125rem;font-weight:700;border-radius:calc(var(--radius-md) - 2px);color:var(--text-secondary)}.portal-segmented__btn--active{background:#fff;color:var(--brand-600);box-shadow:0 2px 8px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);border-color:transparent}.reservations-toolbar__filters-panel{border-radius:var(--radius-lg);background:rgba(15,23,42,.03);border-color:rgba(15,23,42,.08)}.reservations-toolbar__filters-panel summary{font-weight:700;color:var(--text-primary)}.reservations-status-strip .badge{font-weight:700;font-size:.75rem;border-radius:var(--radius-full);padding:.4rem .75rem}.day-schedule-agenda{gap:.75rem}.day-schedule-agenda__item{padding:1rem 1.15rem;border-radius:var(--radius-xl);border:1px solid rgba(15,23,42,.07);box-shadow:var(--shadow-card);background:#fff;gap:.45rem}.day-schedule-agenda__item--selected{border-color:rgba(124,58,237,.35);background:linear-gradient(145deg,rgba(124,58,237,.06),#fff 60%);box-shadow:0 4px 20px rgba(124,58,237,.12)}.day-schedule-agenda__time{font-size:1.1rem;font-weight:800;letter-spacing:-.03em;color:var(--brand-600)}.day-schedule-agenda__customer{font-size:.9375rem;font-weight:700}.day-schedule-agenda__meta{font-size:.8125rem;color:var(--text-secondary)}.salonists-row{border-radius:var(--radius-xl);padding:1rem 1.15rem;box-shadow:var(--shadow-card);border:1px solid rgba(15,23,42,.06)}.salonists-list{gap:.65rem}.settings-section-nav{border-radius:var(--radius-xl);background:rgba(255,255,255,.9);box-shadow:var(--shadow-sm);border:1px solid rgba(15,23,42,.06)}.settings-section-nav__link{font-weight:700;color:var(--text-secondary)}.settings-section-nav__link:hover{background:rgba(124,58,237,.08);color:var(--brand-600)}.settings-sticky-save{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(15,23,42,.08);box-shadow:0 -8px 32px rgba(15,23,42,.08)}@media (max-width:1024px){.customers-table tbody tr,.data-table.dashboard-reservations-table tbody tr,.data-table.reservations-data-table tbody tr,.services-table tbody tr:not(.services-category-row):not(.services-sub-expand){border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-card)!important;border:1px solid rgba(15,23,42,.07)!important;background:#fff!important;margin-bottom:.75rem}.data-table.dashboard-reservations-table tbody tr.dashboard-reservations-table__empty-row{border:none!important;background:transparent!important;box-shadow:none!important;margin:0!important;border-radius:0!important}.data-table.dashboard-reservations-table td.dashboard-reservations-table__empty-cell{width:100%!important;min-width:0!important;max-width:none!important;padding:0!important}.data-table.dashboard-reservations-table td.dashboard-reservations-table__empty-cell:before{display:none!important;content:none!important}.data-table.dashboard-reservations-table td.dashboard-reservations-table__empty-cell .empty-state{padding:1.75rem 1.25rem 2rem}.data-table.dashboard-reservations-table td.dashboard-reservations-table__empty-cell .empty-state__desc{max-width:none;padding:0 .75rem}.data-table tbody td:before{font-size:.7rem!important;font-weight:800!important;letter-spacing:.08em!important;color:var(--text-muted)!important}.page-content,.page-content--wide{padding:1.25rem 1.25rem 2.5rem}}@media (max-width:480px){.data-table.dashboard-reservations-table td.dashboard-reservations-table__empty-cell .empty-state__action .btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:16rem}}@media (max-width:1024px){.portal-topbar{height:calc(var(--topbar-height) + env(safe-area-inset-top, 0px))!important;min-height:0!important;max-height:calc(var(--topbar-height) + env(safe-area-inset-top, 0px))!important;padding:max(0px,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) 0 max(1rem,env(safe-area-inset-left,0px))!important;flex-wrap:nowrap!important;transition:top .22s ease,box-shadow .22s ease;box-sizing:border-box}.portal-topbar.portal-topbar--scroll-hidden{top:calc(var(--branch-banner-height, 0px) - var(--topbar-height) - env(safe-area-inset-top, 0px))!important;box-shadow:none}}@media (max-width:768px){.page-content,.page-content--wide{padding:1rem 1rem calc(6.5rem + env(safe-area-inset-bottom, 0px))}.topbar-title{font-size:1rem}.topbar-subtitle{display:none}.portal-topbar{padding-left:max(1rem,env(safe-area-inset-left,0px))!important;padding-right:max(1rem,env(safe-area-inset-right,0px))!important}.stats-grid{gap:.75rem;margin-bottom:1.25rem}.stat-card{padding:1.1rem 1.15rem}.stat-value{font-size:1.5rem}.quick-actions{grid-template-columns:1fr;gap:.65rem}.quick-actions__item{padding:1rem 1.1rem}.btn-primary,.btn-secondary{font-size:.875rem;border-radius:var(--radius-md)}.input-field,select.input-field{font-size:16px;min-height:48px;padding:.75rem 1rem}select.input-field{padding-right:2.75rem}.portal-segmented__btn{font-size:.78rem;padding:.55rem .4rem}.reservations-toolbar-card{padding:1rem}.branch-scope-banner{padding:.65rem 1rem;font-size:.8125rem}.badge{font-weight:700}}.auth-card,.login-card,.portal-loading{font-family:var(--font-display)}.animate-in{animation:premiumFadeIn .35s ease both}@keyframes premiumFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.badge{font-weight:700;letter-spacing:.01em}.setup-checklist{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid rgba(15,23,42,.06)}.setup-checklist__title{font-weight:800;letter-spacing:-.03em}.empty-state__title{font-weight:800;letter-spacing:-.02em}.reviews-page-lead{font-size:.9375rem;color:var(--text-secondary);line-height:1.55}.bookings-modal-card,.modal-box{border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg)}@media (max-width:768px){.modal-box{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}}