:root{--button-height-small: 44px;--button-height-medium: 46px;--button-height-large: 48px;--button-radius: 13px;--button-gap: 6px;--button-icon-size: 18px;--button-font-small: 13px;--button-font-medium: 14px;--button-font-large: 16px;--button-padding-small: 10px;--button-padding-medium: 15px;--button-padding-large: 16px;--color-primary: #7454e8;--color-primary-dark: #35246b;--color-soft: #efeaff;--color-background: #faf9ff;--color-surface: #ffffff;--color-surface-alt: #f7f4ff;--color-text: #211a38;--color-muted: #68627d;--color-border: #e9e5f2;--color-border-strong: #d8d0e9;--color-soft-strong: #ded4ff;--color-soft-gradient-end: #f9f7ff;--color-focus: #7454e8;--color-warning: #fff4db;--color-warning-text: #6c4b12;--color-success: #0b966f;--color-success-soft: #ddf7ec;--color-danger: #af3852;--color-danger-soft: #fdecef;--color-status-scheduled-bg: #e7edff;--color-status-scheduled-text: #3557ba;--color-status-pending-bg: #fff2d7;--color-status-pending-text: #94610b;--color-status-completed-bg: #ddf7ec;--color-status-completed-text: #087a57;--color-status-not-happened-bg: #fce8ec;--color-status-not-happened-text: #b42343;--color-overlay: rgba(33, 26, 56, .45);--shadow-subtle: rgba(53, 36, 107, .05);--shadow-modal: rgba(33, 26, 56, .24);--shadow-nav: rgba(53, 36, 107, .1);--shadow-nav-strong: rgba(53, 36, 107, .16);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-background);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 90% 5%,var(--color-soft),transparent 30%),var(--color-background)}.brand{display:flex;align-items:center;gap:10px;color:var(--color-text)}.brand span,.avatar{display:grid;place-items:center;background:var(--color-primary);color:var(--color-surface);border-radius:15px;font-size:24px;font-weight:800;width:48px;height:48px}.brand strong{display:block;font-size:21px}.brand small{display:block;color:var(--color-muted);font-size:12px}.auth>.brand{position:absolute;top:28px;left:28px}.authcard{width:min(100%,430px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:28px;box-shadow:0 12px 30px var(--shadow-subtle)}.authcard h1{font-size:27px;margin:0 0 7px}.authcard>p{color:var(--color-muted);line-height:1.5;margin-top:0}.form,form{display:grid;gap:14px}label{display:grid;gap:6px;color:var(--color-text);font-weight:650;font-size:14px}label small{font-weight:400;color:var(--color-muted)}input,select{width:100%;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:10px;padding:11px 12px;color:var(--color-text);min-height:44px}input[type=checkbox]{width:auto;min-height:0;margin-right:6px}fieldset{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:12px;padding:12px;display:grid;gap:10px}.button{--button-height: var(--button-height-medium);display:inline-flex;align-items:center;justify-content:center;gap:var(--button-gap);min-width:44px;min-height:var(--button-height);max-width:100%;border:0;border-radius:var(--button-radius);padding:10px var(--button-padding-medium);background:var(--color-primary);color:var(--color-surface);font:inherit;font-size:var(--button-font-medium);font-weight:700;line-height:1.25;text-align:center;text-decoration:none;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent;transition:background-color .16s ease,color .16s ease,transform .12s ease}.button-small{--button-height: var(--button-height-small);padding-inline:var(--button-padding-small);font-size:var(--button-font-small)}.button-large{--button-height: var(--button-height-large);padding-inline:var(--button-padding-large);font-size:var(--button-font-large)}.button .icon{width:var(--button-icon-size);height:var(--button-icon-size);flex-shrink:0}.button-width-auto{width:fit-content}.button-width-full{width:100%}.button-width-equal{flex:1 1 0;min-width:0;width:100%}.button-icon-only{padding:0}.button-icon-only.button-width-auto{width:var(--button-height);min-width:var(--button-height);height:var(--button-height);flex:0 0 var(--button-height)}.button-secondary,.button.secondary{background:var(--color-soft);color:var(--color-primary-dark)}.button-tertiary{border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-primary-dark)}.button-danger{background:var(--color-danger-soft);color:var(--color-danger)}.button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.button:not(:disabled):not([aria-disabled=true]):active{background:var(--color-primary-dark);transform:translateY(1px)}.button-secondary:not(:disabled):active,.button-tertiary:not(:disabled):active,.button.secondary:not(:disabled):active{background:var(--color-soft-strong)}.button-danger:not(:disabled):active{background:var(--color-danger-soft);box-shadow:inset 0 0 0 2px var(--color-danger)}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.52;transform:none}@media(hover:hover){.button-primary:not(:disabled):hover{background:var(--color-primary-dark)}.button-secondary:not(:disabled):hover,.button-tertiary:not(:disabled):hover,.button.secondary:not(:disabled):hover{background:var(--color-soft-strong)}.button-danger:not(:disabled):hover:not(:active){box-shadow:inset 0 0 0 1px var(--color-danger)}}.text{min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--color-primary);padding:10px 12px;font-weight:650;text-align:left;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.text:active,.segment:active,.back:active{transform:translateY(1px)}.text:disabled,.segment:disabled{cursor:not-allowed;opacity:.52;transform:none}@media(hover:hover){.text:hover,.back:hover{background:var(--color-soft)}.text.danger:hover{background:var(--color-danger-soft)}}.danger{color:var(--color-danger)}.notice{background:var(--color-warning);color:var(--color-warning-text);border-radius:10px;padding:11px 12px;line-height:1.4;font-size:14px}.switch{font-size:14px;text-align:center;margin:8px 0 0!important}.app{min-height:100vh;padding-bottom:80px}.top{height:68px;display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:auto;padding:0 20px}.brand.compact span{height:34px;width:34px;border-radius:10px;font-size:17px}.brand.compact strong{font-size:18px}.profile{width:36px;height:36px;border-radius:50%;border:0;background:var(--color-soft);color:var(--color-primary-dark);font-weight:800}.content{width:min(100%,900px);margin:auto;padding:28px 20px}.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:start;margin:4px 0 24px}.pagehead h1,.detailhead h1{font-size:clamp(25px,5vw,34px);letter-spacing:-.035em;margin:0;color:var(--color-text)}.pagehead p:not(.eyebrow){color:var(--color-muted);margin:8px 0 0;max-width:580px;line-height:1.45}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--color-primary);font-weight:800;margin:0 0 7px}.count{font-weight:700;color:var(--color-muted);font-size:14px}.month-balance{background:var(--color-text);border-radius:14px;color:var(--color-surface);margin-bottom:24px;padding:22px 20px}.month-balance h2{color:inherit;font-size:24px;line-height:1.2;margin:0}.month-balance p{color:inherit;font-size:clamp(28px,5vw,32px);font-weight:800;letter-spacing:-.045em;line-height:1.1;margin:12px 0 0;min-height:1.1em}.month-balance p.month-balance-error{font-size:16px;font-weight:650;letter-spacing:0;line-height:1.45;max-width:32ch}.cards{display:grid;gap:12px}.suggestion{display:flex;gap:14px;background:var(--color-surface);border:1px solid var(--color-border);padding:18px;border-radius:16px;box-shadow:0 3px 8px var(--shadow-subtle)}.suggestion-content{min-width:0;flex:1}.link-title{border:0;background:none;padding:0;color:var(--color-text);font-size:18px;font-weight:800;text-align:left}.suggestion p{margin:4px 0;color:var(--color-muted);font-size:14px}.suggestion .reason{line-height:1.45;color:var(--color-muted);margin-top:9px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:15px}.actions .text{font-size:13px}.empty{background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:16px;text-align:center;padding:42px 20px;max-width:600px;margin:36px auto}.empty h2{font-size:20px}.empty p{color:var(--color-muted);line-height:1.5;max-width:420px;margin:8px auto 20px}.empty-icon{font-size:42px;color:var(--color-primary)}.search{margin-bottom:16px}.list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.customer-row{width:100%;padding:14px;display:flex;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);text-align:left;color:var(--color-text)}.customer-row:last-child{border-bottom:0}.customer-row>span:nth-child(2){flex:1}.customer-row strong,.customer-row small{display:block}.customer-row small{color:var(--color-muted);margin-top:3px}.avatar.small{width:38px;height:38px;border-radius:12px;font-size:17px}.back{border:0;background:transparent;min-height:44px;border-radius:10px;padding:10px 12px;color:var(--color-primary);font-weight:700;margin-bottom:20px}.detailhead{display:flex;gap:13px;align-items:center;margin-bottom:18px}.detailhead p{margin:3px 0;color:var(--color-muted)}.detail-actions{display:flex;gap:8px;margin:16px 0}.status,.panel,.history{background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;padding:17px;margin-top:14px}.status h2,.panel h2,.history h2{font-size:16px;margin:0 0 10px}.status p,.panel p{font-size:14px;color:var(--color-muted);line-height:1.45;margin:7px 0}.history article,.service{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--color-border)}.history article:first-of-type,.service:first-of-type{border-top:0}.history p,.service p{margin:3px 0;color:var(--color-muted);font-size:13px}.muted{color:var(--color-muted);font-size:14px;line-height:1.45}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px;flex-wrap:wrap}.section-title h2{margin:0}.overlay{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:grid;place-items:end center;padding:0}.modal{max-height:92vh;overflow:auto;width:min(100%,600px);background:var(--color-surface);border-radius:22px 22px 0 0;padding:22px 20px 30px;box-shadow:0 -10px 50px var(--shadow-modal)}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal h2{margin:0;font-size:22px}.close{width:35px;height:35px;font-size:25px;border:0;background:var(--color-soft);border-radius:50%;color:var(--color-primary-dark)}.loading{display:grid;place-items:center;min-height:100vh;color:var(--color-muted)}nav{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:center;z-index:2;padding:max(8px,env(safe-area-inset-bottom)) 10px 8px}nav button{border:0;background:transparent;color:var(--color-muted);min-width:105px;padding:4px 12px;font-size:12px;display:grid;gap:2px;place-items:center}nav button span{font-size:20px;line-height:18px}nav button.active{color:var(--color-primary);font-weight:800}@media(min-width:650px){.overlay{place-items:center;padding:20px}.modal{border-radius:20px;max-height:90vh}.content{padding-top:40px}}@media(max-width:500px){.pagehead{display:grid;grid-template-columns:minmax(0,1fr)}.content{padding:20px 15px}.suggestion{padding:15px}.suggestion>.avatar{width:40px;height:40px;font-size:20px}.actions{display:grid}.actions .text{text-align:center}.auth>.brand{position:static;justify-self:start;margin-bottom:24px}.auth{display:flex;flex-direction:column;justify-content:center}.authcard{padding:23px}.top{padding:0 15px}}:root{color-scheme:light}.icon{flex-shrink:0}.profile{width:44px;height:44px}nav{padding:8px 10px max(8px,env(safe-area-inset-bottom))}nav button{min-width:0;width:min(20%,105px);min-height:52px;padding:4px 2px;font-size:11px}nav button .icon{width:24px;height:24px}nav .register-action{color:var(--color-primary);font-weight:750}nav .register-action .icon{width:30px;height:30px;padding:4px;border-radius:10px;background:var(--color-soft)}.app{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.account-identity{padding:8px 0 18px;overflow-wrap:anywhere;border-bottom:1px solid var(--color-border)}.account-identity strong{font-size:18px}.account-identity p{margin:5px 0 0;color:var(--color-muted)}.account-options{display:grid;padding:8px 0}.account-options button{display:flex;align-items:center;gap:12px;min-height:52px;text-align:left;color:var(--color-text);font-weight:650;background:transparent;border:0;border-radius:9px;padding:12px 8px}.account-options button:hover{background:var(--color-soft)}.account-exit{border-top:1px solid var(--color-border);margin-top:8px;padding-top:12px}.account-data{margin:0 0 16px;overflow-wrap:anywhere}.account-data dt{font-size:13px;color:var(--color-muted);margin-top:12px}.account-data dd{margin:4px 0 0;font-weight:650}.registration-choices{display:grid;gap:12px}.registration-choices strong,.registration-choices small{display:block}.registration-choices small{margin-top:5px;font-weight:400}.agenda-calendar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:8px}.agenda-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:15px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-soft)}.segment{min-height:44px;border:0;border-radius:10px;padding:8px 10px;background:transparent;color:var(--color-muted);font-weight:700;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease}.segment[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px var(--shadow-nav-strong)}@media(hover:hover){.segment:not([aria-pressed=true]):hover{background:var(--color-soft);color:var(--color-primary-dark)}}.icon-button{width:44px;min-width:44px;padding:0;font-size:28px;line-height:1}.agenda-calendar>.text{grid-column:1 / -1;justify-self:center}.agenda-row{display:grid;grid-template-columns:68px minmax(0,1fr);width:100%;gap:6px 10px;padding:15px 12px;background:var(--color-surface);color:var(--color-text);text-align:left;border:0;border-bottom:1px solid var(--color-soft)}.agenda-row:last-child{border-bottom:0}.agenda-time{grid-row:1 / 3;font-size:14px;font-weight:700}.agenda-time small{display:block;font-size:11px;margin-top:5px;color:var(--color-muted)}.agenda-person{min-width:0;overflow-wrap:anywhere}.agenda-person strong,.agenda-person small{display:block}.agenda-person small{color:var(--color-muted);margin-top:4px}.appointment-state{grid-column:2;justify-self:start;border-radius:7px;font-size:12px;padding:4px 7px;font-weight:650}.appointment-summary{background:var(--color-surface-alt);border-radius:12px;padding:14px;margin-bottom:16px;overflow-wrap:anywhere}.appointment-summary p{color:var(--color-muted);font-size:14px;margin:7px 0 0}.pending-confirmation{margin:0}.home-section{margin:0 0 28px}.home-section-title{margin:0 0 12px}.home-section-title h2{color:var(--color-text);font-size:19px;letter-spacing:-.02em;margin:0}.home-section-title p{color:var(--color-muted);line-height:1.45;margin:5px 0 0}.next-appointment{margin:0;padding:0;overflow:hidden}.next-appointment-action{display:grid;width:100%;gap:7px;padding:20px;border:0;background:var(--color-surface-alt);color:var(--color-text);text-align:left}.next-appointment-action:hover{background:var(--color-soft)}.next-appointment-action>strong{font-size:24px;line-height:1.2}.next-appointment-action>span{color:var(--color-muted)}.next-appointment-services{overflow-wrap:anywhere}.next-appointment-link{margin-top:3px;color:var(--color-primary-dark)!important;font-weight:700}.home-section-title .pending-count{color:var(--color-muted);font-size:13px;line-height:1.5;margin-top:3px}.pending-person{overflow-wrap:anywhere}.pending-person strong{color:var(--color-text);display:block;font-size:19px;line-height:1.3}.pending-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.pending-actions .text{align-items:center;display:flex;justify-content:center;justify-self:stretch;text-align:center}@media(min-width:650px){nav button{font-size:12px}.agenda-row{grid-template-columns:90px minmax(0,1fr) auto;align-items:center}.appointment-state{grid-column:3;grid-row:1 / 3}}.top{height:60px}.content{padding-top:18px}fieldset{min-width:0}legend{font-weight:750;padding:0 6px}input,select{font-size:16px;scroll-margin-block:25px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;min-height:52px;cursor:pointer}.check-row input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0 0;accent-color:var(--color-primary)}.check-row small{display:block;margin-top:4px;line-height:1.4}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}summary{min-height:44px;display:inline-flex;align-items:center}summary{cursor:pointer;color:var(--color-primary);font-size:13px}.record-actions{display:flex;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px}.record-actions details{text-align:right}.history article>div:first-child,.service>div:first-child{min-width:0;overflow-wrap:anywhere}.history article strong{display:block;margin-top:3px}.history article small{font-size:11px;color:var(--color-muted)}.list-empty{padding:16px}.selected-customer{background:var(--color-soft);border-radius:9px;padding:10px}.selected-customer strong,.selected-customer small,.customer-option strong,.customer-option small{display:block}.selected-customer small,.customer-option small{color:var(--color-muted);margin-top:3px}.customer-options{max-height:190px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:10px}.customer-option{display:flex;align-items:center;padding:12px;border-bottom:1px solid var(--color-border);cursor:pointer}.customer-option:last-child{border-bottom:0}.customer-option input{width:20px;height:20px;min-height:20px;margin:0 12px 0 0;flex-shrink:0;accent-color:var(--color-primary)}.customer-option:has(input:checked){background:var(--color-soft)}.selected-customer{overflow-wrap:anywhere}.customer-search-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.suggestion{display:block}.suggestion-header{display:flex;align-items:flex-start;gap:14px}.suggestion-header .avatar{flex-shrink:0}.suggestion-header .link-title,.suggestion-header p,.suggestion-body{overflow-wrap:anywhere}.suggestion-body{min-width:0}.suggestion .contact-pending{margin-bottom:18px}.contact-pending .text{margin-left:4px}.missing-phones{display:grid}.overlay{inset:auto 0 0;top:0;height:100dvh;z-index:10}.modal{max-height:100%;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}.modal form{padding-bottom:14px}.modal .notice{margin:0}.modal .panel>.button+.notice{margin-top:12px}.modal header{align-items:flex-start}.modal .close{flex-shrink:0;min-width:44px;height:44px}.modal>.button{margin-top:12px}@media(min-width:650px){.content{padding-top:22px}.overlay .modal{max-height:100%}}@media(max-width:500px){.suggestion-header{gap:12px}.suggestion-header .avatar{width:40px;height:40px;font-size:20px}.content{padding-top:12px}.pagehead{gap:12px;margin-bottom:18px}.modal{border-radius:0;width:100%;height:100%;max-height:100%;padding-top:max(14px,env(safe-area-inset-top));box-shadow:none}.overlay{place-items:stretch}.modal h2{font-size:21px;padding-top:7px}.detail-actions{flex-direction:column;align-items:stretch}.detail-actions .text{align-self:flex-start}.avatar{flex-shrink:0}.service .record-actions{max-width:110px}.empty{padding:26px 16px;margin:20px auto}nav button{min-width:0;flex:1}}.app{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.app>nav{left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom));width:min(calc(100% - 24px),720px);min-height:68px;transform:translate(-50%);justify-content:space-between;gap:2px;padding:6px;border:1px solid var(--color-border);border-radius:24px;background:var(--color-surface);box-shadow:0 8px 20px var(--shadow-nav)}.app>nav button{width:auto;min-width:44px;min-height:56px;flex:1 1 0;gap:3px;padding:5px 4px;border-radius:18px;color:var(--color-muted);font-size:11px;font-weight:650;transition:background-color .16s ease,color .16s ease}.app>nav button .icon{width:23px;height:23px}.app>nav button.active{color:var(--color-primary);background:var(--color-soft);box-shadow:none}.app>nav .register-action{color:var(--color-primary);background:transparent;font-weight:750;box-shadow:none}.app>nav .register-action .icon{width:33px;height:33px;padding:6px;border-radius:50%;background:var(--color-primary)}@media(max-width:380px){.app>nav{width:calc(100% - 16px);border-radius:20px;gap:0;padding:5px}.app>nav button{font-size:10px}}.visit-services{display:grid;gap:12px;margin-top:14px}.visit-service{padding:12px;border:1px solid var(--color-border);border-radius:12px}.visit-total{display:block;padding-top:8px;border-top:1px solid var(--color-border);color:var(--color-primary);font-weight:750}.appointment-modal,.visit-modal{width:min(100%,520px)}.appointment-details{display:grid;gap:14px}.appointment-overview,.appointment-services-detail,.visit-section,.visit-total-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px}.appointment-overview{overflow:hidden}.appointment-overview-heading{display:grid;grid-template-columns:minmax(0,1fr) fit-content(calc(100% - 84px));align-items:start;gap:12px;padding:16px;border-bottom:1px solid var(--color-border)}.appointment-overview-heading h3,.appointment-services-heading h3{margin:0;color:var(--color-text);font-size:20px;letter-spacing:-.025em}.appointment-overview-heading h3{min-width:0;overflow-wrap:anywhere;line-height:1.25}.appointment-overview-heading .appointment-state{justify-self:end;max-width:100%;margin:0;line-height:1.25}.appointment-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0;padding:16px}.appointment-facts div{display:grid;align-content:start;gap:5px;min-width:0}.appointment-facts dt{display:flex;align-items:center;gap:6px;color:var(--color-muted);font-size:12px;font-weight:650}.appointment-facts dt .icon{flex-shrink:0;width:16px;height:16px;color:var(--color-primary)}.appointment-facts dd{display:grid;gap:3px;margin:0 0 0 22px;color:var(--color-text);font-size:15px;font-weight:700;overflow-wrap:anywhere}.appointment-facts .appointment-duration{grid-column:1 / -1}.appointment-modal>header{align-items:center;gap:12px;margin-bottom:16px}.appointment-modal>header h2{font-size:clamp(22px,5.7vw,27px);letter-spacing:-.035em;line-height:1.2;padding-top:0}.appointment-modal>header .close{width:44px;height:44px;font-size:28px}@media(max-width:350px){.appointment-overview-heading{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-facts{grid-template-columns:1fr}}.appointment-services-detail{padding:14px 16px 5px}.appointment-services-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.appointment-services-heading h3{font-size:16px}.appointment-services-heading span{display:grid;min-width:26px;min-height:26px;padding:0 7px;place-items:center;border-radius:99px;background:var(--color-soft);color:var(--color-primary-dark);font-size:13px;font-weight:750}.appointment-service-detail{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 0;border-top:1px solid var(--color-border);font-size:14px}.appointment-service-detail strong{overflow-wrap:anywhere}.appointment-service-detail>span:last-child{color:var(--color-muted);font-weight:650}@media(max-width:350px){.appointment-service-detail{grid-template-columns:28px minmax(0,1fr);gap:5px 9px}.appointment-service-detail>span:last-child{grid-column:2}.appointment-service-icon{grid-row:1 / 3;align-self:start}}.appointment-service-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:var(--color-surface-alt);color:var(--color-primary)}.appointment-service-icon .icon{width:16px;height:16px}.appointment-actions{display:grid;gap:9px;margin-top:16px}.appointment-edit-action{justify-self:center}.visit-form{gap:12px}.visit-modal>header{align-items:center;margin-bottom:16px}.visit-modal>header h2{font-size:clamp(24px,7vw,30px);letter-spacing:-.04em}.visit-modal>header .close{width:48px;height:48px;font-size:32px;line-height:1}.visit-section{gap:12px;padding:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visit-section-heading{display:flex;align-items:center;gap:7px}.visit-section-heading .icon{width:20px;height:20px;color:var(--color-primary)}.visit-section-heading h3{margin:0;color:var(--color-text);font-size:19px;letter-spacing:-.025em}.visit-section .selected-customer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:12px;background:var(--color-surface-alt);border:1px solid var(--color-border)}.visit-section .selected-customer small{grid-column:1}.visit-section .selected-customer .text{grid-column:2;grid-row:1 / 3;align-self:center}.visit-section .customer-options{max-height:min(180px,28dvh)}.customer-result{display:grid;gap:3px;width:100%;min-height:52px;padding:10px 12px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left}.customer-result:last-child{border-bottom:0}.customer-result:hover,.customer-result:focus-visible{background:var(--color-soft)}.customer-result small{color:var(--color-muted)}.visit-quick-form{gap:14px}.visit-quick-fields{display:grid;gap:16px}.field-error{color:var(--color-danger);font-weight:500;line-height:1.4}.visit-modal input[aria-invalid=true]{border-color:var(--color-danger)}.visit-service-amount:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.visit-section .visit-services{gap:8px;margin-top:2px}.visit-section .visit-services:empty{display:none}.visit-section .visit-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(94px,.55fr) auto;align-items:end;gap:8px 10px;padding:10px 0 0;border:0;border-top:1px solid var(--color-border);border-radius:0}.visit-service>strong{padding-bottom:10px;overflow-wrap:anywhere}.visit-service-amount{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px;min-height:40px;padding:0 8px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-muted);font-size:13px;font-weight:650}.visit-service-amount input{min-width:0;min-height:38px;padding:6px 0;border:0;border-radius:0;color:var(--color-text);font-size:14px;font-weight:700}.visit-service-amount input:focus-visible{outline:0}.visit-service .text{min-width:44px;min-height:44px;justify-content:center;padding-inline:7px;font-size:22px}.visit-date-time-fields{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(170px,.95fr);gap:10px}.visit-date-time-fields input{min-width:0}.appointment-time-field{display:block;min-width:0;margin:0;padding:0;border:0;background:transparent}.appointment-time-field legend{padding:0;margin-bottom:6px;color:var(--color-text);font-size:14px;font-weight:650}.appointment-time-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px}.appointment-time-controls select{min-width:0;padding-inline:8px}.appointment-time-field .appointment-time-hint{margin:6px 0 0;color:var(--color-muted);font-size:12px;line-height:1.4}@media(max-width:430px){.visit-date-time-fields{grid-template-columns:1fr}}.visit-total-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:13px 15px}.visit-total-card>span{display:inline-flex;align-items:center;gap:7px;color:var(--color-text);font-size:14px;font-weight:750}.visit-total-card .icon{width:20px;height:20px;color:var(--color-primary)}.visit-total-card strong{align-self:center;color:var(--color-text);font-size:18px;letter-spacing:-.025em}.visit-total-card small{grid-column:1 / -1;color:var(--color-muted);font-size:12px;line-height:1.35}body{background:var(--color-background)}.brand.wordmark{color:var(--color-text);gap:0}.brand.wordmark strong{font-size:clamp(32px,8vw,42px);font-weight:850;letter-spacing:-.075em;line-height:.9}.brand.wordmark strong span{display:inline;width:auto;height:auto;background:transparent;color:var(--color-primary);font:inherit}.top{height:92px;max-width:960px;padding-inline:28px}.profile{width:56px;height:56px;background:var(--color-soft);color:var(--color-primary-dark);font-size:22px}.content{width:min(100%,940px);padding:16px 28px 144px}.home-v2{display:grid;gap:24px}.home-greeting{margin:2px 0 8px}.home-greeting h1{margin:0;color:var(--color-text);font-size:clamp(28px,5.5vw,38px);line-height:1.15;letter-spacing:-.045em}.home-greeting p{margin:6px 0 0;color:var(--color-muted);font-size:clamp(18px,3.5vw,25px)}.home-card,.attention-card{margin:0;border:1px solid var(--color-border);border-radius:26px;background:var(--color-surface);padding:24px 28px;box-shadow:0 8px 24px var(--shadow-subtle)}.home-card-heading,.attention-heading{display:flex;gap:16px;align-items:center}.home-card-heading>div,.attention-heading>div{min-width:0;flex:1}.home-card-heading h2,.attention-heading h2{margin:0;color:var(--color-text);font-size:clamp(20px,3.2vw,27px);line-height:1.2;letter-spacing:-.035em}.home-card-heading p,.attention-heading p{margin:5px 0 0;color:var(--color-muted);font-size:clamp(14px,2.7vw,18px);line-height:1.35}.home-card-icon,.attention-icon{display:grid;flex:0 0 60px;width:60px;height:60px;place-items:center;border-radius:18px;background:var(--color-soft);color:var(--color-primary)}.home-card-icon .icon,.attention-icon .icon{width:31px;height:31px;stroke-width:2}.icon-only{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--color-primary-dark)}.icon-only:hover{background:var(--color-soft)}.home-card-link{margin-left:auto}.home-action-link{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-height:42px;border:0;border-radius:22px;padding:8px 12px;background:var(--color-soft);color:var(--color-primary-dark);font-weight:750}.home-action-link .icon{width:20px}.attention-card{border-color:var(--color-soft-strong);background:linear-gradient(135deg,var(--color-soft),var(--color-soft-gradient-end))}.pending-confirmation{margin:22px 0 0;padding:20px;border-radius:21px;background:var(--color-surface);box-shadow:0 4px 16px var(--shadow-subtle)}.pending-person{display:flex;gap:14px;align-items:center}.pending-person>div{min-width:0}.pending-person strong{font-size:clamp(18px,3vw,24px);color:var(--color-text)}.pending-person p{margin:4px 0 0;color:var(--color-muted);overflow-wrap:anywhere}.customer-avatar{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;padding:0;border:0;border-radius:50%;background:var(--color-soft);color:var(--color-primary-dark);font-size:19px;font-weight:800}.pending-actions{grid-template-columns:1fr 1fr;margin-top:20px}.pending-not-happened{min-height:36px;margin-top:6px;font-size:13px}.next-appointment-row{display:grid;grid-template-columns:auto 1px auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;margin-top:22px;padding:16px;border:0;border-radius:20px;background:var(--color-surface-alt);color:var(--color-text);text-align:left}.next-appointment-row:hover{background:var(--color-soft)}.appointment-time{display:grid;min-width:104px;gap:2px;color:var(--color-primary-dark);text-align:center}.appointment-time small{font-size:15px}.appointment-time strong{font-size:clamp(23px,4vw,34px);letter-spacing:-.05em}.appointment-divider{height:64px;background:var(--color-border-strong)}.next-appointment-person{display:grid;min-width:0;gap:4px}.next-appointment-person strong{font-size:20px;overflow-wrap:anywhere}.next-appointment-person small{color:var(--color-muted);overflow-wrap:anywhere}.next-appointment-row>.icon{color:var(--color-primary-dark)}.section-state,.compact-empty{margin:22px 0 0;color:var(--color-muted)}.compact-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0 0;border-top:1px solid var(--color-border)}.compact-empty p{margin:0}.reactivation-list{margin-top:18px}.reactivation-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--color-border)}.reactivation-row:first-child{border-top:0}.reactivation-person{min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:var(--color-text);text-align:left}.reactivation-person strong{display:block;overflow-wrap:anywhere;padding:0;border:0;background:transparent;color:var(--color-text);font-size:19px;font-weight:800;text-align:left}.reactivation-person span{display:block;margin:3px 0 0;color:var(--color-muted)}.reactivation-actions{display:flex;align-items:center;gap:2px}.reactivation-actions details{position:relative}.reactivation-actions summary::-webkit-details-marker{display:none}.reactivation-options{position:absolute;z-index:3;right:0;top:42px;display:grid;width:max-content;min-width:190px;border:1px solid var(--color-border);border-radius:14px;padding:6px;background:var(--color-surface);box-shadow:0 10px 24px var(--shadow-nav)}.monthly-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.monthly-summary h2{margin:0;color:var(--color-text);font-size:clamp(17px,2.6vw,21px)}.monthly-period{margin:4px 0 0;color:var(--color-muted)}.monthly-value{margin:10px 0 0;color:var(--color-text);font-size:clamp(28px,5vw,40px);font-weight:850;letter-spacing:-.05em;line-height:1.1}.monthly-value.month-balance-error{max-width:35ch;font-size:16px;letter-spacing:0;line-height:1.4}.more-page{max-width:680px;margin:0 auto}.more-options{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface)}.more-options button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:82px;border:0;border-bottom:1px solid var(--color-border);padding:14px 18px;background:transparent;color:var(--color-text);text-align:left}.more-options button:last-child{border-bottom:0}.more-options button:hover{background:var(--color-surface-alt)}.more-options button>span{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;background:var(--color-soft);color:var(--color-primary)}.more-options strong,.more-options small{display:block}.more-options small{margin-top:3px;color:var(--color-muted)}.app>nav{border-color:var(--color-border);box-shadow:0 12px 28px var(--shadow-nav)}.app>nav button{color:var(--color-muted)}.app>nav button.active{background:var(--color-soft);color:var(--color-primary)}.app>nav .register-action{color:var(--color-primary)}.app>nav .register-action .icon{width:60px;height:60px;margin-top:-30px;padding:16px;background:var(--color-primary);color:var(--color-surface);box-shadow:0 8px 18px var(--shadow-nav-strong)}.app>nav .register-action:hover .icon{background:var(--color-primary-dark)}@media(max-width:620px){.top{height:82px;padding-inline:20px}.content{padding:10px 16px 140px}.brand.wordmark strong{font-size:36px}.profile{width:50px;height:50px}.home-v2{gap:20px}.home-card,.attention-card{padding:20px;border-radius:23px}.home-card-icon,.attention-icon{width:52px;height:52px;flex-basis:52px;border-radius:16px}.home-card-icon .icon,.attention-icon .icon{width:27px;height:27px}.home-action-link{font-size:0;min-width:42px;justify-content:center;padding:8px}.home-action-link .icon{width:22px}.pending-confirmation{margin-top:18px;padding:16px}.pending-actions{gap:8px}.next-appointment-row{grid-template-columns:auto 1px auto minmax(0,1fr) auto;gap:10px;padding:12px 8px}.appointment-time{min-width:76px}.appointment-time small{font-size:13px}.appointment-time strong{font-size:25px}.appointment-divider{height:54px}.next-appointment-row .customer-avatar{width:46px;height:46px;flex-basis:46px;font-size:16px}.next-appointment-person strong{font-size:17px}.compact-empty{display:grid;align-items:start}.reactivation-row{gap:10px}.reactivation-row .customer-avatar{width:44px;height:44px;flex-basis:44px;font-size:16px}.reactivation-person strong{font-size:16px}.reactivation-person span{font-size:13px}.monthly-summary{padding:20px}.app>nav{width:calc(100% - 16px);bottom:calc(8px + env(safe-area-inset-bottom))}.app>nav button{font-size:10px}.app>nav .register-action .icon{width:54px;height:54px;margin-top:-27px}}@media(max-width:370px){.home-card-heading,.attention-heading{gap:11px}.home-card-icon,.attention-icon{width:46px;height:46px;flex-basis:46px}.next-appointment-row{grid-template-columns:auto 1px minmax(0,1fr) auto}.next-appointment-row>.customer-avatar{display:none}.reactivation-actions{gap:0}}.agenda-heading,.page-heading{margin:4px 0 14px}.agenda-heading h1,.page-heading h1{font-size:clamp(25px,6vw,30px);line-height:1.15}.agenda-heading p:not(.eyebrow),.page-heading p:not(.eyebrow){margin-top:3px;font-size:16px}.agenda-view-switch{margin-bottom:14px;border:0;border-radius:16px;padding:4px;background:var(--color-soft)}.segment{min-height:44px;border-radius:13px;padding:7px 8px;font-size:14px}.segment[aria-pressed=true]{box-shadow:0 1px 5px var(--shadow-nav-strong)}.agenda-week{margin:0 0 14px}.agenda-week-header,.agenda-selected-date{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-month-picker{position:relative;display:inline-flex;min-height:44px;align-items:center;gap:7px;color:var(--color-text);font-size:17px;font-weight:800;letter-spacing:-.025em}.agenda-month-picker input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;cursor:pointer;opacity:0}.agenda-month-picker:focus-within{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:8px}.agenda-week-actions{display:flex;gap:7px}.agenda-week-button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:var(--color-surface-alt);color:var(--color-primary-dark);font-size:27px;line-height:1}.agenda-week-button:hover,.agenda-week-button:focus-visible{background:var(--color-soft)}.agenda-week-days{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:5px;margin:5px -5px 0;padding:5px;overflow-x:auto}.agenda-week-day{display:grid;min-width:0;min-height:72px;place-content:center;gap:3px;border:0;border-radius:16px;background:var(--color-surface-alt);color:var(--color-text)}.agenda-week-day small{color:var(--color-muted);font-size:10px;font-weight:650}.agenda-week-day strong{font-size:16px;line-height:1.1}.agenda-week-day[aria-pressed=true]{background:var(--color-primary);color:var(--color-surface);box-shadow:0 5px 12px #7454e83d}.agenda-week-day[aria-pressed=true] small{color:var(--color-surface)}.agenda-week-day[data-today]{box-shadow:inset 0 0 0 1px var(--color-soft-strong)}.agenda-week-day[aria-pressed=true][data-today]{box-shadow:0 5px 12px #7454e83d}.agenda-selected-date{margin-top:12px}.agenda-selected-date p{min-width:0;margin:0;color:var(--color-muted);font-size:14px;overflow-wrap:anywhere}.agenda-today{min-width:44px;min-height:44px;flex:0 0 auto;border:1px solid var(--color-soft-strong);border-radius:18px;padding:5px 10px;background:var(--color-soft);color:var(--color-primary);font-size:13px;font-weight:750}.agenda-today:disabled{cursor:default;opacity:.62}.agenda-list{display:grid;gap:8px}.agenda-row{display:grid;grid-template-columns:68px 3px minmax(0,1fr) auto;width:100%;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:18px;padding:10px 13px;background:var(--color-surface);box-shadow:0 4px 12px var(--shadow-subtle);color:var(--color-text);text-align:left}.agenda-row:hover,.agenda-row:focus-visible{border-color:var(--color-soft-strong);background:var(--color-soft-gradient-end)}.agenda-time{display:grid;min-width:0;gap:4px;align-content:center}.agenda-time strong{font-size:19px;letter-spacing:-.04em;line-height:1;overflow-wrap:anywhere}.agenda-time small{margin:0;color:var(--color-muted);font-size:11px;line-height:1.2}.agenda-time-divider{align-self:stretch;border-radius:999px;background:var(--color-primary);opacity:.8}.agenda-person{display:grid;min-width:0;gap:3px}.agenda-person>strong{overflow-wrap:anywhere;font-size:16px;line-height:1.2}.agenda-person>small{overflow-wrap:anywhere;color:var(--color-muted);font-size:13px;line-height:1.25}.agenda-row>.icon{width:20px;color:var(--color-primary-dark)}.appointment-state{grid-column:auto;justify-self:start;display:inline-flex;min-height:25px;align-items:center;gap:4px;margin-top:2px;border-radius:13px;padding:4px 8px;font-size:11px;font-weight:750;line-height:1}.appointment-state.scheduled{background:var(--color-status-scheduled-bg);color:var(--color-status-scheduled-text)}.appointment-state.completed{background:var(--color-status-completed-bg);color:var(--color-status-completed-text)}.appointment-state.pending{background:var(--color-status-pending-bg);color:var(--color-status-pending-text)}.agenda-empty{display:grid;justify-items:center;gap:6px;padding:16px 8px 0;text-align:center}.agenda-empty-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--color-soft);color:var(--color-primary)}.agenda-empty-icon .icon{width:29px;height:29px}.agenda-empty h2{max-width:20ch;margin:2px 0 0;color:var(--color-text);font-size:19px;letter-spacing:-.035em;line-height:1.18}.agenda-empty>p{max-width:29ch;margin:0;color:var(--color-muted);font-size:14px;line-height:1.4}.agenda-loading,.agenda-pending-empty{margin:20px 0 0;color:var(--color-muted);text-align:center}@media(min-width:680px){.agenda-week-days{gap:8px}.agenda-week-day{min-height:78px}.agenda-row{grid-template-columns:90px 3px minmax(0,1fr) auto;padding-inline:18px}}@media(max-width:370px){.agenda-week-days{gap:3px}.agenda-week-day{min-height:64px;border-radius:13px}.agenda-week-day strong{font-size:15px}.agenda-row{grid-template-columns:56px 3px minmax(0,1fr) auto;gap:8px;padding-inline:10px}.agenda-time strong{font-size:17px}}.home-card-heading h2,.attention-heading h2{font-size:17px;font-weight:750}.home-card-heading p,.attention-heading p{font-size:13px;line-height:1.35}.home-card-heading-action{width:100%;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.home-card-heading-action:hover .home-card-icon,.home-card-heading-action:focus-visible .home-card-icon{background:var(--color-soft-strong)}.home-card-heading-action>.icon:last-child{flex:0 0 auto;margin-left:auto;color:var(--color-primary-dark)}.next-appointment-row{margin-top:12px;padding:12px 8px}.appointment-time strong{font-size:27px;font-weight:850}.next-appointment-person strong{font-size:17px;font-weight:800}.compact-empty{min-height:0}.compact-empty-stacked{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:6px}.reactivation-section>.compact-empty{margin-top:10px}.monthly-summary{align-items:start}.monthly-summary h2{font-size:16px;font-weight:750;line-height:1.25}.monthly-period{line-height:1.3}@media(max-width:370px){.reactivation-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.reactivation-actions{grid-column:2;justify-self:start;margin-top:2px}}@media(max-width:620px){.attention-heading{position:relative;padding-right:36px}.attention-heading .icon-only{position:absolute;top:4px;right:-4px}}.top{height:66px;padding-inline:20px}.brand.wordmark strong{font-size:clamp(27px,7vw,30px)}.profile{width:44px;height:44px;font-size:17px}.content{padding:6px 16px 128px}.home-v2{gap:14px;-webkit-tap-highlight-color:var(--color-soft-strong)}.home-greeting{margin:2px 0}.home-greeting h1{font-size:clamp(22px,5.8vw,24px);line-height:1.2}.home-greeting p{margin-top:3px;font-size:15px;line-height:1.35}.home-card,.attention-card{border-radius:20px;padding:16px;box-shadow:0 5px 16px var(--shadow-subtle)}.home-card-heading,.attention-heading{gap:12px}.home-card-heading h2,.attention-heading h2{font-size:18px;letter-spacing:-.025em}.home-card-heading p,.attention-heading p{margin-top:3px;font-size:13px}.home-card-icon,.attention-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px}.home-card-icon .icon,.attention-icon .icon{width:23px;height:23px}.icon-only{flex-basis:40px;width:40px;height:40px}.home-action-link{min-height:40px;padding:7px 10px;font-size:13px}.attention-card{background:var(--color-soft)}.pending-confirmation{margin-top:12px;padding:16px;border-radius:16px;box-shadow:none}.pending-person{gap:10px;align-items:flex-start}.pending-person .customer-avatar{width:44px;height:44px;flex-basis:44px;font-size:16px}.pending-person strong{display:block;font-size:18px;line-height:1.25;overflow-wrap:anywhere}.pending-person p{margin-top:2px;font-size:13px;line-height:1.3}.pending-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.pending-not-happened{min-height:32px;margin-top:2px;padding-block:5px}.next-appointment-row{gap:10px;margin-top:14px;padding:12px 8px;border-radius:16px}.appointment-time{min-width:76px}.appointment-time small{font-size:12px}.appointment-time strong{font-size:25px}.appointment-divider{height:48px}.next-appointment-row .customer-avatar{width:42px;height:42px;flex-basis:42px;font-size:15px}.next-appointment-person{gap:1px}.next-appointment-person strong{font-size:16px}.next-appointment-person small{font-size:13px;line-height:1.25}.section-state,.compact-empty{margin-top:12px;font-size:14px}.compact-empty{min-height:0;padding:0;border-top:0}.compact-empty .text{min-height:44px;padding:7px 8px;font-size:13px}.reactivation-list{margin-top:10px}.reactivation-row{gap:10px;padding:10px 0}.reactivation-row .customer-avatar{width:44px;height:44px;flex-basis:44px;font-size:15px}.reactivation-person strong{font-size:16px}.reactivation-person span{margin-top:2px;font-size:12px;font-weight:400;line-height:1.35;color:var(--color-muted)}.reactivation-actions{gap:6px}.reactivation-options{top:48px}.home-v2 .icon-only{width:44px;height:44px;flex-basis:44px}.home-v2 :is(.contact-button,.icon-only,.next-appointment-row,.reactivation-person,.customer-avatar,.show-more,.home-card-heading-action,.reactivation-actions summary,.reactivation-options button):not(.button):active{background:var(--color-soft-strong);transform:translateY(1px)}.monthly-summary{column-gap:12px;row-gap:10px;padding:16px}.monthly-summary .home-card-icon{width:44px;height:44px;flex-basis:44px}.monthly-summary h2{font-size:17px;line-height:1.2;letter-spacing:-.03em}.monthly-period{margin-top:2px;font-size:13px}.monthly-value{grid-column:2;margin:0;font-size:29px;overflow-wrap:anywhere}@media(max-width:620px){.top{height:62px;padding-inline:16px}.content{padding-top:4px}.home-card,.attention-card{padding:16px}.attention-heading{padding-right:32px}.attention-heading .icon-only{top:2px;right:-3px}.home-action-link{min-width:40px}.monthly-summary h2{font-size:16px}}@media(max-width:370px){.attention-card{padding:12px}.pending-confirmation{padding:16px}.home-card-heading,.attention-heading{gap:9px}.home-card-icon,.attention-icon{width:40px;height:40px;flex-basis:40px}.monthly-summary h2{font-size:15px}}.appointment-state .icon{flex-shrink:0;width:14px;height:14px}.appointment-modal>form{margin-top:16px}.notification-viewport{position:fixed;z-index:30;top:max(16px,env(safe-area-inset-top));left:50%;width:min(480px,calc(100% - 32px));transform:translate(-50%);pointer-events:none}.notification{display:grid;grid-template-columns:22px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:10px 8px 10px 16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 8px 28px var(--shadow-modal);color:var(--color-text);pointer-events:auto;animation:notification-slide-in .24s cubic-bezier(.22,1,.36,1) both}.notification[data-exiting=true]{animation-name:notification-slide-out;animation-timing-function:ease-in;pointer-events:none}@keyframes notification-slide-in{0%{opacity:0;transform:translateY(calc(-100% - 24px))}to{opacity:1;transform:translateY(0)}}@keyframes notification-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(-100% - 24px))}}@media(prefers-reduced-motion:reduce){.notification,.notification[data-exiting=true]{animation:none}}.notification>.icon{width:22px;height:22px;color:var(--color-status-completed-text)}.notification-warning>.icon{color:var(--color-status-pending-text)}.notification p{margin:0;font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.notification button{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--color-muted);font-size:25px}.notification button:hover{background:var(--color-soft)}.customer-followup-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));grid-auto-rows:1fr;gap:8px;margin-top:10px}.customer-detail{width:min(100%,520px);margin-inline:auto;display:grid;gap:14px;min-width:0}.customer-detail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.customer-detail-toolbar .back{margin:0}.customer-profile{gap:12px;margin:0}.customer-profile>div:last-child{min-width:0;overflow-wrap:anywhere}.customer-profile .avatar{flex:0 0 48px}.customer-profile h1{font-size:clamp(24px,5vw,28px);line-height:1.2}.customer-profile p{font-size:14px;line-height:1.45}.customer-detail>.detail-actions,.customer-detail>.notice{margin:0}.customer-detail .section-title h2{margin:0}.customer-followup-state{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:12px;background:var(--color-surface-alt);color:var(--color-muted);font-size:12px;font-weight:650;line-height:1.35}.customer-followup-state .icon{width:15px;height:15px;flex-shrink:0}.customer-followup-state.enabled{background:var(--color-success-soft);color:var(--color-status-completed-text)}.customer-snooze-action{margin-top:8px}.customer-history article{gap:12px;padding:12px 0}.customer-history article:last-of-type{padding-bottom:0}.customer-history-summary{flex:1}.customer-history article strong{font-size:16px;line-height:1.35}.customer-history .customer-history-meta{display:flex;flex-wrap:wrap;gap:3px 8px;line-height:1.4}.customer-history-meta span+span:before{content:"·";margin-right:8px}.record-actions .button{justify-self:end}.record-actions details>.button{list-style:none}.record-actions details>.button::-webkit-details-marker{display:none}.record-actions details[open]>.button{background:var(--color-soft-strong)}.record-actions details>.button+.button{margin-top:6px}@media(max-width:370px){.button-medium.button-width-equal{font-size:var(--button-font-small);padding-inline:8px}}.reactivation-actions summary{list-style:none}.show-more{margin-top:8px}.button-group-inline{display:flex;flex-direction:row;align-items:center;gap:var(--button-gap)}.services-panel,.catalog-panel{margin-top:0;padding:16px;border-radius:18px;box-shadow:0 4px 16px var(--shadow-subtle)}.services-panel .services-panel-heading,.catalog-panel .catalog-heading{flex-wrap:nowrap;gap:12px;margin-bottom:8px}.services-panel-title,.catalog-title{display:flex;flex:1;align-items:center;gap:8px;min-width:0}.services-panel-heading>.button,.catalog-heading>.button{flex-shrink:0}.services-panel .services-panel-title h2,.catalog-panel .catalog-title h2{min-width:0;margin:0;font-size:17px;line-height:1.3}.services-count,.catalog-count{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:28px;height:28px;padding-inline:6px;border-radius:14px;background:var(--color-soft);color:var(--color-primary-dark);font-size:13px;font-weight:700}.services-panel .service{gap:12px;padding:14px 0}.services-panel .service:last-child{padding-bottom:0}.service-info{flex:1;min-width:0;overflow-wrap:anywhere}.service-info>strong{display:block;font-size:16px;line-height:1.35}.services-panel .service-metadata{display:flex;flex-wrap:wrap;gap:3px 8px;margin:4px 0 0;font-size:13px;line-height:1.4}.service-price{color:var(--color-text);font-weight:650}.service-actions{flex-shrink:0}.service-options{position:relative}.service-options>summary{list-style:none}.service-options>summary::-webkit-details-marker{display:none}.service-options[open]>summary{background:var(--color-soft-strong)}.service-options-menu{position:absolute;z-index:4;top:calc(100% + 6px);right:0;width:max-content;min-width:180px;max-width:min(260px,calc(100vw - 40px));padding:6px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 10px 24px var(--shadow-nav);scroll-margin-bottom:calc(100px + env(safe-area-inset-bottom))}.services-panel .services-state,.catalog-panel .catalog-state{margin:12px 0 0}.services-empty,.catalog-empty{margin-top:16px}.services-panel .services-empty p,.catalog-panel .catalog-empty p{margin:4px 0 0}.services-empty strong,.catalog-empty strong{color:var(--color-text)}.search-field{margin-top:12px}.search-field label{position:relative}.search-field .icon{position:absolute;top:50%;left:12px;width:18px;height:18px;transform:translateY(-50%);color:var(--color-muted);pointer-events:none}.search-field input[type=search]{padding-left:38px;border-color:var(--color-border);font-size:14px}.customers-list-tools{display:flex;justify-content:flex-end;margin-top:8px}.customers-list{margin-top:8px;border-top:1px solid var(--color-border)}.customers-panel .customer-row{padding:12px 0;gap:10px;min-height:64px;border-radius:0}.customers-panel .customer-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.customers-panel .customer-row strong{font-size:16px;line-height:1.35}.customers-panel .customer-row small{font-size:13px;line-height:1.4}.customers-panel .customer-row .avatar,.customers-panel .customer-row>.icon{flex-shrink:0}.customers-panel .customer-row>.icon{width:18px;height:18px;color:var(--color-muted)}.customers-panel .customer-row:active{background:var(--color-soft)}.customers-panel .customer-row:focus-visible{position:relative;outline-offset:-3px}@media(hover:hover){.customers-panel .customer-row:hover{background:var(--color-surface-alt)}}@media(max-width:370px){.services-panel .service{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.services-panel .service-info{display:contents}.services-panel .service-info>strong{grid-column:1 / -1}.services-panel .service-metadata{margin:0}}
