:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173247;background:#f8fcfe;font-synthesis:none;text-rendering:optimizeLegibility;--brand: #8cc8eb;--brand-hover: #73b9e2;--brand-active: #5ca8d7;--brand-strong: #246b94;--brand-ink: #173247;--brand-soft: #eaf6fc;--brand-soft-hover: #dceff9;--surface: #ffffff;--surface-subtle: #f3f9fc;--surface-page: #f8fcfe;--text: #173247;--text-muted: #607789;--border: #cfe2ec;--border-strong: #abcddd;--focus: #287ba8;--danger: #b42318;--danger-soft: #fff0ee;--warning: #765100;--warning-soft: #fff8dc;--success: #326145;--success-soft: #e3f1e7;--wine: var(--brand-strong);--rose: var(--brand-soft);--selection-outline: 2px solid var(--focus)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--brand) var(--brand-soft)}*::-webkit-scrollbar{width:.65rem;height:.65rem}*::-webkit-scrollbar-button{width:0;height:0;display:none}*::-webkit-scrollbar-track{background:var(--brand-soft)}*::-webkit-scrollbar-thumb{border:2px solid var(--brand-soft);border-radius:999px;background:var(--brand)}*::-webkit-scrollbar-thumb:hover{background:var(--wine)}*::-webkit-scrollbar-corner{background:transparent}body{margin:0;min-width:320px;min-height:100vh}.app-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 15% 15%,#e5f5fc 0,transparent 35%),radial-gradient(circle at 85% 80%,#d8eef9 0,transparent 30%),var(--surface-page)}.welcome-card{width:min(100%,44rem);padding:clamp(2rem,7vw,4.5rem);text-align:center;border:1px solid var(--border);border-radius:2rem;background:#ffffffe0;box-shadow:0 1.5rem 5rem #1c52701f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.eyebrow{color:var(--wine);font-size:.75rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.brand-mark{width:4.5rem;height:4.5rem;display:grid;place-items:center;margin:1.5rem auto;color:var(--brand-ink);border-radius:1.35rem;background:var(--brand);font-family:Georgia,serif;font-size:1.35rem}h1{margin:0;color:var(--brand-ink);font-family:Georgia,serif;font-size:clamp(2.75rem,9vw,5.5rem);font-weight:500;letter-spacing:-.045em}p{max-width:34rem;margin:1rem auto 2.25rem;color:var(--text-muted);font-size:1.05rem;line-height:1.65}.setup-status{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0}.setup-status div{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:snow}.setup-status dt{color:#8a747b;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.setup-status dd{margin:.35rem 0 0;color:#3c2930;font-size:.9rem;font-weight:650}@media(max-width:36rem){.app-shell{padding:1rem}.welcome-card{border-radius:1.4rem}.setup-status{grid-template-columns:1fr}}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:var(--selection-outline);outline-offset:1px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23246b94' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:1rem}.auth-shell,.loading-screen{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:linear-gradient(145deg,var(--surface-page),var(--brand-soft))}.loading-state{display:flex;align-items:center;justify-content:center;gap:.8rem;color:var(--text-muted)}.loading-state-section{min-height:12rem;padding:2rem}.loading-state-inline{justify-content:flex-start;gap:.45rem;min-height:auto;padding:0;font-size:.75rem}.loading-spinner{width:2.5rem;height:2.5rem;flex:0 0 auto;border:3px solid var(--brand-soft-hover);border-top-color:var(--brand-strong);border-right-color:var(--brand);border-radius:50%;box-shadow:0 0 0 .3rem #8cc8eb1f;animation:noa-spinner .8s linear infinite}.loading-state-inline .loading-spinner{width:.95rem;height:.95rem;border-width:2px;box-shadow:none}.loading-label{font-size:.82rem;font-weight:650}@keyframes noa-spinner{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.auth-card{width:min(100%,31rem);padding:clamp(1.5rem,5vw,3rem);border:1px solid var(--border);border-radius:1.75rem;background:#fff;box-shadow:0 1.5rem 5rem #1c52701a}.auth-brand{display:inline-grid;gap:.12rem;margin-bottom:2rem;color:var(--brand-ink);font-family:Georgia,serif;font-size:1.65rem;text-decoration:none}.auth-brand small{color:var(--text-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.62rem;font-weight:650;letter-spacing:.08em}.auth-card h1{font-size:clamp(2.1rem,8vw,3.25rem)}.auth-subtitle{margin:.5rem 0 2rem;text-align:left}.auth-form{display:grid;gap:.45rem}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.auth-field{display:grid;gap:.45rem;color:#4b363d;font-size:.9rem;font-weight:650}.auth-field input{width:100%;padding:.8rem .9rem;color:#281b1f;border:1px solid var(--border);border-radius:.75rem;background:#fffdfd;outline:none}.auth-field select{width:100%;padding:.8rem 2.75rem .8rem .9rem;color:#281b1f;border:1px solid var(--border);border-radius:.75rem;background-color:#fffdfd}.auth-field textarea{width:100%;min-height:6rem;padding:.8rem .9rem;color:#281b1f;border:1px solid var(--border);border-radius:.75rem;background:#fffdfd;resize:vertical}.auth-field input:focus,.auth-field select:focus,.auth-field textarea:focus{outline:var(--selection-outline);outline-offset:1px}.auth-field input[aria-invalid=true]{border-color:#b42318}.field-error{min-height:1rem;color:#b42318;font-size:.75rem;font-weight:500}.form-error{margin:.25rem 0;padding:.75rem;color:#8e1c14;border-radius:.75rem;background:#fff0ee;font-size:.875rem}.primary-action,.secondary-action{padding:.85rem 1.1rem;border:0;border-radius:.8rem;font-weight:700}.primary-action{color:var(--brand-ink);background:var(--brand);transition:background .18s ease,transform .18s ease}.primary-action:hover:not(:disabled){background:var(--brand-hover)}.primary-action:active:not(:disabled){background:var(--brand-active);transform:translateY(1px)}.primary-action:disabled{color:#668091;background:#d8e8ef}.secondary-action{margin-top:1.5rem;color:var(--wine);background:var(--rose)}.secondary-action:hover:not(:disabled){background:var(--brand-soft-hover)}.auth-switch{margin:1.5rem 0 0;text-align:center;font-size:.9rem}.auth-switch a{color:var(--wine);font-weight:700}@media(max-width:30rem){.auth-row{grid-template-columns:1fr;gap:.45rem}}.onboarding-card{width:min(100%,44rem)}.field-hint{margin:-.25rem 0 .5rem;color:#8a747b;font-size:.78rem;text-align:left}.product-shell{min-height:100vh;background:var(--surface-page)}.product-header{display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--border);background:#fff}.product-header .auth-brand{margin:0}.product-header nav{display:flex;align-items:center;gap:1rem}.product-header nav a{color:var(--wine);font-weight:700;text-decoration:none}.product-header nav button{padding:.6rem .8rem;color:#624d54;border:0;background:transparent}.settings-shell{min-height:calc(100vh - 4.5rem);padding:clamp(1rem,4vw,3rem)}.settings-card{max-width:58rem;margin:auto;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:1.5rem;background:#fff}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.settings-header h1{margin-top:.5rem;font-size:clamp(2rem,6vw,3.25rem)}.settings-header a{color:var(--wine);font-weight:700}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.settings-actions{grid-column:1/-1;display:flex;align-items:center;gap:1rem;margin-top:1rem}.settings-grid .form-error{grid-column:1/-1}.settings-language-field{grid-column:1/-1;max-width:22rem}.settings-language-field .field-hint{margin:0}.settings-working-hours{grid-column:1/-1;display:grid;grid-template-columns:minmax(12rem,1fr) repeat(2,minmax(0,1fr));align-items:start;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:snow}.settings-working-hours-copy{display:grid;gap:.3rem;padding-top:.15rem}.settings-section-label{color:#4b363d;font-size:.9rem;font-weight:700}.settings-working-hours .field-hint{margin:0}.checkbox-field{grid-column:1/-1;display:flex;align-items:center;gap:.65rem;font-weight:650}.checkbox-field input{width:1.1rem;height:1.1rem;accent-color:var(--brand-strong)}@media(max-width:48rem){.settings-working-hours{grid-template-columns:1fr 1fr}.settings-working-hours-copy{grid-column:1/-1}}@media(max-width:40rem){.settings-grid,.settings-working-hours{grid-template-columns:1fr}.settings-working-hours-copy{grid-column:auto}.product-header{align-items:flex-start}}.employee-form{display:grid;gap:.75rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.employee-form .primary-action{justify-self:start}.employee-list{display:grid;gap:.75rem;margin-top:2rem}.employee-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:snow}.employee-item>div:first-child{display:grid;gap:.25rem}.employee-item span{color:#79656c;font-size:.85rem}.employee-actions{display:flex;gap:.5rem}.employee-actions .secondary-action{margin:0}.employee-edit-form{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.employee-edit-form .employee-actions{grid-column:1/-1}.danger-action{padding:.85rem 1.1rem;color:#8e1c14;border:0;border-radius:.8rem;background:#fff0ee;font-weight:700}.services-layout{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start}.service-form-card,.service-categories-card,.service-catalog-card{min-width:0}.service-form-card,.service-categories-card{padding:1.5rem}.service-catalog-card{grid-column:1 / -1}.service-categories-page-card{max-width:64rem}.service-category-required{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:.85rem 1rem;color:var(--brand-ink);border:1px solid var(--border);border-radius:.85rem;background:var(--brand-soft);font-size:.86rem}.service-category-required a{flex:0 0 auto;color:var(--brand-strong);font-weight:750}.service-editor,.service-categories-panel,.service-catalog-list{display:grid;gap:1rem}.service-editor-heading,.service-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.service-editor-heading h2,.service-section-heading h2{margin:.3rem 0 0;color:#3a1c25;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.service-editor-heading .secondary-action{margin:0}.service-section-heading>span{color:#8a747b;font-size:.78rem;font-weight:700}.service-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.service-editor>.auth-field textarea{min-height:4.25rem}.service-employee-selector{display:grid;gap:.7rem;margin:0;padding:0;border:0}.service-employee-selector legend{margin-bottom:.7rem;color:#4b363d;font-size:.9rem;font-weight:650}.service-employee-selector>div{display:flex;flex-wrap:wrap;gap:.55rem}.service-employee-selector label{display:flex;align-items:center;gap:.5rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:.7rem;background:snow;cursor:pointer}.service-employee-selector label:has(input:checked){outline:var(--selection-outline);outline-offset:1px;background:#f9edf0}.service-employee-selector input{accent-color:var(--wine)}.service-employee-selector p{margin:0;font-size:.82rem}.service-editor-actions{display:flex;justify-content:flex-end;padding-top:.9rem;border-top:1px solid #eee4e6}.service-category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem}.service-category-list{display:grid;gap:.55rem}.service-category-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:.75rem;background:snow}.service-category-item>div:first-child{min-width:0;display:grid;gap:.15rem}.service-category-item>div:first-child span{color:#8a747b;font-size:.72rem}.service-category-item>input{min-width:0;flex:1;padding:.65rem .75rem;border:1px solid var(--border);border-radius:.65rem;background:#fff}.service-category-actions{position:relative;flex:0 0 auto}.service-category-actions summary{width:2rem;height:2rem;display:grid;place-items:center;color:#765e66;border-radius:.55rem;cursor:pointer;font-weight:800;letter-spacing:.08em;list-style:none}.service-category-actions summary::-webkit-details-marker{display:none}.service-category-actions summary:hover,.service-category-actions[open] summary{color:var(--wine);background:var(--rose)}.service-category-actions[open] summary{outline:var(--selection-outline);outline-offset:1px}.service-category-actions>div{position:absolute;top:calc(100% + .35rem);right:0;z-index:10;width:11rem;display:grid;padding:.35rem;border:1px solid var(--border);border-radius:.8rem;background:#fff;box-shadow:0 .9rem 2rem #441a2724}.service-category-actions button{padding:.65rem .75rem;color:#563c45;border:0;border-radius:.55rem;background:transparent;font-size:.76rem;font-weight:650;text-align:left}.service-category-actions button:hover{background:#f8eff1}.service-category-actions .service-category-action-danger{color:#a3362e}.service-category-group{display:grid;gap:.7rem}.service-category-group h3{margin:0;color:#5b4049;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.service-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.service-card{display:grid;gap:.9rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fffdfd}.service-card.is-inactive{opacity:.62}.service-card-header,.service-card-meta,.service-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.service-card-header>div{display:grid;gap:.2rem}.service-card-header span,.service-card-meta{color:#8a747b;font-size:.74rem}.service-card p{margin:0;color:#715d64;font-size:.82rem;line-height:1.5}.service-card-actions{justify-content:flex-end;padding-top:.75rem;border-top:1px solid #eee4e6}.service-card-actions button{margin:0;padding:.55rem .7rem;font-size:.74rem}.service-catalog-empty{min-height:14rem;display:grid;place-items:center;align-content:center;gap:.4rem;text-align:center}.service-catalog-empty>span{color:var(--wine);font-size:1.8rem}.service-catalog-empty h2,.service-catalog-empty p{margin:0}@media(max-width:64rem){.services-layout{grid-template-columns:1fr}.service-catalog-card{grid-column:auto}}@media(max-width:42rem){.service-form-grid,.service-card-grid,.service-category-create{grid-template-columns:1fr}.service-category-required{align-items:flex-start;flex-direction:column}.service-category-item,.service-card-actions{align-items:stretch;flex-direction:column}.service-category-item>div:last-child,.service-card-actions{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:40rem){.employee-item{align-items:stretch;flex-direction:column}.employee-actions{justify-content:flex-end}.employee-edit-form{grid-template-columns:1fr}}.clients-card{width:100%;max-width:64rem}.client-search{width:100%;display:flex;gap:.75rem;margin-bottom:1.5rem}.client-search input{min-width:0;flex:1;padding:.8rem .9rem;border:1px solid var(--border);border-radius:.75rem}.client-search .secondary-action{margin:0}.clients-card .employee-list{margin-top:0}.duplicate-warning{margin:0;padding:.75rem;color:#765100;border-radius:.75rem;background:#fff8dc;font-size:.875rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination button{padding:.65rem .9rem;color:var(--wine);border:1px solid var(--border);border-radius:.7rem;background:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-layout{min-height:100vh;background:var(--surface-page)}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:16.5rem;display:flex;flex-direction:column;padding:1.35rem 1rem 1rem;color:#eaf6fc;background:linear-gradient(180deg,#244e68,#173247);box-shadow:1rem 0 3rem #17324717;transition:width .2s ease,padding .2s ease}.sidebar-header{min-height:2.75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1.75rem}.sidebar-brand{display:flex;align-items:center;gap:.8rem;padding:0 .5rem}.sidebar-toggle{width:2.25rem;height:2.25rem;display:grid;flex:0 0 auto;place-items:center;padding:0;color:#b9dced;border:0;border-radius:.65rem;background:transparent;transition:color .18s ease,background .18s ease}.sidebar-toggle:hover{color:#fff;background:#ffffff14}.sidebar-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sidebar-toggle svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.sidebar-brand-mark{width:2.5rem;height:2.5rem;display:grid;flex:0 0 auto;place-items:center;color:var(--brand-ink);border-radius:.85rem;background:var(--brand);font-family:Georgia,serif;font-size:1.35rem}.sidebar-brand div,.account-copy{min-width:0;display:grid;gap:.2rem}.sidebar-brand strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.sidebar-brand div span,.account-copy span{overflow:hidden;color:#b9dced;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-navigation{min-width:0;display:grid;gap:1.2rem}.navigation-section{min-width:0;display:grid;gap:.3rem}.navigation-label{min-height:1.1rem;padding:0 .75rem .35rem;color:#99c6db;font-size:.66rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.navigation-item{min-height:2.75rem;display:flex;align-items:center;gap:.75rem;padding:.72rem .75rem;color:#d8ecf5;border-radius:.8rem;font-size:.9rem;font-weight:620;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.navigation-item:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.navigation-item.is-active{color:var(--brand-ink);background:var(--brand);box-shadow:0 .35rem 1rem #0722342e}.navigation-item svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.sidebar-account-menu{position:relative;margin-top:auto}.sidebar-account-menu.is-mobile{display:none;margin-top:0}.sidebar-account-trigger{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.85rem .7rem;color:#eaf6fc;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:#ffffff0e;text-align:left;transition:border-color .18s ease,background .18s ease}.sidebar-account-trigger:hover,.sidebar-account-trigger[aria-expanded=true]{border-color:#ffffff2e;background:#ffffff17}.account-avatar,.mobile-avatar{display:grid;place-items:center;color:var(--brand-ink);border-radius:50%;background:var(--brand);font-size:.72rem;font-weight:800}.account-avatar{width:2.2rem;height:2.2rem}.account-copy strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.account-menu-chevron{width:1rem;height:1rem;fill:none;stroke:#b9dced;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .18s ease}.sidebar-account-trigger[aria-expanded=true] .account-menu-chevron{transform:rotate(180deg)}.sidebar-account-popup{position:absolute;bottom:0;left:calc(100% + .75rem);z-index:50;width:16rem;padding:.75rem;color:#3f2530;border:1px solid var(--border);border-radius:1rem;background:#fffdfd;box-shadow:0 1rem 3rem #2b0d1833}.sidebar-account-popup-header{display:flex;align-items:center;gap:.7rem;padding:.25rem .25rem .8rem;border-bottom:1px solid var(--border)}.sidebar-account-popup-header>span:last-child{min-width:0;display:grid;gap:.15rem}.sidebar-account-popup-header strong,.sidebar-account-popup-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-popup-header strong{font-size:.84rem}.sidebar-account-popup-header small{color:#8a747b;font-size:.72rem}.sidebar-language-switcher{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .25rem}.sidebar-language-switcher>span{color:#705a62;font-size:.75rem;font-weight:650}.sidebar-language-switcher>div{display:flex;padding:.2rem;border-radius:.55rem;background:#f6edef}.sidebar-language-switcher button{padding:.35rem .5rem;color:#816a72;border:0;border-radius:.4rem;background:transparent;font-size:.68rem;font-weight:750}.sidebar-language-switcher button[aria-pressed=true]{color:var(--wine);background:#fff;box-shadow:0 .15rem .5rem #441a271a}.sidebar-logout-action{width:100%;display:flex;align-items:center;gap:.6rem;padding:.7rem .75rem;color:#a3362e;border:0;border-radius:.65rem;background:#fff2f0;font-size:.78rem;font-weight:700;text-align:left}.sidebar-logout-action:hover{background:#ffe7e3}.sidebar-logout-action svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.app-main{min-width:0;margin-left:16.5rem;transition:margin-left .2s ease}.mobile-header,.sidebar-backdrop{display:none}.page-shell{width:min(100%,88rem);min-height:100vh;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem}.page-header h1{margin-top:.35rem;color:var(--brand-ink);font-size:clamp(2.15rem,5vw,3.5rem)}.page-header p{margin:.5rem 0 0;color:var(--text-muted);font-size:.95rem}.page-header-actions{flex:0 0 auto}.page-header.has-eyebrow .page-header-actions{margin-top:1.25rem}.appointment-create-button,.page-create-button{width:auto;height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;border-radius:.85rem;white-space:nowrap}.appointment-create-button svg,.page-create-button svg{display:none;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.content-card{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--border);border-radius:1.25rem;background:#ffffffeb;box-shadow:0 .75rem 2.5rem #1c52700f}.date-picker{position:relative;min-width:0}.date-picker-trigger{width:100%;min-height:2.65rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;color:#4b363d;border:1px solid var(--border);border-radius:.75rem;background:#fffdfd;font-size:.82rem;font-weight:600;text-align:left}.date-picker-trigger:hover{border-color:var(--border-strong)}.date-picker-trigger[aria-expanded=true]{outline:var(--selection-outline);outline-offset:1px}.date-picker-trigger svg{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:var(--wine);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.date-picker-popover{position:absolute;top:calc(100% + .5rem);left:0;z-index:70;width:min(19rem,calc(100vw - 2rem));padding:.85rem;color:#432a33;border:1px solid var(--border);border-radius:1rem;background:#fffdfd;box-shadow:0 1rem 3rem #36111f2e}.date-picker-header{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 2.25rem;align-items:center;gap:.4rem;margin-bottom:.7rem}.date-picker-header strong{overflow:hidden;color:#3a1c25;font-family:Georgia,serif;font-size:1rem;font-weight:500;text-align:center;text-overflow:ellipsis;white-space:nowrap}.date-picker-header button{width:2.25rem;height:2.25rem;display:grid;place-items:center;padding:0;color:var(--wine);border:0;border-radius:.65rem;background:#f7edef;font-size:1.25rem}.date-picker-header button:hover{background:var(--rose)}.date-picker-weekdays,.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}.date-picker-weekdays{margin-bottom:.25rem}.date-picker-weekdays span{padding:.3rem 0;color:#9a838a;font-size:.62rem;font-weight:750;text-align:center;text-transform:uppercase}.date-picker-day{aspect-ratio:1;display:grid;place-items:center;padding:0;color:#513842;border:0;border-radius:.6rem;background:transparent;font-size:.75rem;font-weight:650}.date-picker-day:hover{color:var(--wine);background:#f7edef}.date-picker-day.is-outside{color:#c5b5ba}.date-picker-day.is-today{outline:1px solid #d4a5b2;outline-offset:-2px}.date-picker-day.is-selected,.date-picker-day.is-selected:hover{color:var(--brand-ink);outline:none;background:var(--brand);box-shadow:0 .3rem .75rem #246b9433}.date-picker-today{width:100%;margin-top:.65rem;padding:.6rem;color:var(--wine);border:0;border-top:1px solid var(--border);background:transparent;font-size:.75rem;font-weight:750}.date-picker-today:hover{color:#58172a}.time-picker{position:relative;min-width:0}.time-picker-trigger{width:100%;min-height:2.65rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;color:#4b363d;border:1px solid var(--border);border-radius:.75rem;background:#fffdfd;font-size:.82rem;font-weight:650;text-align:left}.time-picker-trigger:hover{border-color:var(--border-strong)}.time-picker-trigger[aria-expanded=true]{outline:var(--selection-outline);outline-offset:1px}.time-picker-trigger svg{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:var(--wine);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.time-picker-popover{position:absolute;top:calc(100% + .5rem);right:0;z-index:70;width:min(18rem,calc(100vw - 2rem));max-height:18rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.75rem;overflow-y:auto;border:1px solid var(--border);border-radius:1rem;background:#fffdfd;box-shadow:0 1rem 3rem #36111f2e}.time-picker-option{min-height:2.35rem;padding:.5rem;color:#624852;border:1px solid #eadde1;border-radius:.65rem;background:snow;font-size:.75rem;font-weight:650}.time-picker-option:hover{color:var(--wine);border-color:#d9bbc3;background:#f7edef}.time-picker-option.is-selected,.time-picker-option.is-selected:hover{color:var(--brand-ink);border-color:var(--brand);background:var(--brand);box-shadow:0 .3rem .75rem #246b9433}.time-picker-empty{grid-column:1 / -1;padding:1.5rem .75rem;color:#8a747b;font-size:.78rem;text-align:center}@media(min-width:52.01rem){.app-sidebar.is-collapsed{width:4.5rem;padding-inline:.75rem}.app-sidebar.is-collapsed .sidebar-header{justify-content:center}.app-sidebar.is-collapsed .sidebar-brand{display:none}.app-sidebar.is-collapsed .navigation-label{width:100%;justify-self:center;overflow:hidden;color:transparent;background:linear-gradient(#ffffff1f,#ffffff1f) center / 100% 1px no-repeat;white-space:nowrap}.app-sidebar.is-collapsed .sidebar-brand div,.app-sidebar.is-collapsed .navigation-item>span,.app-sidebar.is-collapsed .account-copy{display:none}.app-sidebar.is-collapsed .navigation-section{width:100%;justify-items:center}.app-sidebar.is-collapsed .sidebar-account-menu{display:grid;justify-items:center}.app-sidebar.is-collapsed .navigation-item{position:relative;width:2.75rem;height:2.75rem;justify-content:center;padding:0}.app-sidebar.is-collapsed .navigation-item:hover{transform:none}.app-sidebar.is-collapsed .navigation-item:after{position:absolute;top:50%;left:calc(100% + .6rem);z-index:40;display:none;padding:.45rem .6rem;color:#f8edef;border-radius:.45rem;background:#32101c;box-shadow:0 .4rem 1rem #1d050d33;content:attr(data-tooltip);font-size:.72rem;font-weight:650;line-height:1;white-space:nowrap;transform:translateY(-50%)}.app-sidebar.is-collapsed .navigation-item:hover:after,.app-sidebar.is-collapsed .navigation-item:focus-visible:after{display:block}.app-sidebar.is-collapsed .sidebar-account-trigger{width:2.75rem;height:2.75rem;display:grid;grid-template-columns:1fr;place-items:center;padding:0;border-color:transparent;background:transparent}.app-sidebar.is-collapsed .account-menu-chevron{display:none}.app-main.sidebar-collapsed{margin-left:4.5rem}}@media(max-width:52rem){.app-sidebar{width:min(18rem,86vw);transform:translate(-105%);transition:transform .22s ease}.sidebar-toggle{display:none}.sidebar-account-menu.is-sidebar .sidebar-account-popup{right:0;bottom:calc(100% + .6rem);left:0;width:auto}.sidebar-account-menu.is-mobile{display:block}.sidebar-account-menu.is-mobile .sidebar-account-trigger{width:2rem;height:2rem;display:grid;grid-template-columns:1fr;place-items:center;padding:0;border:0;border-radius:50%;background:transparent}.sidebar-account-menu.is-mobile .account-copy,.sidebar-account-menu.is-mobile .account-menu-chevron{display:none}.sidebar-account-menu.is-mobile .account-avatar{width:2rem;height:2rem}.sidebar-account-menu.is-mobile .sidebar-account-popup{top:calc(100% + .75rem);right:0;bottom:auto;left:auto}.app-sidebar.is-open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:20;width:100%;height:100%;padding:0;border:0;background:#0d293a6b;opacity:0;pointer-events:none;transition:opacity .22s ease}.sidebar-backdrop.is-visible{display:block;opacity:1;pointer-events:auto}.app-main{margin-left:0}.mobile-header{height:4rem;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-header>button{width:2.25rem;height:2.25rem;display:grid;place-items:center;padding:.45rem;border:0;background:transparent}.mobile-header>button svg{width:1.35rem;height:1.35rem;fill:none;stroke:var(--wine);stroke-linecap:round;stroke-width:2}.mobile-header>strong{color:var(--wine);font-family:Georgia,serif}.mobile-avatar{width:2rem;height:2rem}.page-shell{min-height:calc(100vh - 4rem)}}.appointment-modal-backdrop,.form-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1.25rem;background:#0d293a80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.appointment-modal,.form-modal{width:min(100%,46rem);max-height:calc(100vh - 2.5rem);overflow-y:auto;border:1px solid var(--border);border-radius:1.4rem;background:var(--surface);box-shadow:0 2rem 5rem #0d293a3d}.appointment-modal-header,.form-modal-header{position:sticky;top:0;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1.2rem;border-bottom:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.appointment-modal-header h2,.form-modal-header h2{margin:.3rem 0 0;color:#3a1c25;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.appointment-modal-header>button,.form-modal-header>button{width:2.25rem;height:2.25rem;display:grid;place-items:center;padding:0;color:#765e66;border:0;border-radius:.65rem;background:#f4e9ec;font-size:1.35rem}.appointment-modal-loading{min-height:18rem;display:grid;place-items:center;color:#806c72}.appointment-form{display:grid;gap:1.35rem;padding:1.5rem}.appointment-form-section{min-width:0;display:grid;gap:.9rem;margin:0;padding:0;border:0}.appointment-form-section legend{margin-bottom:.85rem;color:#4a2c36;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.appointment-form-stack{display:grid;gap:.8rem}.appointment-segmented-control{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem;padding:.3rem;border-radius:.8rem;background:#f5edef}.appointment-segmented-control button{padding:.65rem .8rem;color:#806c72;border:0;border-radius:.6rem;background:transparent;font-size:.8rem;font-weight:700}.appointment-segmented-control button.is-active{color:var(--wine);outline:var(--selection-outline);outline-offset:1px;background:#fff;box-shadow:0 .25rem .8rem #441a2714}.appointment-date-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.appointment-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.appointment-service-options label{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid var(--border);border-radius:.8rem;background:snow;cursor:pointer;transition:border-color .16s ease,background .16s ease}.appointment-service-options label:has(input:checked){outline:var(--selection-outline);outline-offset:1px;background:#f9edf0}.appointment-service-options input{width:1rem;height:1rem;flex:0 0 auto;margin-top:.1rem;accent-color:var(--wine)}.appointment-service-options span{min-width:0;display:grid;gap:.2rem}.appointment-service-options strong{overflow:hidden;color:#4a2c36;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.appointment-service-options small,.appointment-form-hint{color:#806c72;font-size:.73rem}.appointment-form-hint{margin:0;text-align:left}.appointment-edit-client{display:grid;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:.8rem;background:snow}.appointment-edit-client>span{color:#927d83;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.appointment-edit-client strong{color:#4a2c36}.appointment-edit-client small{color:#806c72}.appointment-form-summary{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.8rem 1rem;color:#806c72;border-radius:.8rem;background:#f8f1f3;font-size:.82rem}.appointment-form-summary strong{color:var(--wine);font-size:.95rem}.appointment-modal-footer,.form-modal-footer{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.25rem}.appointment-modal-footer .secondary-action,.form-modal-footer .secondary-action{margin:0}.entity-modal-form,.form-modal .service-editor{display:grid;gap:1.35rem;padding:1.5rem}.form-modal-footer{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.25rem}.form-modal .service-editor-actions{display:flex;justify-content:flex-end;gap:.65rem}@media(max-width:40rem){.appointment-modal-backdrop,.form-modal-backdrop{align-items:end;padding:0}.appointment-modal,.form-modal{width:100%;max-height:94vh;border-radius:1.25rem 1.25rem 0 0}.appointment-modal-header,.form-modal-header,.appointment-form,.entity-modal-form,.form-modal .service-editor{padding-inline:1rem}.appointment-service-options,.appointment-date-time-fields{grid-template-columns:1fr}.appointment-modal-footer,.form-modal-footer{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:36rem){.page-shell{padding:1.25rem 1rem 2rem}.page-header{align-items:stretch;flex-direction:column;gap:1rem}.page-header-actions .primary-action{width:100%}.page-header.has-eyebrow .page-header-actions{margin-top:0}.appointments-page-header,.entity-page-header{align-items:flex-start;flex-direction:row}.appointments-page-header.has-eyebrow .page-header-actions,.entity-page-header.has-eyebrow .page-header-actions{margin-top:1.25rem}.appointments-page-header>div:first-child,.entity-page-header>div:first-child{min-width:0}.appointments-page-header .appointment-create-button,.entity-page-header .page-create-button{width:3rem;padding:0}.appointments-page-header .appointment-create-button svg,.entity-page-header .page-create-button svg{display:block}.appointments-page-header .page-create-label,.entity-page-header .page-create-label{display:none}.content-card{padding:1rem;border-radius:1rem}.clients-card .employee-item{align-items:center;flex-direction:row}.clients-card .employee-item>div:first-child{min-width:0}.clients-card .employee-item strong,.clients-card .employee-item span{overflow-wrap:anywhere}.clients-card .employee-actions{flex:0 0 auto}.clients-card .employee-actions button{padding:.75rem .85rem}.clients-card .pagination{gap:.5rem}}@media(max-width:23rem){.client-search{display:grid;grid-template-columns:1fr}.client-search .secondary-action{width:100%}.clients-card .employee-item{align-items:stretch;flex-direction:column}}.appointments-card{max-width:none;padding:0;overflow:visible}.appointment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.appointment-date-controls,.appointment-filter-controls{display:flex;align-items:center;gap:.5rem}.appointment-icon-button,.appointment-today-button,.appointment-toolbar input,.appointment-toolbar select{min-height:2.65rem;color:#4b363d;border:1px solid var(--border);border-radius:.7rem;background-color:#fffdfd;outline:none}.appointment-icon-button{width:2.65rem;padding:0;color:var(--wine);font-size:1.05rem}.appointment-today-button{padding:0 .9rem;color:var(--wine);font-size:.82rem;font-weight:750}.appointment-toolbar input,.appointment-toolbar select{padding:.65rem .8rem;font-size:.82rem}.appointment-toolbar select{padding-right:2.6rem}.appointment-toolbar input:focus,.appointment-toolbar select:focus,.appointment-icon-button:focus-visible,.appointment-today-button:focus-visible{outline:var(--selection-outline);outline-offset:1px}.appointment-search-input input{width:min(19rem,24vw)}.appointment-results-header{min-height:3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;color:#806c72;border-bottom:1px solid #eee4e6;font-size:.76rem;font-weight:700;letter-spacing:.02em}.appointment-refreshing{color:var(--wine)}.appointment-results{transition:opacity .18s ease}.appointment-results.is-fetching{opacity:.58;pointer-events:none}.appointment-table-wrapper{width:100%;overflow:visible}.appointment-table{width:100%;border-collapse:collapse;table-layout:fixed}.appointment-table th{padding:.72rem 1rem;color:#927d83;background:#fcf9f8;font-size:.67rem;font-weight:800;letter-spacing:.08em;text-align:left;text-transform:uppercase}.appointment-table th:first-child,.appointment-table td:first-child{padding-left:1.25rem}.appointment-table th:last-child,.appointment-table td:last-child{width:3.75rem;padding-right:1.25rem}.appointment-table th:nth-child(1){width:7rem}.appointment-table th:nth-child(2){width:18%}.appointment-table th:nth-child(3){width:19%}.appointment-table th:nth-child(4){width:15%}.appointment-table th:nth-child(5){width:7.25rem}.appointment-table th:nth-child(6){width:7.5rem}.appointment-table th:nth-child(7){width:7.5rem}.appointment-table td{padding:1rem;color:#4d3940;border-top:1px solid #eee4e6;font-size:.82rem;vertical-align:middle}.appointment-table tbody tr{background:#fff;transition:background .16s ease}.appointment-table tbody tr:hover{background:#fdf9f9}.appointment-time-cell,.appointment-primary-cell,.appointment-services-cell{display:grid;gap:.25rem}.appointment-time-cell strong,.appointment-primary-cell strong,.appointment-services-cell strong{overflow:hidden;color:#3b222b;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.appointment-time-cell span,.appointment-primary-cell span,.appointment-services-cell span{overflow:hidden;color:#8a747b;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.appointment-price-cell{color:#3b222b;font-weight:700}.appointment-status{display:inline-flex;align-items:center;padding:.34rem .55rem;border-radius:999px;font-size:.67rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.appointment-status-confirmed{color:var(--brand-strong);background:var(--brand-soft)}.appointment-status-completed{color:var(--success);background:var(--success-soft)}.appointment-status-cancelled{color:#73676b;background:#eee9ea}.appointment-status-no_show{color:var(--danger);background:var(--danger-soft)}.appointment-actions-cell{position:relative;text-align:right}.appointment-actions{position:relative;display:inline-block}.appointment-actions summary{width:2rem;height:2rem;display:grid;place-items:center;color:#765e66;border-radius:.55rem;cursor:pointer;font-weight:800;letter-spacing:.08em;list-style:none}.appointment-actions summary::-webkit-details-marker{display:none}.appointment-actions summary:hover,.appointment-actions summary:focus-visible,.appointment-actions[open] summary{color:var(--wine);background:var(--rose)}.appointment-actions summary:focus-visible,.appointment-actions[open] summary{outline:var(--selection-outline);outline-offset:1px}.appointment-actions-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:15;width:12.5rem;display:grid;padding:.35rem;border:1px solid var(--border);border-radius:.8rem;background:#fff;box-shadow:0 1rem 2.5rem #1c527026}.appointment-actions-menu button{padding:.65rem .7rem;color:#4d3940;border:0;border-radius:.55rem;background:transparent;font-size:.77rem;font-weight:650;text-align:left}.appointment-actions-menu button:hover{background:#faf3f5}.appointment-actions-menu .appointment-action-danger{color:#9b2f27}.appointment-actions-unavailable{color:#b9aaae}.appointment-mobile-list{display:none}.appointment-empty-state,.appointment-error-state{min-height:23rem;display:grid;place-items:center;align-content:center;padding:2rem;text-align:center}.appointment-empty-icon{width:3.5rem;height:3.5rem;display:grid;place-items:center;color:var(--brand-ink);border-radius:1rem;background:var(--brand);font-family:Georgia,serif;font-size:1.1rem}.appointment-empty-state h2{margin:1rem 0 0;color:#3a1c25;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.appointment-empty-state p,.appointment-error-state span{margin:.45rem 0 0;color:#806c72;font-size:.88rem}.appointment-empty-state .secondary-action,.appointment-error-state .secondary-action{margin-top:1.25rem}.appointment-error-state strong{color:#8e1c14}.appointment-mutation-error{margin:1rem 1.25rem}@media(max-width:72rem){.appointment-toolbar{align-items:stretch;flex-direction:column}.appointment-filter-controls{width:100%}.appointment-search-input{flex:1}.appointment-search-input input{width:100%}.appointment-duration-cell,.appointment-table th:nth-child(5){display:none}}@media(max-width:52rem){.appointment-table-wrapper{display:none}.appointment-mobile-list{display:grid;gap:.75rem;padding:1rem}.appointment-mobile-card{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:snow}.appointment-mobile-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.appointment-mobile-card>header>div{display:flex;align-items:center;gap:.65rem}.appointment-mobile-time{color:#3b222b;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.appointment-mobile-client{display:grid;gap:.2rem;margin-top:1rem}.appointment-mobile-client strong{color:#3b222b}.appointment-mobile-client span{color:#806c72;font-size:.78rem}.appointment-mobile-services{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.appointment-mobile-services span{padding:.35rem .55rem;color:#674b54;border-radius:999px;background:#f1e5e8;font-size:.7rem;font-weight:650}.appointment-mobile-card footer{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.85rem;color:#806c72;border-top:1px solid #eadfe1;font-size:.75rem}.appointment-mobile-card footer strong{margin-left:auto;color:#3b222b}.appointment-actions-menu{position:fixed;top:auto;right:1rem;bottom:1rem;left:1rem;width:auto}}@media(max-width:40rem){.appointment-date-controls{display:grid;grid-template-columns:auto 1fr auto}.appointment-date-input{grid-column:1 / -1}.appointment-date-input input{width:100%}.appointment-filter-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-filter-controls label,.appointment-filter-controls select{width:100%}.appointment-search-input{grid-column:1 / -1}.appointment-results-header{padding-inline:1rem}}
