*{box-sizing:border-box}:root{--field:#f6eeeb;--panel:#fdfaf8;--panel-dim:#f5edea;--line:#e6d8d4;--line-strong:#cbb5b1;--ink:#322028;--ink-soft:#6d5860;--ink-faint:#9c868d;--plum:#563c4d;--plum-deep:#43293a;--milk:#f7ede9;--milk-dim:#cbb3bb;--peonia:#c25e74;--peonia-deep:#a94a60;--peonia-milk:#f8e7eb;--champagne:#eccb92;--danger:#8e2f3c;--display:"Prata", "Georgia", serif;--body:"Nunito Sans", "Helvetica Neue", sans-serif;--mono:"Spline Sans Mono", "SFMono-Regular", monospace;--radius:10px;--radius-pill:999px;--shadow-card:0 1px 2px #3220280d, 0 4px 14px #3220280d;--shadow-float:0 6px 28px #43293a2e}html{height:100%}body{font-family:var(--body);color:var(--ink);background:var(--field);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#563c4d0a 1px,#0000 1px),radial-gradient(#c25e7409 1px,#0000 1px);background-position:0 0,13px 21px;background-size:26px 26px,42px 42px;margin:0;font-size:14px}h1,h2,h3{font-family:var(--display);letter-spacing:.005em;color:var(--ink);margin:0 0 12px;font-weight:400}h1{font-size:30px}h2{font-size:22px}h3{font-size:18px}.hint{color:var(--ink-soft);font-size:13px;line-height:1.55}button{font:inherit;cursor:pointer;border:1.5px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:var(--radius-pill);padding:7px 16px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s,color .12s}button:hover{border-color:var(--ink-soft);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button[type=submit],button.on,button.primary,.wizard-actions .primary{background:var(--peonia);border-color:var(--peonia);color:#fff}button[type=submit]:hover,button.primary:hover,.wizard-actions .primary:hover{background:var(--peonia-deep);border-color:var(--peonia-deep);box-shadow:0 4px 14px #c25e7459}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.link-btn{color:var(--peonia-deep);text-underline-offset:3px;background:0 0;border:none;border-radius:4px;padding:0;font-weight:700;text-decoration:underline}button.link-btn:hover{color:var(--peonia);transform:none}input,select,textarea{font:inherit;border:1.5px solid var(--line);background:var(--panel);width:100%;color:var(--ink);border-radius:9px;padding:8px 11px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--peonia);box-shadow:0 0 0 3px var(--peonia-milk);outline:none}input[type=time],input[type=number],input[type=datetime-local]{font-family:var(--mono);font-size:13px}:focus-visible{outline:2px solid var(--peonia);outline-offset:2px}label{color:var(--ink-soft);margin-bottom:12px;font-size:13px;font-weight:700;display:block}label>input,label>select,label>textarea,label>div{margin-top:5px}.error-banner{background:var(--peonia-milk);color:var(--danger);border:1.5px solid #e9c3cc;border-radius:9px;margin-bottom:12px;padding:9px 12px;font-size:13px;font-weight:600}.field-error{color:var(--danger);margin-top:4px;font-size:12px;font-weight:600;display:block}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes signIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--panel);border:1.5px solid var(--line);width:410px;max-width:100%;box-shadow:var(--shadow-card);border-radius:18px;padding:36px;animation:.45s both rise}.auth-card h1{color:var(--plum);margin-bottom:2px;font-size:20px}.auth-card h1:after{content:".";color:var(--peonia)}.auth-card h2{margin-bottom:18px;font-size:26px}.auth-card button[type=submit]{width:100%;margin-top:8px;padding:11px;font-size:15px}.auth-alt{color:var(--ink-soft);text-align:center;margin-top:14px;font-size:13px}.auth-card-shopname h2{font-size:28px}.shopname-input{font-family:var(--display);text-align:center;margin:14px 0 16px;padding:14px 16px;font-size:22px}.auth-card-shopname button[type=submit]{width:100%;padding:11px;font-size:15px}.auth-shopname-recap{margin:-8px 0 16px}.auth-shopname-recap strong{color:var(--plum);font-family:var(--display);font-weight:400}.auth-alt a{color:var(--peonia-deep);font-weight:700}.subdomain-row{align-items:center;gap:6px;display:flex}.subdomain-row span{color:var(--ink-faint);white-space:nowrap;font-size:13px}.pw-strength{align-items:center;gap:10px;margin-top:7px;display:flex}.pw-strength-bar{flex:1;gap:4px;display:flex}.pw-strength-bar span{background:var(--line);border-radius:3px;flex:1;height:5px;transition:background .2s}.pw-strength-label{font-family:var(--mono);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.shell{min-height:100vh;display:flex}.sidebar{background:linear-gradient(178deg, var(--plum) 0%, var(--plum-deep) 100%);width:216px;color:var(--milk);flex-direction:column;flex-shrink:0;gap:20px;padding:20px 14px 16px;animation:.4s both signIn;display:flex}.shop-name,.shop-switcher{font-family:var(--display);color:var(--milk);border-bottom:1px solid #f7ede92e;padding:4px 10px 10px;font-size:18px}.shop-switcher{background:0 0;border:none;border-bottom:1px solid #f7ede92e;border-radius:0;width:100%}.shop-switcher:focus{box-shadow:none;border-color:var(--champagne)}.shop-switcher option{color:var(--ink);background:var(--panel);font-family:var(--body)}.sidebar nav{flex-direction:column;flex:1;gap:3px;display:flex}.sidebar nav a{color:var(--milk-dim);letter-spacing:.01em;border-radius:9px;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;animation:.4s both signIn}.sidebar nav a:first-child{animation-delay:50ms}.sidebar nav a:nth-child(2){animation-delay:90ms}.sidebar nav a:nth-child(3){animation-delay:.13s}.sidebar nav a:nth-child(4){animation-delay:.17s}.sidebar nav a:nth-child(5){animation-delay:.21s}.sidebar nav a:nth-child(6){animation-delay:.25s}.sidebar nav a:hover:not(.active){color:var(--milk);background:#f7ede917}.sidebar nav a.active{background:var(--milk);color:var(--plum-deep);font-weight:800;box-shadow:inset 0 -2px #43293a26}.nav-badge{border-radius:var(--radius-pill);background:var(--peonia);color:#fff;min-width:19px;font-family:var(--mono);text-align:center;vertical-align:1px;margin-left:8px;padding:1px 6px;font-size:10.5px;font-weight:600;display:inline-block}.notif-feed{flex-direction:column;gap:8px;max-width:640px;display:flex}.notif-item{text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;font-weight:400;transition:transform .12s,box-shadow .12s;display:flex}.notif-item:hover{box-shadow:var(--shadow-card);border-color:var(--line-strong);transform:translateY(-1px)}.notif-item.unread{border-left:4px solid var(--peonia);background:#fdf7f6}.notif-icon{font-size:17px;line-height:1.3}.notif-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-title{font-size:14px;font-weight:700}.notif-detail{color:var(--ink-soft);font-size:13px}.notif-time{font-family:var(--mono);color:var(--ink-faint);white-space:nowrap;font-size:11px}.sidebar-footer{color:var(--milk-dim);border-top:1px solid #f7ede92e;justify-content:space-between;align-items:center;padding:10px 10px 0;font-size:12px;display:flex}.sidebar-footer button{color:var(--milk-dim);text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.sidebar-footer button:hover{color:var(--milk);transform:none}.content{flex:1;min-width:0;padding:22px 26px}.page-loading{min-height:100vh;color:var(--ink-soft);font-family:var(--display);place-items:center;font-size:18px;display:grid}.calendar-page{flex-direction:column;height:calc(100vh - 44px);animation:.4s both rise;display:flex}.cal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.cal-nav{align-items:center;gap:8px;display:flex}.cal-nav button{padding:6px 13px}.cal-nav h2{margin:0 0 0 12px;font-size:21px}.cal-toggle{gap:0;display:flex}.cal-toggle button{border-right-width:0;border-radius:0}.cal-toggle button:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.cal-toggle button:last-child{border-radius:0 var(--radius-pill) var(--radius-pill) 0;border-right-width:1.5px}.cal-scroll{background:var(--panel);border:1.5px solid var(--line);box-shadow:var(--shadow-card);border-radius:16px;flex:1;overflow:auto}.cal-grid{min-width:600px;display:flex;position:relative}.cal-times{background:var(--panel-dim);flex-shrink:0;width:56px;position:relative}.cal-hour{font-family:var(--mono);color:var(--ink-faint);font-size:11px;font-weight:500;position:absolute;right:8px;transform:translateY(-8px)}.cal-col{border-left:1px solid var(--line);flex-direction:column;flex:1;min-width:150px;animation:.45s both rise;display:flex}.cal-col:nth-child(2){animation-delay:40ms}.cal-col:nth-child(3){animation-delay:80ms}.cal-col:nth-child(4){animation-delay:.12s}.cal-col:nth-child(5){animation-delay:.16s}.cal-col:nth-child(6){animation-delay:.2s}.cal-col-head{z-index:2;background:var(--panel);border-bottom:1.5px solid var(--line);border-top:4px solid var(--line-strong);letter-spacing:.01em;padding:8px 10px;font-size:13.5px;font-weight:800;position:sticky;top:0}.cal-col-body{flex:1;position:relative}.cal-line{border-top:1px solid var(--panel-dim);position:absolute;left:0;right:0}.cal-now{border-top:2px solid var(--peonia);z-index:1;position:absolute;left:0;right:0}.cal-now:before{content:"";background:var(--peonia);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-1px}.appt{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--plum);text-align:left;z-index:1;box-shadow:var(--shadow-card);cursor:pointer;border-radius:9px;flex-direction:column;gap:1px;padding:4px 8px;font-size:12px;transition:transform .12s,box-shadow .12s;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.appt:hover{box-shadow:var(--shadow-float);z-index:3;transform:translateY(-1px)scale(1.005)}.appt strong{font-size:12.5px;font-weight:800}.appt .appt-time{font-family:var(--mono);color:var(--ink-faint);font-size:10.5px}.appt.status-completed{opacity:.55}.appt.status-no_show{opacity:.55;text-decoration:line-through}.appt.appt-block{background:repeating-linear-gradient(-45deg, var(--panel-dim), var(--panel-dim) 6px, var(--field) 6px, var(--field) 12px);color:var(--ink-soft);border-style:dashed}.appt.appt-block strong{color:var(--ink-soft);font-weight:700}.modal-tabs{border-bottom:1.5px solid var(--line);gap:0;margin-bottom:16px;display:flex}.modal-tabs button{font-family:var(--display);color:var(--ink-faint);background:0 0;border:none;border-bottom:2.5px solid #0000;border-radius:0;margin-bottom:-1.5px;padding:8px 14px;font-size:16px;font-weight:400}.modal-tabs button:hover{color:var(--ink);transform:none}.modal-tabs button.on{color:var(--ink);border-bottom-color:var(--peonia);background:0 0}.appt.grabbable{cursor:grab;touch-action:none}.appt.grabbable:active{cursor:grabbing}.appt.dragging{opacity:.3;box-shadow:none;transform:none}.appt-ghost{pointer-events:none;z-index:4;background:var(--peonia-milk);border:1.5px dashed var(--peonia);border-left:4px solid var(--peonia);box-shadow:var(--shadow-float)}.appt-ghost strong,.appt-ghost .appt-time{color:var(--peonia-deep)}.appt-resize{cursor:ns-resize;touch-action:none;height:7px;position:absolute;bottom:0;left:0;right:0}.appt-resize:after{content:"";background:var(--line-strong);opacity:0;border-radius:2px;width:22px;height:3px;margin-left:-11px;transition:opacity .12s;position:absolute;bottom:2px;left:50%}.appt:hover .appt-resize:after{opacity:1}.cal-header-right{flex-wrap:wrap;gap:10px;display:flex}.cal-col-sub{font-family:var(--mono);color:var(--ink-faint);margin-left:6px;font-size:11px;font-weight:600}.cal-col-head.today{border-top-color:var(--peonia);color:var(--peonia-deep)}.cal-col-head.today .cal-col-sub{background:var(--peonia);color:#fff;border-radius:var(--radius-pill);padding:1px 7px}.cal-toast{background:var(--plum-deep);color:var(--milk);border-radius:var(--radius-pill);box-shadow:var(--shadow-float);z-index:50;padding:11px 20px;font-size:13px;font-weight:700;animation:.25s both rise;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.detail-panel{background:var(--panel);border:1.5px solid var(--line);width:300px;box-shadow:var(--shadow-float);z-index:20;border-radius:16px;padding:20px;animation:.25s both rise;position:fixed;top:18px;right:18px}.detail-panel h3{padding-right:22px}.detail-panel dl{margin:0 0 14px;font-size:13px}.detail-panel dt{color:var(--ink-faint);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-top:9px;font-size:10.5px}.detail-panel dd{margin:2px 0 0;font-weight:600}.detail-close{color:var(--ink-faint);background:0 0;border:none;padding:2px 6px;font-size:20px;position:absolute;top:10px;right:12px}.detail-close:hover{color:var(--ink);transform:none}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30;background:#43293a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);width:480px;max-width:100%;max-height:88vh;box-shadow:var(--shadow-float);border-radius:18px;padding:26px;animation:.28s both rise;overflow:auto}.modal fieldset{border:1.5px solid var(--line);border-radius:12px;margin:0 0 14px;padding:10px 14px 12px}.modal legend{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding:0 6px;font-size:11px;font-weight:600}.check-row{color:var(--ink);align-items:center;gap:8px;margin:5px 0;font-weight:600;display:flex}.check-row input{width:auto;accent-color:var(--peonia)}.check-row em{color:var(--ink-faint);font-size:12px;font-style:normal;font-family:var(--mono)}.field-row{gap:12px;display:flex}.field-row label{flex:1}.inline-create{gap:6px;display:flex}.inline-create button{flex-shrink:0}.modal-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.svc-selected-row{border-bottom:1px dashed var(--line);align-items:center;gap:10px;padding:7px 2px;display:flex}.svc-selected-row:last-of-type{border-bottom:none}.svc-selected-row em{color:var(--ink-faint);font-size:12px;font-style:normal;font-family:var(--mono);white-space:nowrap;margin-left:auto}.svc-remove{color:var(--ink-faint);background:0 0;border:none;padding:0 4px;font-size:17px;line-height:1}.svc-remove:hover{color:var(--danger);transform:none}.svc-add-btn{border:1.5px dashed var(--line-strong);border-radius:var(--radius);width:100%;color:var(--peonia-deep);background:0 0;margin-top:8px;padding:8px}.svc-add-btn:hover{border-color:var(--peonia);color:var(--peonia);background:var(--peonia-milk);transform:none}.svc-picker-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.svc-picker-head h3{margin:0}.svc-back{color:var(--ink-soft);background:0 0;border:none;padding:2px 8px;font-size:18px;line-height:1}.svc-back:hover{color:var(--ink);transform:none}.svc-search{margin-bottom:10px}.svc-picker-list{border:1.5px solid var(--line);border-radius:12px;max-height:320px;margin-bottom:10px;overflow-y:auto}.svc-picker-row{text-align:left;border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:10px;width:100%;padding:10px 12px;font-weight:600;display:flex}.svc-picker-row:last-child{border-bottom:none}.svc-picker-row:hover{background:var(--panel-dim);transform:none}.svc-picker-row.selected{background:var(--peonia-milk)}.svc-picker-check{width:16px;color:var(--peonia);flex-shrink:0;font-weight:700}.svc-picker-name{font-weight:600}.svc-picker-meta{font-family:var(--mono);color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:400}.svc-picker-empty{margin:0;padding:14px 12px}.svc-create-link{border:1.5px dashed var(--line-strong);border-radius:var(--radius);width:100%;color:var(--peonia-deep);background:0 0;padding:8px}.svc-create-link:hover{border-color:var(--peonia);color:var(--peonia);background:var(--peonia-milk);transform:none}.settings-page{max-width:640px}.settings-card{background:var(--panel);border:1.5px solid var(--line);box-shadow:var(--shadow-card);border-radius:16px;margin-bottom:18px;padding:22px 24px}.settings-card h3{margin-bottom:14px}.settings-card label{margin-bottom:10px;font-weight:600;display:block}.settings-card label input,.settings-card label select{margin-top:4px;font-weight:400}.settings-subhead{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);border-top:1px dashed var(--line);margin:18px 0 10px;padding-top:16px;font-size:11px;font-weight:600}.settings-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;display:flex}.settings-saved{color:var(--peonia-deep);font-size:13px;font-weight:700}.settings-verify-row{align-items:center;gap:14px;display:flex}.settings-verify-row button{flex-shrink:0}.catalog-page{max-width:920px;animation:.4s both rise}.catalog-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.catalog-create{background:var(--panel);border:1.5px solid var(--line);box-shadow:var(--shadow-card);border-radius:14px;gap:8px;margin-bottom:16px;padding:12px;display:flex}.catalog-create input[type=color]{width:46px;padding:3px}.catalog-create-service{display:block}.catalog-create-fields{gap:8px;display:flex}.catalog-create-service .wizard-rooms-select{margin:12px 0 0}.catalog-table{border-collapse:separate;border-spacing:0;background:var(--panel);border:1.5px solid var(--line);width:100%;box-shadow:var(--shadow-card);border-radius:14px;overflow:hidden}.catalog-table th,.catalog-table td{text-align:left;border-bottom:1px solid var(--panel-dim);padding:10px 14px;font-size:14px}.catalog-table tbody tr:last-child td{border-bottom:none}.catalog-table tbody tr{transition:background .1s}.catalog-table tbody tr:hover{background:var(--panel-dim)}.catalog-table th{background:var(--panel-dim);color:var(--ink-soft);font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em;border-bottom:1.5px solid var(--line);font-size:10.5px;font-weight:600}.catalog-table tr.inactive td{opacity:.4}.catalog-table input[type=checkbox]{width:auto;accent-color:var(--plum)}.color-dot{border:2px solid var(--panel);width:15px;height:15px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%;display:inline-block}.wizard-page{place-items:center;min-height:100vh;padding:24px;display:grid}.wizard-card{background:var(--panel);border:1.5px solid var(--line);width:580px;max-width:100%;box-shadow:var(--shadow-card);border-radius:20px;padding:34px;animation:.45s both rise}.wizard-steps{gap:6px;margin:0 0 26px;padding:0;list-style:none;display:flex}.wizard-steps li{text-align:center;font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);border-top:3px solid var(--line);flex:1;padding-top:9px;font-size:11px;font-weight:600;transition:border-color .2s,color .2s}.wizard-steps li.current{color:var(--peonia-deep);border-top-color:var(--peonia)}.wizard-steps li.past{border-top-color:var(--plum);color:var(--plum)}.wizard-card h2{margin-bottom:8px}.wizard-list{margin:18px 0 8px;padding:0;list-style:none}.wizard-list li{margin-bottom:7px}.wizard-list li input{width:100%}.wizard-list-static{border:1.5px solid var(--line);background:var(--panel-dim);border-radius:9px;padding:9px 12px;font-weight:600}.wizard-list-static em{color:var(--ink-faint);font-size:12px;font-style:normal;font-family:var(--mono)}.wizard-add{gap:8px;margin:12px 0 4px;display:flex}.wizard-add-service input[type=number]{width:84px}.wizard-rooms-select{flex-wrap:wrap;align-items:center;gap:4px 18px;margin:10px 0;display:flex}.wizard-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.wizard-done{text-align:center}.wizard-done h1{margin-bottom:6px;font-size:52px}.wizard-done h2{font-size:26px}.wizard-done button{background:var(--peonia);border-color:var(--peonia);color:#fff;margin-top:18px;padding:12px 28px;font-size:15px}.wizard-done button:hover{background:var(--peonia-deep);box-shadow:0 4px 14px #c25e7459}.hours-grid{flex-direction:column;gap:7px;margin:16px 0;display:flex}.hours-row{border:1.5px solid var(--line);background:var(--panel);border-radius:10px;justify-content:space-between;align-items:center;padding:8px 12px;transition:opacity .15s;display:flex}.hours-row.closed{opacity:.45;background:var(--panel-dim)}.hours-day{color:var(--ink);align-items:center;gap:10px;margin:0;font-size:14px;font-weight:700;display:flex}.hours-day input{width:auto;accent-color:var(--plum)}.hours-times{align-items:center;gap:7px;display:flex}.hours-times input{width:108px}.hours-times span{color:var(--ink-faint)}.hours-closed-label{color:var(--ink-faint);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (width<=760px){.shell{flex-direction:column}.sidebar{flex-direction:row;align-items:center;gap:10px;width:100%;padding:10px 12px}.shop-name,.shop-switcher{border-bottom:none;padding:0 6px;font-size:16px}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar nav a{white-space:nowrap;padding:7px 10px}.sidebar-footer{border-top:none;padding:0}.content{padding:14px}.field-row{flex-direction:column;gap:0}.detail-panel{width:auto;left:12px;right:12px}}
