/* Reference-led salon UI. No external fonts or network resources. */
html[data-color-theme="dark"],html[data-color-theme="dark"] body{--bg:#101013;--paper:#19191e;--panel:#202026;--input:#222228;--ink:#f8f0ef;--muted:#c3b5bb;--line:#383139;--soft:#292329;--accent:#f0b9b6;--rose:#e5a4af;--gold:#ddb19b;--button-ink:#26161f;--primary:linear-gradient(110deg,#f4c3be,#e39cae);--hero:radial-gradient(ellipse at 85% 40%,#432b2a55,transparent 65%);--focus:#f4c5ad;--danger:#ffb0bc;--shadow:0 12px 35px #00000018;--tone-0:#39242e;--tone-1:#29283f;--tone-2:#393026;--tone-3:#223638;--tone-4:#263344}
html[data-color-theme="light"],html[data-color-theme="light"] body{--bg:#fcf7f5;--paper:#fffdfc;--panel:#faf3f5;--input:#fffafc;--ink:#2e1836;--muted:#70576c;--line:#eadde5;--soft:#efe3eb;--accent:#743362;--rose:#a94e7f;--gold:#855640;--button-ink:#fffafa;--primary:linear-gradient(110deg,#743362,#9e4a7e);--hero:radial-gradient(ellipse at 85% 40%,#e7bec366,transparent 65%);--focus:#8c456c;--danger:#a52e50;--shadow:0 9px 30px #6b314b07;--tone-0:#fbe4ed;--tone-1:#eee6fa;--tone-2:#faede5;--tone-3:#e4f2ef;--tone-4:#e3eefb}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;letter-spacing:-.15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}button{border-radius:13px;font-weight:500;transition:background-color .15s,border-color .15s}button.primary,body.dark button.primary{background:var(--primary);color:var(--button-ink);border:1px solid transparent;box-shadow:0 5px 18px #a44f6717;font-weight:600}button:hover{background:var(--soft);border-color:var(--accent)}button.primary:hover{filter:brightness(1.05);background:var(--primary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:1px}input,select,textarea{background:var(--input);border:1px solid var(--line);border-radius:13px;padding:13px 14px;min-height:47px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox]{accent-color:var(--accent)}a{color:var(--accent)}[hidden]{display:none!important}.ui-icon{width:23px;height:23px;display:inline-block;vertical-align:middle;flex-shrink:0;stroke-width:1.55}
/* App shell */
aside{background:var(--paper);padding-top:34px}.brand{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;letter-spacing:1px}.brand-small{font-family:inherit;font-size:11px;letter-spacing:3.6px}.logo{border:1px solid var(--line);background:var(--soft);color:var(--accent);display:grid;place-items:center;border-radius:15px}.logo .ui-icon{width:28px;height:28px}.tagline{color:var(--muted);margin-top:20px}nav button{border:1px solid transparent;color:var(--muted);gap:13px;border-radius:13px;padding:14px}nav button.active{background:linear-gradient(120deg,var(--soft),var(--panel));border-color:var(--line);color:var(--accent)}nav .ui-icon{width:23px;height:23px}nav span{font-weight:500;font-size:13px}main{padding-bottom:22px}header{height:102px;margin-bottom:24px}.eyebrow{color:var(--gold);font-size:9px;letter-spacing:2.1px;font-weight:600}header p{font-size:13px}h1{font-size:30px;letter-spacing:-.8px;font-weight:600;line-height:1.25}h1>.ui-icon{width:29px;height:29px;color:var(--accent);margin-right:9px;vertical-align:-3px}h2{font-size:17px;font-weight:600;letter-spacing:-.4px}.subtitle{font-size:13px;margin-top:9px;margin-bottom:25px}.card,.stat{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px}.card-head{margin-bottom:18px}.card-head h2{display:flex;align-items:center;gap:8px}.text-btn{color:var(--accent)}.badge{background:var(--soft);color:var(--accent);border:1px solid var(--line);font-size:8px;padding:2px 5px;letter-spacing:.4px}.notice{background:var(--soft);color:var(--muted);border:1px solid var(--line);line-height:1.7;border-radius:13px}.helper,small,.muted{color:var(--muted)}footer{color:var(--muted);font-size:9px}#toast{background:var(--ink);color:var(--bg);border:1px solid var(--line);z-index:20}
/* Open hero composition and sculpted image, as in the supplied references. */
.salon-hero{background:var(--hero);position:relative;isolation:isolate;min-height:235px;display:flex;align-items:center;padding:23px 32px;overflow:hidden;border:0;border-radius:19px}.hero-copy{position:relative;z-index:1;max-width:65%}.salon-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:47px;line-height:1.03;font-weight:400;letter-spacing:-1.8px;margin:12px 0 9px}.salon-hero h1 span{display:block;font-size:1em;letter-spacing:-1.8px}.salon-hero p{color:var(--muted);font-size:16px;margin:0}.salon-hero small{display:block;max-width:310px;font-size:12px;line-height:1.6;margin-top:15px}.salon-art{position:absolute;right:16px;top:-25px;width:330px;height:300px;object-fit:contain;z-index:0;filter:drop-shadow(0 6px 25px #ca7c6f12);pointer-events:none}.stats{gap:15px;margin:22px 0 26px}.stat{display:grid;grid-template-columns:1fr auto;padding:20px 23px;min-height:154px;background:linear-gradient(145deg,var(--soft),var(--paper) 80%)}.stat .icon{position:static;grid-column:1;grid-row:1;padding:0;background:none;color:var(--accent);border-radius:0;width:30px;height:30px;display:block;font-style:normal}.stat:before{content:'›';grid-column:2;grid-row:1;font-size:22px;color:var(--accent);font-weight:300}.stat>span{grid-column:1/-1;grid-row:2;font-size:12px;line-height:1.3;margin-top:12px;max-width:135px;color:var(--ink)}.stat strong{grid-column:1/-1;font-size:31px;font-weight:600;margin-top:6px;line-height:1.2;letter-spacing:-.9px;font-variant-numeric:tabular-nums}.stat strong small{font-size:11px;font-weight:400;letter-spacing:0}.stat p{grid-column:1/-1;font-size:11px;line-height:1.4;margin-top:5px;color:var(--muted)}
/* Readable compact client and appointment lists. Initials intentionally represent real records. */
.avatar{width:43px;height:43px;border-radius:50%;background:linear-gradient(130deg,#e4bfa5,#ab7784);color:#291c2a;border:2px solid color-mix(in srgb,var(--paper) 60%,#eac4ba);font-family:Georgia,serif;font-size:15px;font-weight:600}.appt{padding:16px 0;gap:13px;border:0;border-top:1px solid var(--line);background:none;border-radius:0;margin:0}.appt:first-of-type{border-top:0}.appt-time{font-size:13px;min-width:48px;font-weight:500;font-variant-numeric:tabular-nums}.appt-time small{font-size:10px;margin-top:3px}.appt-info strong{font-size:14px;font-weight:600}.appt-info p{font-size:11px;margin-top:3px;line-height:1.5}.appt-info>small{font-size:10px}.appt button{padding:8px 4px;border:0;background:transparent;color:var(--accent);min-width:32px}.appt button .ui-icon{width:17px;height:17px}.schedule-card>.card-head{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:0}.schedule-card>.card-head .text-btn{font-size:11px;text-decoration:underline;text-underline-offset:3px}.next{background:linear-gradient(130deg,var(--soft),var(--paper));border-color:var(--line)}.next-name{font-family:Georgia,serif;font-size:27px}.next-time{color:var(--accent);font-size:29px}.next .actions button{width:100%;background:var(--soft)}.client-list{gap:12px}.client-card{padding:19px 20px!important;margin:0;background:linear-gradient(120deg,var(--paper),var(--panel))}.client-card .row>div:last-child{min-width:0}.client-card h2{font-size:16px;overflow-wrap:anywhere}.client-card .row small{font-size:12px}.client-card>.helper{font-size:11px;margin:9px 0 0 57px}.client-card .actions{gap:6px;justify-content:space-between;align-items:center;margin:11px 0 0 55px}.client-card .actions button{font-size:11px;padding:6px 8px;min-height:35px;background:transparent}.client-card .actions>button:first-child{color:var(--accent);border-color:var(--line)}.search{min-height:47px;border-radius:13px;padding-left:16px}.toolbar{gap:9px}.toolbar #add-client{background:var(--soft);color:var(--accent)}
/* Calendar: date focus, week selector and subtle service colors. */
.calendar-toolbar{margin-bottom:13px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0 14px;margin-bottom:23px;gap:7px}.week-strip button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;padding:5px;gap:7px;min-height:74px}.week-strip small{font-size:11px}.week-strip strong{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;font-size:15px;font-weight:500}.week-strip [aria-pressed=true] strong{background:var(--primary);color:var(--button-ink);box-shadow:0 3px 9px #aa69721a}.week-strip i{width:3px;height:3px;border-radius:50%;background:transparent}.week-strip .has-visits{background:var(--rose)}.agenda-card{padding:24px 20px}.agenda-list{position:relative}.agenda-list:has(.appt):before{content:'';position:absolute;top:10px;bottom:10px;left:55px;width:1px;background:var(--line)}.agenda-list .appt{position:relative;border:0;display:grid;grid-template-columns:46px 37px minmax(0,1fr) 30px;gap:11px;margin:13px 0;padding:13px 0 13px 10px;isolation:isolate;min-height:89px}.agenda-list .appt:before{content:'';position:absolute;inset:0 0 0 65px;border:1px solid color-mix(in srgb,var(--rose) 12%,var(--line));border-radius:13px;background:var(--tone-0);z-index:-1}.agenda-list .tone-1:before{background:var(--tone-1)}.agenda-list .tone-2:before{background:var(--tone-2)}.agenda-list .tone-3:before{background:var(--tone-3)}.agenda-list .tone-4:before{background:var(--tone-4)}.agenda-list .avatar{width:34px;height:39px;border-radius:9px;font-size:12px;border-width:1px}.agenda-list .appt-time{margin-left:-10px;min-width:0;color:var(--muted)}.agenda-list .appt-info strong{font-size:13px}.agenda-list .appt-info p{font-size:11px}.calendar-empty{padding:15px 10px 24px}.calendar-empty img{display:block;width:min(230px,90%);height:200px;object-fit:contain;margin:0 auto 10px}.calendar-empty h3{font-size:17px;font-weight:600;color:var(--ink);max-width:250px;margin:10px auto}.calendar-empty p{font-size:12px;line-height:1.7}.calendar-empty button{min-width:190px;margin-top:8px}.calendar-head{margin-bottom:15px}.calendar-head button{border:0;background:transparent;color:var(--accent);font-size:24px}.calendar-head select{background:transparent;font-weight:600;font-size:14px}.month-title input{background:transparent}.week span{color:var(--muted);font-size:10px}.days button{color:var(--ink);background:transparent;border-radius:50%;font-size:14px}.days button.out{opacity:1;color:var(--muted)}.days button.today{box-shadow:inset 0 0 0 1px var(--rose)}.days button.selected{background:var(--primary);color:var(--button-ink);box-shadow:none;font-weight:600}.days button.selected.today{box-shadow:0 0 0 2px var(--gold)}.days i,.legend i{background:var(--rose)}.days .selected i{background:var(--button-ink)}.legend{color:var(--muted)}.slots{gap:8px}.slots button{background:var(--panel);border-radius:11px;min-height:43px;padding:8px 13px;font-size:12px;font-variant-numeric:tabular-nums}
/* Treatment collection with product thumbnails. */
.section-heading{margin-bottom:0}.filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 15px;margin:0 0 3px;scrollbar-width:none}.filter-tabs button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:25px;min-height:40px;padding:8px 16px;white-space:nowrap;font-size:12px}.filter-tabs [aria-pressed=true]{background:var(--primary);border-color:transparent;color:var(--button-ink)}.treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.treatment-card{display:flex;align-items:center;gap:15px;padding:8px;margin:0;position:relative;overflow:hidden;min-height:112px;border-radius:14px;background:linear-gradient(120deg,var(--paper),var(--panel))}.treatment-art{flex-shrink:0;width:96px;height:96px;border-radius:10px;background-color:#e9d1cc;background-image:url('assets/treatment-collection.png');background-size:500% 100%;background-repeat:no-repeat;border:1px solid var(--line)}.thumb-0{background-position:0% 50%}.thumb-1{background-position:25% 50%}.thumb-2{background-position:50% 50%}.thumb-3{background-position:75% 50%}.thumb-4{background-position:100% 50%}.treatment-body{min-width:0;flex:1}.treatment-body h2{font-size:16px;font-weight:600;line-height:1.3;margin:0 0 7px;overflow-wrap:anywhere}.treatment-price{font-size:13px;font-weight:500;display:block;margin-bottom:4px}.treatment-duration{font-size:12px;color:var(--muted);display:block}.treatment-duration .ui-icon{width:13px;height:13px;margin-right:3px}.treatment-book{padding:8px 3px;min-width:34px;align-self:stretch;border:0;background:transparent;color:var(--accent)}.treatment-book .ui-icon{width:17px;height:17px}
/* Sheets and forms */
dialog{background:var(--bg);border:1px solid var(--line);border-radius:23px;color:var(--ink);box-shadow:0 30px 120px #0007;width:min(610px,calc(100% - 28px));padding:28px}dialog::backdrop{background:#09070db8;backdrop-filter:blur(7px)}.modal-title{background:var(--bg);padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:22px}.modal-title h2{font-size:21px;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.modal-title button{background:var(--soft);color:var(--accent);border-radius:50%;width:37px;height:37px;padding:3px;font-size:23px}label{font-size:12px;font-weight:500;margin-bottom:8px}label small{font-size:10px}.field{margin-bottom:19px}.form-grid{gap:0 14px}#appointment-form>.field:first-child{padding:15px;background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:22px}#appointment-form .field:has(#a-date) label:before,#appointment-form .field:has(#a-time) label:before,#appointment-form .field:has(#a-service) label:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--rose);margin-right:6px;vertical-align:3px}#appointment-form>.actions{padding:17px 0 0;border-top:1px solid var(--line);margin-top:20px}#appointment-form>.actions .primary{flex:1;min-height:50px;border-radius:15px}.error{background:var(--soft);color:var(--danger);border:1px solid var(--danger)}.danger{color:var(--danger)}.contact-link{background:var(--panel);border-color:var(--line)}.record-overview{padding:0;margin-bottom:22px;border:0;background:none}.record-identity{display:flex;align-items:center;gap:13px;padding:12px 0 18px}.record-identity .avatar{width:61px;height:61px;font-size:22px}.record-identity>div:last-child{min-width:0}.record-identity h3{font-size:21px;font-weight:600;letter-spacing:-.6px;margin:0 0 4px;overflow-wrap:anywhere}.record-identity small{font-size:13px}.record-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);margin-bottom:17px}.record-tabs button{border:0;border-radius:0;background:transparent;color:var(--muted);font-size:12px;position:relative;min-height:45px}.record-tabs button[aria-pressed=true]{color:var(--accent)}.record-tabs button[aria-pressed=true]:after{content:'';position:absolute;height:2px;bottom:-1px;left:12px;right:12px;background:var(--rose)}.record-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.record-stats>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 12px;min-width:0;display:flex;flex-direction:column-reverse;justify-content:space-between;gap:7px}.record-stats strong{font-size:18px;font-weight:600;overflow-wrap:anywhere;letter-spacing:-.5px}.record-stats small{font-size:10px}.visit-record{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:7px 14px;margin:10px 0}.visit-record summary:before{color:var(--accent)}.visit-record summary{gap:12px}.visit-record summary>span{min-width:0}.visit-record strong{font-size:13px}.visit-record small{font-size:11px}.visit-content{border-color:var(--line)}.visit-content dt{color:var(--muted)}.record-text{color:var(--ink)}#client-form>details,.treatment-section{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:7px 13px}#record-overview,#record-history,#record-notes{scroll-margin-top:85px}summary{color:var(--accent)}
/* Settings retain all existing controls, with a compact premium index. */
.settings-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.settings-shortcuts a{display:flex;align-items:center;gap:13px;min-height:61px;padding:15px 17px;background:linear-gradient(120deg,var(--paper),var(--panel));border:1px solid var(--line);border-radius:13px;text-decoration:none;color:var(--accent);font-size:13px}.settings-shortcuts span{flex:1;color:var(--ink)}.settings-shortcuts a>.ui-icon:last-child{width:17px}.settings-card{scroll-margin-top:110px}.settings-card h2{font-size:18px}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:19px 0 13px}.theme-options button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:12px;color:var(--muted);background:var(--panel);text-align:left;border-radius:14px}.theme-options button:before{content:'';display:block;width:100%;height:47px;border-radius:8px;background:linear-gradient(135deg,#101013 50%,#e7acae 50%);border:1px solid var(--line);margin-bottom:4px}.theme-options [data-theme=light]:before{background:linear-gradient(135deg,#fffaf7 50%,#d0a0c0 50%)}.theme-options [data-theme=system]:before{background:linear-gradient(90deg,#101013 50%,#fffaf7 50%)}.theme-options button strong{font-size:13px;font-weight:600;color:var(--ink)}.theme-options button small{font-size:10px}.theme-options button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);background:var(--soft)}.theme-options button[aria-pressed=true] strong{color:var(--accent)}.theme-options .ui-icon{width:20px;height:20px}.service-row{gap:9px}.hours-row{gap:9px}
@media(max-width:1150px){.treatment-grid{grid-template-columns:1fr}.stat{padding:18px}.salon-art{right:-15px;width:300px}.hero-copy{max-width:65%}}
@media(max-width:650px){
 body{font-size:14px}main{padding-inline:18px;padding-bottom:calc(97px + env(safe-area-inset-bottom))}header{height:calc(73px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);margin-bottom:22px;border-bottom-color:var(--line);background:var(--bg);gap:8px}header .eyebrow{font-size:7px;letter-spacing:1.3px}header p{font-size:10px;max-width:185px;line-height:1.5}header .primary{font-size:11px;border-radius:16px;min-height:43px;padding:9px 13px}h1{font-size:25px;letter-spacing:-.7px}h1>.ui-icon{width:26px;height:26px;margin-right:7px;vertical-align:-4px}.subtitle{font-size:12px;line-height:1.6;margin-top:9px;margin-bottom:22px}.eyebrow{font-size:8px}h2{font-size:16px}.card{padding:18px 14px;border-radius:15px;margin-bottom:17px}.grid{gap:0}.card-head{gap:8px}.card-head h2{font-size:16px}.card-head small{font-size:10px}.text-btn{font-size:11px}.badge{font-size:7px;letter-spacing:.15px;padding:1px 4px}.notice{font-size:11px;padding:13px 14px}.helper{font-size:11px}
 aside{height:calc(73px + env(safe-area-inset-bottom));padding:6px 9px calc(6px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);box-shadow:0 -8px 25px #00000009;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(15px)}nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}nav button{min-height:58px;min-width:0;padding:5px 0;gap:4px;justify-content:center;border-radius:12px;color:var(--muted);border:0}nav button .ui-icon{width:22px;height:22px;stroke-width:1.5}nav span{font-size:9px;letter-spacing:-.3px;font-weight:400}nav button.active{background:transparent;border:0;color:var(--accent);position:relative;isolation:isolate}nav button.active:before{content:'';position:absolute;inset:2px 8px 2px;background:linear-gradient(145deg,var(--soft),var(--panel));border-radius:12px;z-index:-1}nav button.active .ui-icon{filter:drop-shadow(0 2px 3px #dc8d9c22);stroke-width:2}
 body[data-view=home] main{display:flex;flex-direction:column}body[data-view=home] #app{display:contents}body[data-view=home] .salon-hero{order:1;margin:0 -18px;min-height:194px;padding:27px 25px 13px;border-radius:0;background:var(--hero)}body[data-view=home] header{order:2;position:static;height:60px;min-height:60px;margin:0;border:0;padding:0;gap:5px}body[data-view=home] header .eyebrow{display:none}body[data-view=home] header p{font-size:10px;max-width:180px;margin:0}body[data-view=home] header .primary{font-size:12px;min-height:43px;padding:10px 16px}body[data-view=home] .stats{order:3;margin:9px 0 19px}body[data-view=home] #app>.grid{order:4}body[data-view=home] footer{order:5}.hero-copy{max-width:67%}.salon-hero .eyebrow{display:none}.salon-hero h1{font-size:34px;line-height:1.04;letter-spacing:-1.4px;margin:0 0 7px}.salon-hero h1 span{font-size:1em;letter-spacing:-1.4px}.salon-hero p{font-size:12px;letter-spacing:0}.salon-hero small{display:none}.salon-art{height:238px;width:238px;right:-39px;top:-11px;opacity:.88}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.stat{padding:14px 12px 13px;border-radius:14px;min-height:151px;display:grid;align-content:start;grid-template-rows:27px 38px 32px auto}.stat .icon{display:block;width:26px;height:26px}.stat .icon .ui-icon{width:25px;height:25px}.stat:before{font-size:20px;line-height:23px}.stat>span{font-size:10px;line-height:1.35;margin-top:9px;max-width:82px}.stat strong{font-size:26px;margin-top:7px;letter-spacing:-.7px;line-height:1.15}.stat:nth-child(3) strong{font-size:22px!important;white-space:normal}.stat strong small{font-size:9px;display:inline;font-weight:400}.stat p{font-size:9px;line-height:1.45;margin:8px 0 0}.schedule-card{padding:14px 12px}.schedule-card>.card-head{padding-bottom:9px;gap:4px}.schedule-card>.card-head small{display:none}.schedule-card>.card-head h2{font-size:15px}.schedule-card>.card-head .text-btn{font-size:9px;padding:5px 0;min-height:35px}.appt{padding:14px 0;gap:10px}.appt .avatar{display:grid;width:36px;height:36px;font-size:12px}.appt-time{min-width:37px;font-size:11px}.appt-time small{font-size:9px}.appt-info strong{font-size:12px;letter-spacing:-.2px}.appt-info p{font-size:10px;line-height:1.4}.appt-info>small{font-size:9px}.appt button{min-width:23px;padding:6px 0}.appt button .ui-icon{width:16px;height:16px}.appt .badge{margin-left:4px}.next-name{font-size:25px}.next-time{font-size:27px}.schedule-card .appt-info>small{display:block}.empty{font-size:12px;padding:25px 8px}.toolbar #add-client{width:100%;min-height:44px;border-radius:15px;font-size:13px}.toolbar .search{max-width:100%;min-height:45px;font-size:14px}.client-list{grid-template-columns:1fr;gap:8px}.client-card{padding:14px 13px!important;border-radius:14px}.client-card .avatar{width:46px;height:46px;font-size:17px}.client-card h2{font-size:14px}.client-card .row small{font-size:12px}.client-card>.helper{font-size:10px;margin:6px 0 0 60px}.client-card .actions{margin:7px 0 0 57px;gap:3px}.client-card .actions button{font-size:10px;padding:5px 7px;min-height:36px}.client-card .row{gap:13px}
 .calendar-toolbar{gap:6px}.calendar-toolbar button{min-width:40px;padding:6px 8px;font-size:12px}.calendar-toolbar input{font-size:13px;min-width:100px!important;width:auto!important;flex:1}.week-strip{gap:2px;margin-bottom:18px;padding:8px 0 9px}.week-strip button{padding:3px 0;gap:3px;min-height:66px}.week-strip small{font-size:10px}.week-strip strong{width:33px;height:33px;font-size:14px}.agenda-card{padding:16px 10px}.agenda-card>.card-head h2{font-size:13px}.agenda-card>.card-head small{font-size:9px}.agenda-list .appt{grid-template-columns:38px 31px minmax(0,1fr) 22px;gap:9px;min-height:86px;padding:11px 0 11px 7px;margin:12px 0}.agenda-list .appt:before{left:49px;border-radius:12px}.agenda-list:has(.appt):before{left:41px}.agenda-list .avatar{width:29px;height:35px;border-radius:8px;font-size:11px}.agenda-list .appt-time{margin-left:-6px;font-size:11px}.agenda-list .appt-info strong{font-size:12px}.agenda-list .appt-info p{font-size:10px}.agenda-list .appt-info>small{font-size:9px}.agenda-list .badge{margin:2px 0 0 0}.days button{border-radius:12px;font-size:13px;height:44px;min-height:44px}.month-title select{max-width:120px;font-size:14px}.calendar-head button{min-width:42px}.calendar-empty img{width:220px;height:185px}.calendar-empty h3{font-size:16px}.calendar-empty p{font-size:12px}.calendar-empty button{font-size:13px}
 .filter-tabs{gap:6px;margin-bottom:3px;padding-bottom:13px}.filter-tabs button{font-size:11px;min-height:36px;padding:7px 12px}.treatment-grid{grid-template-columns:1fr;gap:8px}.treatment-card{gap:12px;padding:6px;min-height:89px;border-radius:13px;margin-bottom:0}.treatment-art{width:77px;height:77px;border-radius:9px}.treatment-body h2{font-size:14px;margin-bottom:5px}.treatment-price{font-size:12px;margin-bottom:3px}.treatment-duration{font-size:11px}.treatment-duration .ui-icon{width:12px;height:12px}.treatment-book{min-width:29px;padding:5px 2px}.treatment-book .ui-icon{width:15px;height:15px}
 dialog{width:100%;max-width:100%;height:calc(min(100dvh,var(--usable-height,100dvh)) - env(safe-area-inset-top));max-height:calc(min(100dvh,var(--usable-height,100dvh)) - env(safe-area-inset-top));margin:auto 0 0;padding:19px 21px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border-bottom:0;scroll-padding-top:83px}.modal-title{position:sticky;top:-19px;z-index:3;margin-bottom:23px;padding:10px 0 15px;background:var(--bg)}.modal-title h2{font-size:21px;letter-spacing:-.5px}.modal-title button{width:38px;height:38px;min-width:38px;min-height:38px;font-size:24px}.form-grid{gap:0 11px}input,select,textarea{font-size:16px;border-radius:12px;min-height:47px;padding:12px}.form-grid label{font-size:12px;min-height:18px}.field{margin-bottom:19px}#appointment-form>.field:first-child{background:none;padding:0;border:0;margin-bottom:22px}#appointment-form .field:has(#a-date),#appointment-form .field:has(#a-time),#appointment-form .field:has(#a-service){grid-column:1/-1}#appointment-form #a-notes{min-height:70px}#appointment-form>.actions{gap:8px}#appointment-form>.actions .primary{min-height:49px;min-width:160px;font-size:14px}.record-identity{padding-top:2px}.record-identity .avatar{width:57px;height:57px}.record-identity h3{font-size:20px}.record-tabs{margin-bottom:15px}.record-stats{gap:7px}.record-stats>div{padding:12px 9px;gap:9px;border-radius:12px}.record-stats strong{font-size:16px}.record-stats small{font-size:9px}.visit-record{padding:6px 12px}.visit-record strong{font-size:12px}.visit-record small{font-size:10px}.contact-link{font-size:12px}.settings-shortcuts{grid-template-columns:1fr;gap:9px;margin:20px 0 25px}.settings-shortcuts a{min-height:56px;font-size:13px;padding:13px 14px}.settings-shortcuts .ui-icon{width:22px;height:22px}.settings-card{scroll-margin-top:91px}.settings-card h2{font-size:16px}.theme-options{gap:7px}.theme-options button{padding:10px 8px;gap:6px}.theme-options button:before{height:40px}.theme-options button strong{font-size:12px}.theme-options button small{font-size:9px;overflow-wrap:anywhere}.theme-options .ui-icon{width:18px;height:18px}.service-row input,.hours-row input{font-size:14px;padding-inline:6px}.hours-row{gap:6px}.hours-row label{font-size:12px}.service-row button{font-size:10px}#settings-data .actions{display:grid;grid-template-columns:1fr}#settings-data .actions button{font-size:12px;text-align:left}footer{margin:26px 0 16px;font-size:8px}#toast{font-size:12px;bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media(max-width:375px){main{padding-inline:14px}body[data-view=home] .salon-hero{margin-inline:-14px;padding-inline:22px}.salon-hero h1{font-size:32px}.salon-art{right:-47px;opacity:.8}.stat{padding-inline:10px}.stat strong{font-size:25px}.stat:nth-child(3) strong{font-size:20px!important}.schedule-card>.card-head h2{font-size:14px}.client-card .actions{margin-left:0;justify-content:flex-end}.record-stats strong{font-size:14px}dialog{padding-inline:17px}.theme-options button{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:650px){nav button{background:transparent}.salon-hero h1{color:var(--ink)}body[data-view=home] header p{font-size:11px}.stat>span{font-size:11px}.stat p{font-size:10px}.appt-info strong{font-size:13px}.appt-info p{font-size:11px}.appt-info>small{font-size:10px}.schedule-card>.card-head .text-btn{font-size:10px}.agenda-list .appt-info strong{font-size:12px}.agenda-list .appt-info p{font-size:10px}.agenda-list .appt-info>small{font-size:9px}}
.record-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.record-stats>div{min-height:76px}.appt-info strong,.stat strong,.treatment-price{overflow-wrap:anywhere}
/* Keep the primary appointment action within thumb reach in the mobile sheet. */
@media(max-width:650px){dialog[data-kind=appointment] #appointment-form{padding-bottom:87px}dialog[data-kind=appointment] #appointment-form>.actions:not(.contact-actions){position:fixed;left:0;right:0;bottom:0;z-index:5;margin:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -8px 22px #0000000a}dialog[data-kind=appointment] #appointment-form>.actions:not(.contact-actions) .primary{min-height:48px}dialog[data-kind=appointment]{scroll-padding-bottom:100px}}
/* SM brand mark only — existing layout and theme palettes remain intact. */
.logo .brand-monogram{display:block;width:46px;height:46px;overflow:visible;letter-spacing:0;line-height:1}.brand-monogram .monogram-s{fill:var(--accent)}.brand-monogram .monogram-m{fill:var(--gold)}.brand-monogram .monogram-frame{color:var(--gold);opacity:.36}.brand-monogram .monogram-detail{color:var(--rose);opacity:.8}

