*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.collapse{visibility:collapse}.table-row{display:table-row}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:DM Sans,sans-serif;color:#28222d;background:#f8f6f8;font-synthesis:none;--ink: #28222d;--muted: #827b86;--theme-accent: #d989aa;--theme-accent-dark: color-mix(in srgb, var(--theme-accent) 78%, #34101f);--theme-accent-soft: color-mix(in srgb, var(--theme-accent) 16%, white);--theme-page: color-mix(in srgb, var(--theme-accent) 9%, white);--theme-surface: color-mix(in srgb, var(--theme-accent) 4%, white);--theme-section: color-mix(in srgb, var(--theme-accent) 13%, white);--purple: var(--theme-accent);--purple-dark: var(--theme-accent-dark);--line: #ebe6ec;--soft: var(--theme-accent-soft);color-scheme:light}[data-theme=dark]{--ink: #f1ebf3;--muted: #aaa0ad;--purple: #c49add;--purple-dark: #d2ace8;--line: #403744;--soft: #302936;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,select{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer}[data-theme=dark] body{background:#18151b;color:var(--ink)}[data-theme=dark] .topbar{background:#1d1920e6}[data-theme=dark] .calendar-card,[data-theme=dark] .summary-cards>div,[data-theme=dark] .data-card,[data-theme=dark] .service-card,[data-theme=dark] .team-card,[data-theme=dark] .settings-card,[data-theme=dark] .modal,[data-theme=dark] .appointment-list-row,[data-theme=dark] .month-day,[data-theme=dark] .secondary,[data-theme=dark] .icon-button,[data-theme=dark] .language-switch,[data-theme=dark] .theme-switch{background:#252129;color:var(--ink)}[data-theme=dark] .global-search,[data-theme=dark] .mobile-search,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .settings-fields select{background:#1d1920;color:var(--ink);border-color:var(--line)}[data-theme=dark] .hour-cell{background-color:#252129;background-image:linear-gradient(to bottom,transparent 43px,#302a33 44px,transparent 45px)}[data-theme=dark] .hour-cell:hover,[data-theme=dark] .appointment-list-row:hover{background-color:#2d2731}[data-theme=dark] .time-label{background:#252129;color:var(--muted)}[data-theme=dark] .calendar-preview{background:linear-gradient(135deg,#302737,#29232d)}[data-theme=dark] .month-day.blank{background:#1e1a21}[data-theme=dark] .table-head{background:#1e1a21;color:var(--muted)}[data-theme=dark] .mobile-bottom-nav{background:#1f1b22f5}[data-theme=dark] .login-panel{background:#1d1920}[data-theme=dark] .login-form input{background:#252129}[data-theme=dark] .modal label,[data-theme=dark] .modal h2{color:#f3edf5}[data-theme=dark] .modal input,[data-theme=dark] .modal select,[data-theme=dark] .modal textarea{color:#f3edf5;background:#1d1920;border-color:#514657}[data-theme=dark] .modal input::-moz-placeholder,[data-theme=dark] .modal textarea::-moz-placeholder{color:#aaa0ad;opacity:1}[data-theme=dark] .modal input::placeholder,[data-theme=dark] .modal textarea::placeholder{color:#aaa0ad;opacity:1}[data-theme=dark] .modal input:focus,[data-theme=dark] .modal select:focus,[data-theme=dark] .modal textarea:focus{border-color:#c49add;box-shadow:0 0 0 3px #c49add29}[data-theme=dark] .appointment-card,[data-theme=dark] .appointment-card span,[data-theme=dark] .appointment-card strong,[data-theme=dark] .appointment-card small,[data-theme=dark] .appointment-card i,[data-theme=dark] .summary-icon,[data-theme=dark] .service-glyph,[data-theme=dark] .staff-avatar,[data-theme=dark] .team-avatar,[data-theme=dark] .avatar.soft,[data-theme=dark] .list-date,[data-theme=dark] .list-status,[data-theme=dark] .status-dot,[data-theme=dark] .available,[data-theme=dark] .order-number,[data-theme=dark] .month-event,[data-theme=dark] .month-day.today>span,[data-theme=dark] .danger,[data-theme=dark] .login-error{color:#171219}[data-theme=dark] .management-page .row-actions button,[data-theme=dark] .management-page .card-actions button,[data-theme=dark] .management-page .service-glyph,[data-theme=dark] .management-page .status-dot,[data-theme=dark] .management-page .available,[data-theme=dark] .management-page .avatar.soft,[data-theme=dark] .management-page .team-avatar,[data-theme=dark] .primary{color:#171219}[data-theme=dark] .primary:hover{color:#171219;background:#d8cfe0}[data-theme=dark] .display-switch button.active,[data-theme=dark] .view-switch button.active,[data-theme=dark] .today,[data-theme=dark] .filter-button,[data-theme=dark] .mobile-bottom-nav button.active{color:#171219}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:238px;padding:28px 18px 20px;background:#201b25;color:#fff;display:flex;flex-direction:column}[data-theme=light] .sidebar{background:linear-gradient(180deg,var(--theme-accent) 0%,color-mix(in srgb,var(--theme-accent) 82%,#5b1834) 100%)}[data-theme=light] body{background:var(--theme-page)}[data-theme=light] main{background:var(--theme-section)}[data-theme=light] .topbar{background:color-mix(in srgb,var(--theme-accent) 5%,rgba(255,255,255,.94))}[data-theme=light] .calendar-card,[data-theme=light] .summary-cards>div,[data-theme=light] .data-card,[data-theme=light] .service-card,[data-theme=light] .team-card,[data-theme=light] .settings-card,[data-theme=light] .modal,[data-theme=light] .appointment-list-row,[data-theme=light] .month-day{background:var(--theme-surface)}[data-theme=light] .time-label,[data-theme=light] .today,[data-theme=light] .filter-button,[data-theme=light] .icon-button,[data-theme=light] .language-switch,[data-theme=light] .theme-switch,[data-theme=light] .secondary,[data-theme=light] .row-actions button,[data-theme=light] .card-actions button{background:var(--theme-surface)}[data-theme=light] .table-head,[data-theme=light] .month-day.blank,[data-theme=light] .display-switch,[data-theme=light] .view-switch{background:var(--theme-accent-soft)}[data-theme=light] .global-search,[data-theme=light] .mobile-search,[data-theme=light] .modal input,[data-theme=light] .modal select,[data-theme=light] .modal textarea,[data-theme=light] .settings-fields select{background:color-mix(in srgb,var(--theme-accent) 3%,white)}[data-theme=light] .mobile-bottom-nav{background:color-mix(in srgb,var(--theme-accent) 6%,rgba(255,255,255,.96));border-color:color-mix(in srgb,var(--theme-accent) 28%,white)}[data-theme=light] .sidebar-brand-mark{filter:brightness(0) invert(1)}[data-theme=light] .sidebar nav button{color:#ffffffd1}[data-theme=light] .sidebar nav button:hover,[data-theme=light] .sidebar nav button.active{color:#fff;background:#5c1b3833}[data-theme=light] .sidebar nav button.active{box-shadow:inset 3px 0 #ffffffe6}[data-theme=light] .sidebar-toggle{color:#fffc}[data-theme=light] .sidebar-toggle:hover,[data-theme=light] .profile:hover{color:#fff;background:#5c1b3833}[data-theme=light] .profile-wrap{border-top-color:#ffffff40}[data-theme=light] .sidebar .avatar{color:color-mix(in srgb,var(--theme-accent) 62%,#35101f);background:var(--theme-accent-soft)}[data-theme=light] .profile-copy>span,[data-theme=light] .profile-chevron{color:#ffffffb8}[data-theme=light] .profile-menu{border-color:color-mix(in srgb,var(--theme-accent) 55%,white);background:var(--theme-accent-dark)}[data-theme=light] .profile-menu button:hover{background:#5c1b3838}[data-theme=light] .primary{color:#fff;background:var(--theme-accent)}[data-theme=light] .primary:hover{color:#fff;background:var(--theme-accent-dark)}[data-theme=light] .topbar-left .theme-switch,[data-theme=light] .topbar-left .language-switch,[data-theme=light] .topbar-left .mobile-menu{color:#fff;border-color:var(--theme-accent);background:var(--theme-accent)}[data-theme=light] .topbar-left .theme-switch:hover,[data-theme=light] .topbar-left .language-switch:hover,[data-theme=light] .topbar-left .mobile-menu:hover{color:#fff;border-color:var(--theme-accent-dark);background:var(--theme-accent-dark)}[data-theme=dark] .topbar-left .theme-switch,[data-theme=dark] .topbar-left .language-switch,[data-theme=dark] .topbar-left .mobile-menu{color:#171219;border-color:var(--ink);background:var(--ink)}[data-theme=dark] .topbar-left .theme-switch:hover,[data-theme=dark] .topbar-left .language-switch:hover,[data-theme=dark] .topbar-left .mobile-menu:hover{color:#171219;border-color:#d8cfe0;background:#d8cfe0}[data-theme=light] .display-switch button.active,[data-theme=light] .view-switch button.active{color:color-mix(in srgb,var(--theme-accent) 62%,#35101f);background:var(--theme-accent-soft);box-shadow:0 2px 8px color-mix(in srgb,var(--theme-accent) 18%,transparent)}[data-theme=light] .today,[data-theme=light] .filter-button,[data-theme=light] .icon-button,[data-theme=light] .language-switch,[data-theme=light] .theme-switch,[data-theme=light] .secondary{border-color:color-mix(in srgb,var(--theme-accent) 35%,white)}[data-theme=light] .today:hover,[data-theme=light] .filter-button:hover,[data-theme=light] .icon-button:hover,[data-theme=light] .language-switch:hover,[data-theme=light] .theme-switch:hover,[data-theme=light] .secondary:hover{color:color-mix(in srgb,var(--theme-accent) 62%,#35101f);border-color:color-mix(in srgb,var(--theme-accent) 65%,white);background:color-mix(in srgb,var(--theme-accent) 7%,white)}[data-theme=light] .row-actions button:hover,[data-theme=light] .card-actions button:hover{color:color-mix(in srgb,var(--theme-accent) 62%,#35101f);border-color:color-mix(in srgb,var(--theme-accent) 48%,white);background:color-mix(in srgb,var(--theme-accent) 7%,white)}.brand{width:100%;min-height:42px;margin-bottom:34px;display:flex;align-items:center;gap:10px}.sidebar-brand-mark{width:145px;height:42px;flex:none;display:block;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center}.sidebar-toggle{width:30px;height:30px;flex:none;margin-left:auto;border:0;border-radius:8px;display:grid;place-items:center;color:#aaa1ae;background:transparent}.sidebar-toggle:hover{color:#fff;background:#352d3a}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px 14px 14px 4px;background:linear-gradient(135deg,#bd91d8,#8252a8);font:700 25px Playfair Display}.brand strong,.brand span{display:block}.brand strong{font:700 22px Playfair Display}.brand span{color:#a9a1ad;font-size:11px;letter-spacing:.08em;text-transform:uppercase}nav{display:grid;gap:6px}nav button{border:0;border-radius:12px;background:transparent;color:#c4bdc8;display:flex;align-items:center;gap:13px;padding:12px 14px;text-align:left;font-size:14px}nav button:hover,nav button.active{background:#352b3a;color:#fff}nav button.active{box-shadow:inset 3px 0 #c09add}nav button.subitem{margin-top:-4px;padding-left:29px;font-size:12px}.sidebar-card{margin:20px 4px 22px;padding:17px;border-radius:16px;background:linear-gradient(145deg,#3b2d42,#2a2330);display:grid;gap:7px;color:#d4b7e6}.sidebar-card strong{color:#fff;line-height:1.35;font-size:14px}.sidebar-card span{color:#a9a1ad;font-size:12px}.profile-wrap{position:relative;margin-top:auto;border-top:1px solid #3a333f;padding-top:10px}.profile{width:100%;border:0;border-radius:11px;padding:8px;display:flex;align-items:center;gap:10px;color:#fff;background:transparent;text-align:left}.profile:hover{background:#302836}.profile-copy{flex:1;min-width:0}.profile strong,.profile-copy>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile strong{font-size:13px}.profile-copy>span{color:#99919d;font-size:11px}.profile-chevron{color:#99919d;transition:transform .18s}.profile-chevron.rotated{transform:rotate(180deg)}.profile-menu{position:absolute;left:0;right:0;bottom:calc(100% + 8px);padding:6px;border:1px solid #463b4b;border-radius:11px;background:#2b2430;box-shadow:0 12px 30px #110d14aa}.profile-menu button{width:100%;border:0;border-radius:8px;padding:9px 10px;display:flex;align-items:center;gap:9px;color:#eee8f0;background:transparent;text-align:left;font-size:12px}.profile-menu button:hover{background:#3b3042;color:#fff}.profile-menu-enter-active,.profile-menu-leave-active{transition:opacity .15s,transform .15s}.profile-menu-enter-from,.profile-menu-leave-to{opacity:0;transform:translateY(5px)}.avatar{width:36px;height:36px;border-radius:50%;background:#8f5bb7;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}main{margin-left:238px;width:calc(100% - 238px);min-height:100vh}.sidebar,main{transition:width .2s ease,margin-left .2s ease}.sidebar.collapsed{width:76px;padding-left:12px;padding-right:12px}.sidebar.collapsed .brand{min-height:42px;justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-brand-mark{display:none}.sidebar.collapsed .sidebar-toggle{width:40px;height:40px;margin-left:0}.sidebar.collapsed nav button{justify-content:center;padding-left:10px;padding-right:10px}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .profile{justify-content:center;padding-left:4px;padding-right:4px}.sidebar.collapsed .profile-copy,.sidebar.collapsed .profile-chevron{display:none}.sidebar.collapsed .profile-menu{left:0;width:150px;right:auto}.sidebar-collapsed main{margin-left:76px;width:calc(100% - 76px)}.mobile-bottom-nav{display:none}.topbar{height:92px;background:#ffffffde;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:10px}.greeting span{color:var(--muted);font-size:12px}.greeting h1{font:700 23px Playfair Display;margin:3px 0 0}.top-actions{display:flex;align-items:center;gap:10px}.language-switch{height:40px;min-width:62px;padding:0 11px;border:1px solid var(--line);border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ink);background:#fff;font-size:11px;font-weight:700}.language-switch:hover{color:var(--purple-dark);border-color:#cfb9dd;background:#faf6fc}.theme-switch{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;display:inline-grid;place-items:center;color:var(--ink);background:#fff}.theme-switch:hover{color:var(--purple-dark);border-color:#cfb9dd;background:#faf6fc}.global-search,.mobile-search{height:42px;border:1px solid var(--line);background:#faf9fa;border-radius:11px;display:flex;align-items:center;gap:8px;padding:0 13px;color:var(--muted)}.global-search input,.mobile-search input{border:0;outline:0;background:transparent;width:180px}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);display:inline-grid;place-items:center;position:relative}.icon-button i{position:absolute;right:8px;top:7px;width:6px;height:6px;background:#d97795;border:1px solid white;border-radius:50%}.primary,.secondary,.danger{min-height:42px;border-radius:11px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;border:0}.primary{color:#fff;background:var(--ink)}.primary:hover{background:#4a354e}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.danger{background:#fff2f4;color:#b84b68}.mobile-menu,.mobile-search{display:none}.calendar-page,.management-page{padding:30px 32px 48px;max-width:1600px;margin:auto}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{color:var(--purple);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;margin:0 0 5px}h2{font:700 28px Playfair Display;margin:0}.muted{color:var(--muted);margin:5px 0 0;font-size:13px}.summary-cards{display:flex;gap:10px}.summary-cards>div{min-width:145px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px}.summary-cards .summary-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;line-height:0}.summary-icon svg{width:18px;height:18px;display:block}.lavender{background:var(--theme-accent-soft);color:var(--theme-accent-dark)}.mint{background:#e0f2ed;color:#508f83}.peach{background:#f9ead8;color:#b57d43}.summary-cards p{margin:0}.summary-cards strong,.summary-cards span{display:block}.summary-cards strong{font-size:16px}.summary-cards p span{color:var(--muted);font-size:11px}.calendar-card,.data-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px #3023330a;overflow:hidden}.calendar-toolbar{min-height:66px;border-bottom:1px solid var(--line);padding:11px 16px;display:flex;align-items:center;gap:10px}.display-switch{display:flex;gap:3px;padding:4px;border-radius:10px;background:#f4f0f5}.display-switch button{height:32px;padding:0 11px;border:0;border-radius:7px;display:flex;align-items:center;gap:6px;color:var(--muted);background:transparent;font-size:12px;white-space:nowrap;writing-mode:horizontal-tb}.display-switch button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #ded8df}.date-controls{display:flex;gap:7px}.today,.filter-button{height:40px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 15px;white-space:nowrap;writing-mode:horizontal-tb}.view-switch{display:flex;background:var(--soft);padding:4px;border-radius:10px;margin-left:auto}.view-switch button{border:0;background:transparent;border-radius:7px;padding:7px 15px;color:var(--muted);font-size:13px}.view-switch button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #ded8df}.filter-button{display:flex;align-items:center;gap:7px;color:var(--ink)}.filter-button select{min-width:94px;border:0;outline:0;color:inherit;background:transparent;cursor:pointer}.calendar-toolbar button,.calendar-toolbar select,.calendar-toolbar .display-switch button,.calendar-toolbar .view-switch button{font-size:14px}.loading-state{height:480px;display:grid;place-content:center;justify-items:center;color:var(--muted);gap:12px}.loading-state span{width:30px;height:30px;border:3px solid #f0cfdb;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.day-scroll{overflow:auto}.day-grid{--staff-count: 4;--hour-count: 24;--calendar-height: 2112px;min-width:900px;display:grid;grid-template-columns:74px repeat(var(--staff-count),minmax(190px,1fr));grid-template-rows:76px var(--calendar-height)}.corner-label{padding:51px 0 0 14px;color:#aaa2ad;font-size:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.staff-heading{display:flex;align-items:center;justify-content:center;gap:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.staff-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#4f3c55;border:3px solid white;box-shadow:0 0 0 2px currentColor}.staff-heading strong,.staff-heading small{display:block}.staff-heading strong{font-size:13px}.staff-heading small{color:var(--muted);font-size:10px;margin-top:2px}.time-column{grid-row:2;display:grid;grid-template-rows:repeat(var(--hour-count),88px);border-right:1px solid var(--line)}.time-label{color:#918995;text-align:center;font-size:11px;padding-top:7px;transform:translateY(-14px);background:#fff}.staff-column{grid-row:2;position:relative;border-right:1px solid var(--line)}.hour-cell{height:88px;border-bottom:1px solid #eeeaf0;background-image:linear-gradient(to bottom,transparent 43px,#f7f4f7 44px,transparent 45px);cursor:cell}.hour-cell:hover{background-color:#fbf9fb}.appointment-card{position:absolute;left:5px;right:5px;z-index:2;border:0;border-radius:9px;padding:28px 10px 9px;color:#332a35;text-align:left;overflow:hidden;box-shadow:inset 3px 0 #0000001f;transition:transform .15s,filter .15s}.appointment-card:hover{transform:translateY(-1px);filter:saturate(1.08);z-index:3}.appointment-card span,.appointment-card strong,.appointment-card small{display:block}.appointment-card span{font-size:10px;opacity:.7}.appointment-card strong{font-size:13px;margin-top:4px}.appointment-card small{margin-top:2px;font-size:10px;opacity:.75}.appointment-card i{position:absolute;right:7px;top:6px;border-radius:8px;background:#ffffffa6;padding:2px 5px;font-size:8px;font-style:normal}.appointment-card i.confirmed{background:#e7f4efe0;color:#315f50}.appointment-card i.pending{background:#fcf0d8e6;color:#76501c}.appointment-card i.completed{background:#e9effae6;color:#405578}.appointment-card i.cancelled{background:#fbe8ede6;color:#7f3c4d}.appointment-card i.ffk{background:#ffe2daeb;color:#8f3825}.appointment-list{padding:8px 18px 18px}.appointment-list-row{width:100%;min-height:76px;display:grid;grid-template-columns:58px 145px minmax(180px,1.4fr) minmax(130px,1fr) 90px;align-items:center;gap:15px;padding:10px 12px;border:0;border-left:3px solid var(--appointment-color);border-bottom:1px solid var(--line);color:var(--ink);background:#fff;text-align:left}.appointment-list-row:hover{background:#fbf9fc}.appointment-list-row:last-of-type{border-bottom:0}.appointment-management-row{grid-template-columns:58px 145px minmax(180px,1.4fr) minmax(130px,1fr) 90px 250px}.list-date{width:45px;height:50px;display:grid;place-content:center;justify-items:center;border-radius:10px;color:var(--purple-dark);background:var(--theme-accent-soft)}.list-date strong{font-size:17px;line-height:1}.list-date span{margin-top:3px;font-size:9px;text-transform:uppercase}.list-time{display:flex;align-items:center;gap:7px;color:#625b65;font-size:11px}.list-customer strong,.list-customer small{display:block}.list-customer strong{font-size:13px}.list-customer small{margin-top:4px;color:var(--muted);font-size:10px}.list-staff{display:flex;align-items:center;gap:8px;font-size:11px}.list-staff i{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:#443849;font-size:8px;font-style:normal;font-weight:700}.list-status{justify-self:end;border-radius:12px;padding:5px 9px;font-size:9px;font-weight:600}.list-status.confirmed{color:#43806b;background:#e7f4ef}.list-status.pending{color:#9a6a27;background:#fcf0d8}.list-status.completed{color:#526c9a;background:#e9effa}.list-status.cancelled{color:#a54e64;background:#fbe8ed}.list-status.ffk{color:#963f2c;background:#ffe5de}.month-view{display:grid;grid-template-columns:repeat(7,1fr);padding:10px}.weekday{padding:10px;color:var(--muted);font-size:11px;text-align:center;font-weight:700}.month-day{min-height:110px;border:1px solid var(--line);margin:-1px 0 0 -1px;background:#fff;text-align:left;padding:9px;overflow:hidden}.month-day:hover{background:#fbf9fc}.month-day.blank{background:#faf8fa}.month-day>span{font-weight:600;font-size:12px}.month-day.today>span{background:var(--purple);color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.month-event{border-left:3px solid;background:#f8f5f8;padding:5px;border-radius:4px;margin-top:5px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.management-page{padding-top:34px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.appointment-overview{display:grid;grid-template-columns:180px 180px minmax(420px,1fr);gap:12px;margin-bottom:16px}.appointment-stat,.appointment-date-filter{min-height:78px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px #30233309}.appointment-stat{padding:14px;display:flex;align-items:center;gap:11px}.appointment-stat>span{width:42px;height:42px;flex:none;border-radius:11px;display:grid;place-items:center}.completed-stat>span{color:#43806b;background:#e7f4ef}.ffk-stat>span{color:#963f2c;background:#ffe5de}.appointment-stat p,.appointment-stat strong,.appointment-stat small{display:block;margin:0}.appointment-stat strong{font-size:20px;line-height:1}.appointment-stat small{margin-top:5px;color:var(--muted);font-size:10px}.appointment-date-filter{position:relative;padding:10px 12px;display:flex;align-items:flex-end;gap:9px}.appointment-date-filter>svg{align-self:center;flex:none;color:var(--purple)}.appointment-date-filter label{min-width:125px;flex:1;display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:600}.appointment-date-filter input{width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fbfafb}.appointment-date-filter .primary{min-height:38px;height:38px}.appointment-date-filter .primary:disabled{opacity:.45;cursor:not-allowed}.filter-clear{width:38px;min-height:38px;height:38px;padding:0}.filter-error{position:absolute;right:12px;bottom:-16px;color:#b84b68;font-size:9px}.appointment-date-filter .appointment-customer-filter{min-width:175px;flex:1.35}.appointment-customer-filter>span{position:relative;display:block}.appointment-customer-filter svg{position:absolute;left:10px;top:50%;z-index:1;transform:translateY(-50%);color:var(--muted)}.appointment-date-filter .appointment-customer-filter input{padding-left:31px}[data-theme=dark] .appointment-stat,[data-theme=dark] .appointment-date-filter{background:#29232d}.table-row{min-height:78px;display:grid;grid-template-columns:1.1fr 1fr 1fr 106px;align-items:center;gap:20px;padding:0 22px;border-bottom:1px solid var(--line)}.customer-table-no-contact .table-row{grid-template-columns:1.1fr 1fr 106px}.table-row:last-child{border:0}.table-head{min-height:45px;background:#faf8fa;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.person-cell{display:flex;align-items:center;gap:11px;font-size:13px}.avatar.soft{background:#eee3f3;color:#754b8d}.contact-cell{display:grid;gap:5px;font-size:11px;color:#625b65}.contact-cell span{display:flex;align-items:center;gap:6px}.notes{font-size:12px;color:var(--muted)}.row-actions{display:flex;justify-content:flex-start;gap:5px}.row-actions button,.card-actions button{border:1px solid var(--line);color:#716976;background:#fff;border-radius:8px;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.row-actions button{width:32px}.row-actions button:last-child:hover,.card-actions button:last-child:hover{color:#b84b68;background:#fff3f5}.row-actions .whatsapp-action:hover{color:#167b45;border-color:#a9ddbd;background:#e9f8ef}.row-actions .reminder-action{width:auto;padding:0 10px;color:#167b45}.reminder-action span{white-space:nowrap;font-size:10px}.reminder-action>svg{width:17px;height:17px;flex:none}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card,.team-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 24px #30233309}.card-top{display:flex;justify-content:space-between;align-items:flex-start}.service-glyph{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#4c3d51}.service-glyph svg{width:21px}.status-dot,.available{color:#4e8d73;background:#eaf6f1;border-radius:12px;padding:4px 8px;font-size:10px}.service-card>p{margin:22px 0 4px;color:var(--purple);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:700}.service-card h3,.team-card h3{margin:0;font:700 19px Playfair Display}.service-meta{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.service-meta span{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:11px}.service-meta strong{font-size:13px}.card-actions{display:flex;gap:7px;margin-top:16px}.card-actions button:first-child{flex:1}.card-actions button:last-child{width:34px}.team-card{text-align:center}.team-avatar{margin:6px auto 14px;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font:700 18px Playfair Display;color:#4e3d53;border:4px solid white;box-shadow:0 0 0 2px currentColor}.team-card>p{color:var(--muted);font-size:12px;margin:5px 0 15px}.available{display:inline-flex;align-items:center;gap:5px}.available i{width:6px;height:6px;border-radius:50%;background:#58a383}.access-role{width:-moz-fit-content;width:fit-content;margin:-7px auto 10px;padding:4px 8px;border-radius:10px;display:flex;align-items:center;gap:4px;color:#5e5661;background:#eee9ef;font-size:9px;font-weight:700}.access-role.admin{color:#7d405a;background:#f9e3eb}.protected-account{min-height:38px;margin-top:15px;padding:8px 10px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);background:var(--soft);font-size:9px}[data-theme=dark] .access-role{color:#171219}.permission-role-name{display:block;margin:-4px 0 10px;color:var(--muted);font-size:9px}.available.unavailable{color:#8a626a;background:#f5e9ec}.available.unavailable i{background:#b97080}.modal .booking-toggle{margin-top:3px;padding:12px;display:flex;flex-direction:row;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.modal .booking-toggle input{width:17px;height:17px;flex:none;accent-color:var(--theme-accent)}.booking-toggle span,.booking-toggle strong,.booking-toggle small{display:block}.booking-toggle strong{color:var(--ink);font-size:11px}.booking-toggle small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:400}.empty-state{min-height:350px;display:grid;place-content:center;justify-items:center;color:var(--muted)}.empty-state h3{color:var(--ink);margin-bottom:0}.empty-state p{font-size:13px}.settings-page{width:100%;max-width:none;margin:0}.settings-card{width:100%;max-width:none;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px #3023330a;overflow:hidden}.settings-tabs{width:100%;margin-bottom:20px;padding:4px;display:flex;gap:4px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.settings-tabs button{flex:1;min-width:0;height:36px;padding:0 12px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:12px;font-weight:700;white-space:nowrap}.settings-tabs button.active{color:var(--purple-dark);background:#fff;box-shadow:0 3px 10px #30233317}.settings-tab-panel{width:100%;animation:settings-tab-in .18s ease}@keyframes settings-tab-in{0%{opacity:0;transform:translateY(4px)}}[data-theme=dark] .settings-tabs button.active{color:var(--ink);background:#302936}[data-theme=light] .settings-tabs button.active{color:var(--theme-accent-dark);background:var(--theme-accent-soft)}.language-card{margin-bottom:18px}.language-card .settings-fields{grid-template-columns:minmax(220px,1fr)}.theme-colour-card{margin-bottom:18px}.theme-colour-preview{box-shadow:inset 0 0 0 1px #0000001a}.theme-colour-controls{padding:20px 22px;display:flex;align-items:flex-end;gap:12px}.theme-colour-controls label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:600}.theme-colour-controls input{width:64px;height:42px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.theme-colour-controls code{margin-bottom:11px;color:var(--muted);font-size:11px}.theme-colour-controls .secondary{margin-left:auto}.settings-card-head{display:flex;align-items:center;gap:14px;padding:22px;border-bottom:1px solid var(--line)}.settings-glyph{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--theme-accent-soft);color:var(--purple)}.settings-glyph svg{width:21px}.settings-card h3{margin:0;font:700 18px Playfair Display}.settings-card-head p{color:var(--muted);font-size:12px;margin:4px 0 0}.settings-fields{padding:24px 22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:15px}.settings-fields label{display:grid;gap:8px;color:#655e68;font-size:11px;font-weight:600}.settings-fields select{height:44px;border:1px solid #ddd7df;border-radius:10px;padding:0 12px;background:#fbfafb;color:var(--ink)}.settings-divider{color:var(--muted);padding-bottom:13px;font-size:12px}.calendar-preview{margin:0 22px 22px;border-radius:13px;padding:17px 18px;background:linear-gradient(135deg,var(--theme-accent-soft),color-mix(in srgb,var(--theme-accent) 5%,white));border:1px solid color-mix(in srgb,var(--theme-accent) 30%,white);display:grid;grid-template-columns:1fr auto;gap:3px 15px}.calendar-preview span{color:var(--muted);font-size:11px}.calendar-preview strong{grid-row:1 / span 2;grid-column:2;align-self:center;font:700 20px Playfair Display;color:var(--purple-dark)}.calendar-preview p{margin:0;font-size:13px;font-weight:600}.settings-actions{border-top:1px solid var(--line);padding:16px 22px;display:flex;justify-content:flex-end}.whatsapp-glyph{color:#167b45;background:#e2f6ea}.reminder-message-editor{padding:20px 22px}.reminder-message-editor textarea{width:100%;min-height:120px;padding:12px 13px;resize:vertical;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fbfafb;font:inherit;line-height:1.55;outline:none}.reminder-message-editor textarea:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-accent-soft)}.reminder-message-editor p{margin:11px 0 7px;color:var(--muted);font-size:10px}.reminder-message-editor code{display:inline-block;margin:0 6px 5px 0;padding:4px 7px;border-radius:6px;color:var(--purple-dark);background:var(--theme-accent-soft);font-size:9px}[data-theme=dark] .reminder-message-editor textarea{background:#29232d}.team-order-card{margin-top:18px}.staff-order-list{list-style:none;margin:0;padding:8px 18px 18px}.staff-order-list li{min-height:62px;padding:8px 4px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.staff-order-list li:last-child{border-bottom:0}.order-grip{color:#b4acb7}.staff-order-list .staff-avatar{width:34px;height:34px;box-shadow:none;border:0}.order-person{flex:1;min-width:0}.order-person strong,.order-person small{display:block}.order-person strong{font-size:12px}.order-person small{margin-top:3px;color:var(--muted);font-size:9px}.order-number{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:var(--purple-dark);background:var(--theme-accent-soft);font-size:10px;font-weight:700}.staff-order-list button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:#706976;background:#fff}.staff-order-list button:hover:not(:disabled){color:var(--purple-dark);border-color:color-mix(in srgb,var(--theme-accent) 48%,white);background:color-mix(in srgb,var(--theme-accent) 7%,white)}.staff-order-list button:disabled{opacity:.3;cursor:not-allowed}.roles-card .settings-card-head{align-items:center}.role-add-button{margin-left:auto}.role-list{padding:8px 18px 18px}.role-list article{min-height:62px;padding:9px 4px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line)}.role-list article:last-child{border:0}.role-list article>div{flex:1}.role-list strong,.role-list small{display:block}.role-list strong{font-size:12px}.role-list small{margin-top:4px;color:var(--muted);font-size:9px}.role-list button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--muted);background:#fff}.role-empty{padding:25px;color:var(--muted);text-align:center;font-size:11px}.role-modal-wrap{z-index:55}.role-modal{width:min(680px,100%)}.permission-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.permission-groups fieldset{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.permission-groups legend{padding:0 5px;color:var(--ink);font-size:11px;font-weight:700}.modal .permission-groups label{margin:0;padding:7px 2px;display:flex;align-items:center;gap:8px;cursor:pointer}.modal .permission-groups input{width:15px;height:15px;flex:none;accent-color:var(--theme-accent)}.permission-groups label span{font-size:10px}.permission-groups fieldset:first-child{grid-column:1 / -1}.permission-groups fieldset:first-child label{display:inline-flex;margin-right:22px}[data-theme=dark] .role-list button{background:#29232d}.modal-wrap{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;background:#201b257a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.modal{width:min(580px,100%);max-height:92vh;overflow:auto;border-radius:20px;background:#fff;padding:26px;box-shadow:0 25px 70px #1a131d40}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.modal label{display:grid;gap:7px;color:#655e68;font-size:11px;font-weight:600;margin-bottom:15px}.customer-details-modal{width:min(720px,100%);padding:0}.customer-details-head{padding:24px 26px 20px;margin:0;border-bottom:1px solid var(--line)}.customer-details-identity{display:flex;align-items:center;gap:13px}.customer-details-identity .avatar{width:46px;height:46px}.customer-details-identity h2{margin:2px 0 0;font-size:23px}.customer-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 26px}.customer-detail-grid>div{min-width:0;display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfafb}.customer-detail-grid svg{flex:none;margin-top:2px;color:var(--purple)}.customer-detail-grid span,.customer-detail-grid small,.customer-detail-grid strong{display:block;min-width:0}.customer-detail-grid small{margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:600}.customer-detail-grid strong{overflow-wrap:anywhere;font-size:12px;font-weight:600}.customer-detail-grid .customer-detail-notes{grid-column:1 / -1}.customer-history-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 26px 12px;border-top:1px solid var(--line)}.customer-history-heading h3{margin:0;font:700 18px Playfair Display}.customer-history-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}.customer-history-heading>svg{color:var(--purple)}.customer-history-list{padding:0 26px 26px}.customer-history-row{display:grid;grid-template-columns:minmax(180px,1.3fr) auto;gap:9px 16px;padding:14px 15px;border:1px solid var(--line);border-left:4px solid var(--appointment-color);border-radius:11px;margin-top:9px;background:#fff}.customer-history-date strong,.customer-history-date span,.customer-history-services strong,.customer-history-services span{display:block}.customer-history-date strong{font-size:12px}.customer-history-date span{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--muted);font-size:10px}.customer-history-services strong{font-size:12px}.customer-history-services span{margin-top:4px;color:var(--muted);font-size:10px}.customer-history-staff{align-self:end;display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--muted);font-size:11px}.customer-history-loading{min-height:180px}.customer-history-empty{min-height:150px;margin:0 26px 26px;border:1px dashed var(--line);border-radius:12px;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--muted)}.customer-history-empty p{margin:0;font-size:12px}.customer-history-row>.list-status{width:76px;display:inline-flex;align-items:center;justify-content:center;text-align:center}[data-theme=dark] .customer-detail-grid>div,[data-theme=dark] .customer-history-row{background:#29232d}.customer-picker-row{display:flex;align-items:flex-end;gap:8px}.customer-picker-row label{flex:1;min-width:0}.quick-add-customer{width:43px;min-width:43px;height:43px;min-height:43px;margin-bottom:15px;padding:0}.quick-customer-wrap{z-index:55}.quick-customer-modal{width:min(500px,100%)}.customer-search-select{position:relative;flex:1;min-width:0}.customer-search-input{position:relative;display:block}.customer-search-input>svg{position:absolute;z-index:1;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.modal .customer-search-input input{padding-left:36px}.customer-search-results{position:absolute;z-index:8;top:calc(100% - 11px);left:0;right:0;max-height:250px;overflow-y:auto;border:1px solid var(--line);border-radius:11px;padding:5px;background:#fff;box-shadow:0 15px 35px #241c272e}.customer-search-results button{width:100%;min-height:48px;padding:7px 9px;border:0;border-radius:8px;display:grid;grid-template-columns:29px 1fr auto 18px;align-items:center;gap:8px;color:var(--ink);background:transparent;text-align:left}.customer-search-results button:hover,.customer-search-results button.selected{background:var(--theme-accent-soft)}.customer-search-results button>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--purple);background:#f1ebf3}.customer-search-results strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.customer-search-results small{color:var(--muted);font-size:9px}.customer-search-results button>svg{color:var(--purple)}.customer-search-message{margin:0;padding:14px 10px;color:var(--muted);text-align:center;font-size:10px}[data-theme=dark] .customer-search-results{background:#29232d}.modal input,.modal select,.modal textarea{width:100%;border:1px solid #ddd7df;border-radius:10px;background:#fbfafb;padding:11px 12px;color:var(--ink);outline:none;resize:vertical}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-accent-soft)}.modal input[type=color]{padding:4px;height:43px}.form-row{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px}.form-row>label{align-content:start}.modal-actions{display:flex;gap:8px;align-items:center;margin-top:12px;padding-top:18px;border-top:1px solid var(--line)}.modal-actions>span{flex:1}.modal-reminder-action{color:#167b45;border-color:#a9ddbd}.modal-reminder-action:hover{color:#106637;background:#e9f8ef}.modal-reminder-action svg{width:17px;height:17px;flex:none}.modal-head-actions{display:flex;align-items:center;gap:8px}.modal-head-actions .modal-reminder-action{min-height:38px;height:38px;padding:0 11px}.appointment-edit-modal .modal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-edit-modal .modal-actions>span{display:none}.appointment-edit-modal .modal-actions>button{width:100%;min-width:0;min-height:48px;height:48px;padding:5px 8px;white-space:normal;text-align:center;line-height:1.15;overflow-wrap:anywhere}.modal-reminder-copy{display:grid;justify-items:center;line-height:1.05}.modal-reminder-copy>span{display:block}.service-picker{width:100%;min-width:0;max-height:150px;margin:0 0 15px;padding:10px;overflow:auto;border:1px solid #ddd7df;border-radius:10px}.service-picker legend{padding:0 5px;color:#655e68;font-size:11px;font-weight:600}.modal .service-option{margin:0;padding:7px 5px;display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:8px;border-radius:7px;cursor:pointer}.modal .service-option:hover{background:var(--theme-accent-soft)}.modal .service-option input{width:16px;height:16px;flex:none;accent-color:var(--theme-accent)}.service-option span{min-width:0;display:flex;align-items:center;gap:7px;color:var(--ink);font-size:11px}.service-option span:before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--service-colour)}.modal label small{color:var(--muted);font-size:9px;font-weight:400}[data-theme=dark] .service-picker{border-color:#514657}.service-picker legend{color:inherit}.toast{position:fixed;z-index:60;right:24px;bottom:24px;background:#28222d;color:#fff;border-radius:11px;padding:12px 16px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 35px #8c808f55;font-size:13px}.toast.error{background:#a94862}.toast-enter-active,.toast-leave-active{transition:.2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.auth-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;background:#f8f6f8}.auth-loading>span{width:28px;height:28px;border:3px solid #f0cfdb;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}.auth-loading p{color:var(--muted);font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(500px,1.1fr);background:#fff}.login-visual{position:relative;overflow:hidden;padding:42px;color:#fff;background:linear-gradient(145deg,#241c29,#4a3151)}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;background-image:radial-gradient(#fff .6px,transparent .6px);background-size:16px 16px}.login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:12px}.login-brand strong{font:700 25px Playfair Display}.login-quote{position:relative;z-index:2;top:38%;transform:translateY(-50%)}.login-quote svg{color:#d1a9e4}.login-quote p{font:700 clamp(32px,4vw,55px)/1.08 "Playfair Display";margin:18px 0}.login-quote span{color:#c4b2c9;font-size:12px;text-transform:uppercase;letter-spacing:.14em}.beauty-orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-one{width:340px;height:340px;right:-130px;bottom:-80px;background:#b87bc655}.orb-two{width:180px;height:180px;left:-70px;bottom:120px;background:#e9b8c833}.login-panel{display:grid;place-items:center;padding:40px}.login-form{width:min(420px,100%)}.login-form h1{margin:4px 0 8px;font:700 38px Playfair Display}.login-intro{color:var(--muted);font-size:13px;margin:0 0 27px}.login-form label{display:grid;gap:8px;margin:0 0 16px;color:#625b65;font-size:11px;font-weight:600}.login-form input{height:46px;padding:0 13px;border:1px solid #ddd7df;border-radius:10px;background:#fbfafb;outline:none}.login-form input:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-accent-soft)}.login-button{width:100%;margin-top:5px;height:47px}.login-button:disabled{opacity:.7;cursor:wait}.button-spinner{width:16px;height:16px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.login-help{text-align:center;color:var(--muted);font-size:11px;margin-top:18px}.login-error{display:flex;gap:8px;align-items:center;color:#a94862;background:#fff1f4;border:1px solid #f5d6df;border-radius:10px;padding:10px 12px;font-size:12px;margin-bottom:16px}.scrim{display:none}@media(max-width:1100px){.summary-cards>div{min-width:110px}.summary-cards>div:nth-child(2){display:none}.card-grid{grid-template-columns:repeat(2,1fr)}.appointment-overview{grid-template-columns:1fr 1fr}.appointment-date-filter{grid-column:1 / -1}}@media(max-width:800px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:28px 20px}.sidebar,.sidebar.collapsed{width:238px;padding:28px 18px 20px;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none}.scrim{display:block;position:fixed;z-index:19;top:0;right:0;bottom:0;left:0;background:#211b2677}.sidebar.collapsed .brand{min-height:42px;flex-direction:row;justify-content:flex-start;padding:0 4px}.sidebar.collapsed .nav-label,.sidebar.collapsed .profile-copy,.sidebar.collapsed .profile-chevron{display:block}.sidebar.collapsed .sidebar-brand-mark{width:138px;height:42px;display:block}.sidebar-toggle{display:none}.sidebar.collapsed nav button{justify-content:flex-start;padding:12px 14px}.sidebar.collapsed .profile{justify-content:flex-start;padding:8px}main,.sidebar-collapsed main{margin-left:0;width:100%;padding-bottom:72px}.topbar{height:74px;padding:0 16px}.mobile-menu{display:inline-grid}.greeting{margin-right:auto;margin-left:10px}.greeting span{display:none}.greeting h1{font-size:19px}.mobile-bottom-nav{position:fixed;z-index:18;left:12px;right:12px;bottom:10px;height:60px;padding:5px;display:grid;grid-template-columns:repeat(var(--mobile-nav-count, 3),1fr);gap:4px;border:1px solid #e4dee6;border-radius:16px;background:#fffffff2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px #281e2b2b}.mobile-bottom-nav button{min-width:0;padding:5px;border:0;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#8a828d;background:transparent;font-size:9px}.mobile-bottom-nav button.active{color:var(--purple-dark);background:var(--theme-accent-soft)}.top-actions .icon-button,.global-search{display:none}.top-actions .primary{width:42px;height:42px;min-height:42px;padding:0;gap:0;font-size:0;line-height:0;display:inline-grid;place-items:center;align-content:center}.top-actions .primary svg{width:19px;height:19px;margin:0;display:block}.calendar-page,.management-page{padding:22px 16px 36px}.hero-row{align-items:flex-start}.summary-cards>div{display:none}.summary-cards>div:first-child{display:flex;min-width:100px}.calendar-toolbar{flex-wrap:wrap}.filter-button{display:none}.day-grid{width:-moz-max-content;width:max-content;min-width:100%;grid-template-columns:48px repeat(var(--staff-count),98px)}.corner-label{padding-left:5px;font-size:8px}.staff-heading{gap:0}.staff-heading>div{display:none}.staff-avatar{width:34px;height:34px;font-size:9px;border-width:2px;box-shadow:0 0 0 1px currentColor}.time-label{font-size:9px}.appointment-card{left:3px;right:3px;padding:7px 6px;border-radius:7px}.appointment-card span{font-size:8px}.appointment-card strong{font-size:10px;margin-top:3px}.appointment-card small{font-size:8px}.appointment-card i{display:none}.display-switch{order:3;width:100%}.display-switch button{flex:1;justify-content:center}.appointment-list-row{grid-template-columns:50px 1fr auto;gap:9px}.list-time{grid-column:2}.list-customer{grid-column:2;grid-row:1}.list-staff{display:none}.list-status{grid-column:3;grid-row:1 / span 2}.appointment-management-row .list-status{grid-row:1}.appointment-management-row .row-actions{width:126px;grid-column:3;grid-row:2;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:5px}.appointment-management-row .row-actions .reminder-action{width:106px;flex-basis:106px;order:-1;padding:0 7px}.appointment-management-row .reminder-action span{display:inline;font-size:8px}.month-view{min-width:670px}.calendar-card{overflow-x:auto}.mobile-search{display:flex;margin-top:17px;width:100%}.mobile-search input{width:100%}.page-heading{display:block}.appointment-overview{grid-template-columns:1fr 1fr}.appointment-stat{min-width:0}.appointment-date-filter{grid-column:1 / -1;flex-wrap:wrap;padding:13px}.appointment-date-filter>svg{display:none}.appointment-date-filter label{min-width:calc(50% - 5px)}.appointment-date-filter .appointment-customer-filter{min-width:100%;flex-basis:100%}.appointment-date-filter .primary{flex:1}.filter-error{position:static;width:100%}.table-row{grid-template-columns:1fr 65px;padding:12px 15px;gap:10px}.table-head{display:none}.contact-cell{grid-column:1}.notes{display:none}.row-actions{grid-column:2;grid-row:1 / span 2}.card-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.modal{padding:20px}.modal-head-actions .modal-reminder-action{width:104px;min-width:104px;min-height:46px;height:46px;gap:6px;padding:4px 9px}.modal-head-actions .modal-reminder-copy{width:auto;max-width:none;white-space:nowrap;line-height:1.05;overflow:visible}.customer-details-modal{padding:0}.customer-details-head{padding:20px}.customer-detail-grid{grid-template-columns:1fr;padding:16px 20px}.customer-detail-grid .customer-detail-notes{grid-column:auto}.customer-history-heading{padding:16px 20px 10px}.customer-history-list{padding:0 20px 20px}.customer-history-row{grid-template-columns:1fr auto}.customer-history-services{grid-column:1 / -1}.customer-history-staff{grid-column:1 / -1;justify-content:flex-start}.customer-history-empty{margin:0 20px 20px}.permission-groups{grid-template-columns:1fr}.permission-groups fieldset:first-child{grid-column:auto}.role-add-button{width:38px;padding:0;font-size:0}.settings-fields{grid-template-columns:1fr}.settings-divider{padding:0;text-align:center}.calendar-preview{grid-template-columns:1fr}.calendar-preview strong{grid-row:auto;grid-column:auto}}@media(max-width:440px){.summary-cards{display:none}.hero-row{margin-bottom:17px}.hero-row h2{font-size:24px}.view-switch button{padding:7px 11px}.calendar-toolbar{gap:7px}.modal-actions{flex-wrap:wrap}.modal-actions .danger{order:4;width:100%}.appointment-edit-modal .modal-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-edit-modal .modal-actions .danger{width:100%;order:initial}}
