:root{color:#17251f;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17251f;--muted:#6c766f;--muted-soft:#9ba19d;--cream:#f4f1e9;--paper:#fffdf8;--line:#e5e0d5;--green:#315f4f;--green-dark:#24483c;--green-strong:#315f4f;--green-strong-hover:#24483c;--sage:#dce9de;--sand:#efe1c2;--clay:#ecd8ca;--danger:#a64036;--shadow:0 18px 50px #1e2e2614;--field:#ede9df;--field-hover:#e2dccd;--ghost-hover:#ece8de;--line-strong:#cfc9ba;--surface-soft:#faf8f3;--surface-hover:#f4f1e9;--gold:#f1e4c7;--ink-soft:#203c32;--sand-ink:#7a5a2d;--domain-bg:#f5f2eb;--domain-ink:#58645d;--danger-soft:#fae8e5;--danger-row:#fdf6f4;--danger-line:#e6c6c0;--notice-warn-bg:#fff4d9;--notice-warn-ink:#745b23;--notice-ok-bg:#e8f2eb;--notice-err-bg:#fbe9e6;--warn-bg:#fdf8ec;--warn-line:#e7dcbf;--warn-gold:#f4e7c6;--warn-gold-ink:#7a6428;--frozen-gold:#d8b869;--input-line:#dcd7cc;--input-bg:#fff;--input-disabled:#f1efe9;--disabled-ink:#9aa19c;--label-ink:#39463f;--toggle-track:#d8d7d2;--softest:#fbfaf6;--row-hover:#f8f6f0;--tile-hover:#f3efe4;--inactive-bg:#f2f0e9;--inactive-line:#e2ded1;--strikethrough:#a49f95;--calendar-bg:#f9f8f4;--calendar-today:#f5f8f4;--calendar-closed:#fbefec;--calendar-closed-strong:#f4e5e1;--calendar-closed-ink:#955148;--calendar-override:#eef3ea;--calendar-closed-label:#efd8d3;--working-period:#fff;--working-line:#dbdbd48c;--hour-line:#ebe8df;--hour-line-closed:#ecdeda;--calendar-loading-bg:#fffdf899;--cancelled-bg:#ededeb;--cancelled-ink:#777;--cancelled-line:#999;--move-card:#f7f4ed;--move-next-bg:#e9f2ec;--move-next-line:#b8d0c2;--move-next-ink:#5f7d70;--icon-soft:#eeeae0;--icon-soft-hover:#e0d9c9;--focus-ring:#4b7d6c8c;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2323312a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background:#f4f1e9;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8ede9;--ink:#e8ede9;--muted:#9aa8a0;--muted-soft:#7e8b84;--cream:#101512;--paper:#1a201d;--line:#2c3530;--green:#6fa98f;--green-dark:#88b8a0;--green-strong:#3a715b;--green-strong-hover:#43826a;--sage:#2a3a31;--sand:#3a3222;--clay:#3a2c26;--danger:#d97a6e;--shadow:0 18px 50px #00000073;--field:#242b27;--field-hover:#2c3430;--ghost-hover:#26302b;--line-strong:#3a463f;--surface-soft:#161b18;--surface-hover:#232a26;--gold:#3a3322;--ink-soft:#e8c98a;--sand-ink:#e0b97a;--domain-bg:#1d2420;--domain-ink:#a7b3ac;--danger-soft:#33211f;--danger-row:#2b1e1c;--danger-line:#5c3530;--notice-warn-bg:#332a17;--notice-warn-ink:#e0c07a;--notice-ok-bg:#1d2b24;--notice-err-bg:#33211f;--warn-bg:#2b2417;--warn-line:#4a4027;--warn-gold:#3b3220;--warn-gold-ink:#d8b869;--frozen-gold:#d8b869;--input-line:#39423d;--input-bg:#131916;--input-disabled:#1d2320;--disabled-ink:#6b7570;--label-ink:#cfd8d2;--toggle-track:#3a423d;--softest:#141a17;--row-hover:#1d2420;--tile-hover:#222b26;--inactive-bg:#1b211e;--inactive-line:#2b332e;--strikethrough:#6b746f;--calendar-bg:#131816;--calendar-today:#16211c;--calendar-closed:#22181a;--calendar-closed-strong:#271b1e;--calendar-closed-ink:#c98a7e;--calendar-override:#1a241d;--calendar-closed-label:#3a2621;--working-period:#1a201d;--working-line:#ffffff0f;--hour-line:#222a26;--hour-line-closed:#2b1f21;--calendar-loading-bg:#1a201d99;--cancelled-bg:#232725;--cancelled-ink:#9aa09c;--cancelled-line:#3f4541;--move-card:#1b211e;--move-next-bg:#1d2b24;--move-next-line:#2f4a3d;--move-next-ink:#8fa79c;--icon-soft:#242b27;--icon-soft-hover:#2f3832;--focus-ring:#6fa98f8c;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%23dce4df' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background:#101512}[data-theme=dark] .login-intro{background:#0c110e}[data-theme=dark] .appointment-card.color-0{color:#a8cdb8;background:#1d2b24;border-color:#3f6b57}[data-theme=dark] .appointment-card.color-1{color:#e0c07a;background:#2b2417;border-color:#9c7a3e}[data-theme=dark] .appointment-card.color-2{color:#d8a893;background:#2b1e1a;border-color:#96624c}[data-theme=dark] .appointment-card.color-3{color:#a9c0d8;background:#1d242e;border-color:#5b738f}[data-theme=dark] .drag-slot-preview{color:#cfe3d6;background:#315f4f59;border-color:#6fa98f;box-shadow:0 8px 20px #00000059}[data-theme=dark] .drag-slot-preview.invalid{color:#e8b5ac;background:#a640364d;border-color:#d97a6e}[data-theme=dark] .day-edit:hover{background:#ffffff1f}[data-theme=dark] .view-toggle button.active{background:var(--field);box-shadow:none}[data-theme=dark] .button.primary{box-shadow:0 7px 18px #0006}[data-theme=dark] .day-heading span{color:var(--muted)}[data-theme=dark] .stat-card small,[data-theme=dark] .calendar-hint{color:var(--muted-soft)}[data-theme=dark] .appointment-avatar{box-shadow:0 0 0 1px #ffffff29}[data-theme=dark] .appointment-card.cancelled{background:var(--cancelled-bg);color:var(--cancelled-ink);border-color:var(--cancelled-line)}[data-theme=dark] .day-column.drag-target{background:#1a241d;box-shadow:inset 0 0 0 2px #6fa98f80}[data-theme=dark] .day-column.drag-target.invalid{background:#2b1e1c;box-shadow:inset 0 0 0 2px #d97a6e80}[data-theme=dark] .drag-time-guide span{background:var(--green-strong)}[data-theme=dark] .drag-time-guide i{border-color:#6fa98f99}[data-theme=dark] .drag-time-guide.invalid span{background:var(--danger)}[data-theme=dark] .drag-time-guide.invalid i{border-color:#d97a6eb8}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,select{font:inherit}button{color:inherit}h1,h2,p{margin:0}h1,h2{letter-spacing:-.035em;font-family:Avenir Next,Segoe UI,sans-serif}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.button{cursor:pointer;border:0;border-radius:12px;padding:11px 17px;font-weight:700;transition:transform .15s,background .15s,opacity .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button.primary{background:var(--green-strong);color:#fff;box-shadow:0 7px 18px #315f4f33}.button.primary:hover:not(:disabled){background:var(--green-strong-hover)}.button.secondary,.button.ghost{background:var(--field);color:var(--ink)}.button.secondary:hover:not(:disabled){background:var(--field-hover)}.button.ghost{border:1px solid var(--line);background:0 0}.button.ghost:hover:not(:disabled){background:var(--ghost-hover);border-color:var(--line-strong)}.button.ghost.danger-text:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-line)}.button.danger:hover:not(:disabled){background:var(--danger-soft)}.button:focus-visible,.icon-button:focus-visible,.close-button:focus-visible,.toggle:focus-within>span,.field-eye:focus-visible,.range-remove:focus-visible,.range-add:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.button.danger{color:var(--danger);background:var(--danger-soft)}.button.wide{width:100%;padding-block:13px}.plus{margin-right:5px;font-size:20px;font-weight:500;line-height:0}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.muted{color:var(--muted)}.brand-mark{background:var(--green-strong);color:#fff;letter-spacing:-.06em;border-radius:18px;place-items:center;width:54px;height:54px;font-family:Avenir Next,Segoe UI,sans-serif;font-weight:800;display:grid;box-shadow:0 12px 28px #18372c38}.brand-mark.small{border-radius:14px;width:43px;height:43px;font-size:14px}.brand-row{align-items:center;gap:14px;font-family:Avenir Next,Segoe UI,sans-serif;font-weight:700;display:flex}.profile-image-editor{flex:none;width:43px;height:43px;position:relative}.profile-image-trigger,.profile-image-static{background:var(--gold);width:43px;height:43px;color:var(--ink-soft);border:0;border-radius:14px;place-items:center;padding:0;font-size:22px;font-weight:800;display:grid;overflow:hidden}.profile-image-trigger{cursor:pointer;transition:filter .15s;position:relative;box-shadow:0 7px 18px #06181140}.profile-image-trigger:hover:not(:disabled){filter:brightness(.93)}.profile-image-trigger:disabled{cursor:wait}.profile-image-trigger img,.profile-image-static img{object-fit:cover;width:100%;height:100%;display:block}.profile-image-trigger>span,.profile-image-static>span{letter-spacing:-.04em}.profile-image-badge{z-index:2;border:2px solid var(--ink);background:var(--green-strong);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:23px;height:23px;padding:0;font-size:10px;font-style:normal;transition:background .15s,transform .15s;display:grid;position:absolute;bottom:-5px;right:-5px}.profile-image-badge svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.profile-image-badge:hover:not(:disabled),.profile-image-trigger:hover:not(:disabled)~.profile-image-badge{background:var(--green-strong-hover);transform:scale(1.08)}.profile-image-badge:disabled{cursor:wait}.profile-image-remove{z-index:2;border:2px solid var(--ink);background:var(--danger-soft);width:18px;height:18px;color:var(--danger);cursor:pointer;border-radius:50%;place-items:center;padding:0 0 1px;font-size:13px;line-height:1;display:grid;position:absolute;top:-6px;right:-7px}.profile-image-editor.circle .profile-image-trigger,.profile-image-static.circle{border-radius:50%}.avatar-glyph{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.75;width:58%;height:58%}.center-screen{place-content:center;justify-items:center;gap:24px;min-height:100vh;display:grid}.loader{border:3px solid var(--line);border-top-color:var(--green-strong);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.loading-error{text-align:center;color:var(--danger);gap:16px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:var(--paper);grid-template-columns:minmax(380px,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-intro{color:#f8f4ea;background:radial-gradient(circle at 18% 78%,#bc996538,#0000 28%),radial-gradient(circle at 82% 18%,#80aa8f29,#0000 32%),#17251f;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(32px,5vw,76px);display:flex;position:relative;overflow:hidden}.login-intro:after{content:"";border:1px solid #ffffff12;border-radius:50%;width:450px;height:450px;position:absolute;bottom:-170px;right:-210px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.login-intro .brand-mark{color:#203c32;background:#f1e4c7}.login-copy{z-index:1;max-width:590px;position:relative}.login-copy .eyebrow{color:#d1b987}.login-copy h1{margin-bottom:30px;font-size:clamp(46px,6vw,82px);line-height:.99}.login-copy>p:last-child{color:#cbd3cf;max-width:520px;font-size:18px;line-height:1.7}.login-feature{color:#dfe7e2;z-index:1;align-items:center;gap:10px;font-size:14px;display:flex;position:relative}.pulse-dot{background:#83bf99;border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 5px #83bf9924}.login-panel{background:var(--surface-soft);place-items:center;padding:40px;display:grid}.login-card{gap:23px;width:min(100%,430px);display:grid}.login-card h2{margin-bottom:7px;font-size:36px}label{color:var(--label-ink);gap:7px;font-size:13px;font-weight:700;display:grid}input,select{border:1px solid var(--input-line);background:var(--input-bg);width:100%;color:var(--ink);border-radius:11px;outline:0;padding:12px 13px;transition:border .15s,box-shadow .15s}input:focus,select:focus{border-color:#6e998a;box-shadow:0 0 0 4px #4b7d6c1c}.phone-input{border:1px solid var(--input-line);background:var(--input-bg);border-radius:11px;grid-template-columns:94px minmax(0,1fr);transition:border .15s,box-shadow .15s;display:grid;overflow:hidden}.phone-input:focus-within{border-color:#6e998a;box-shadow:0 0 0 4px #4b7d6c1c}.phone-input select,.phone-input input{box-shadow:none;border:0;border-radius:0}.phone-input select:focus,.phone-input input:focus{box-shadow:none;border:0}.phone-input select{appearance:none;border-right:1px solid var(--line);background-color:var(--surface-soft);background-image:var(--select-arrow);cursor:pointer;background-position:right 12px center;background-repeat:no-repeat;padding:10px 29px 10px 9px;font-size:13px;font-weight:700}.security-note{color:var(--muted);text-align:center;font-size:12px}.text-button,.back-button{color:var(--green);cursor:pointer;text-align:center;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.back-button{text-align:left;color:var(--muted);width:fit-content}.otp-input{text-align:center;letter-spacing:.24em;padding-left:calc(13px + .24em);font-size:26px;font-weight:800}.notice{border-radius:12px;gap:7px;padding:13px 15px;display:flex}.notice.warning{background:var(--notice-warn-bg);color:var(--notice-warn-ink);flex-direction:column;font-size:13px}.notice.dev-code{background:var(--notice-ok-bg);color:var(--green);flex-direction:column;font-size:13px}.notice.dev-code code{letter-spacing:.12em;font-size:16px}.notice.error{background:var(--notice-err-bg);color:var(--danger);justify-content:space-between;align-items:center;margin:16px 20px 15px;font-size:13px}.notice.error button{cursor:pointer;color:inherit;background:0 0;border:0;font-size:20px}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:11px 13px;font-size:13px}.onboarding-page{background:var(--cream);min-height:100vh;padding:30px clamp(20px,5vw,70px) 60px}.onboarding-brand{align-items:center;gap:12px;margin-bottom:clamp(45px,8vh,90px);font-weight:800;display:flex}.onboarding-card{justify-items:center;width:min(100%,820px);margin:0 auto;display:grid}.onboarding-progress{align-items:center;width:155px;margin-bottom:32px;display:flex}.onboarding-progress span{border:1px solid var(--line);background:var(--paper);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.onboarding-progress span.complete,.onboarding-progress span.active{background:var(--green-strong);border-color:var(--green-strong);color:#fff}.onboarding-progress i{background:var(--line);flex:1;height:2px}.onboarding-progress i.complete{background:var(--green)}.onboarding-copy{text-align:center;max-width:580px}.onboarding-copy h1{margin-bottom:12px;font-size:clamp(34px,5vw,50px)}.onboarding-copy .muted{line-height:1.6}.business-options{grid-template-columns:1fr 1fr;gap:18px;width:100%;margin:38px 0 24px;display:grid}.business-option{border:1px solid var(--line);background:var(--paper);cursor:pointer;text-align:left;border-radius:20px;align-content:start;justify-items:start;gap:8px;min-height:225px;padding:25px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative;box-shadow:0 8px 25px #1e2e260a}.business-option:hover:not(:disabled),.business-option.selected{border-color:#6e998a;transform:translateY(-3px);box-shadow:0 18px 45px #1e46361a}.business-option:disabled{cursor:not-allowed;background:var(--field);color:var(--disabled-ink);box-shadow:none}.business-option.selected:after{content:"✓";color:#fff;background:var(--green-strong);border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;display:grid;position:absolute;top:18px;right:18px}.business-icon{background:var(--sage);width:52px;height:52px;color:var(--green);border-radius:16px;place-items:center;margin-bottom:10px;font-size:24px;display:grid}.business-option:nth-child(2) .business-icon{background:var(--sand);color:var(--sand-ink)}.business-option strong{font-size:22px}.business-option small{color:var(--muted);font-size:13px}.business-option em{color:var(--green);margin-top:auto;font-size:12px;font-style:normal;font-weight:800}.business-option:disabled .business-icon{background:var(--field);color:var(--disabled-ink)}.business-option:disabled small,.business-option:disabled em{color:var(--disabled-ink)}.business-setup-form{background:var(--paper);border:1px solid var(--line);border-radius:20px;width:100%;margin-bottom:24px;padding:25px;box-shadow:0 8px 25px #1e2e260a}.business-name-field{margin-bottom:18px}.business-name-field input{font-size:16px;font-weight:700}.business-domain-field{margin-bottom:27px}.business-domain-field>small{color:var(--muted);font-size:11px;font-weight:500}.domain-input{border:1px solid var(--input-line);background:var(--input-bg);border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:border .15s,box-shadow .15s;display:grid;overflow:hidden}.domain-input:focus-within{border-color:#6e998a;box-shadow:0 0 0 4px #4b7d6c1c}.domain-input input{box-shadow:none;border:0;border-radius:0;min-width:0;font-weight:700}.domain-input input:focus{box-shadow:none;border:0}.domain-input strong{border-left:1px solid var(--line);background:var(--domain-bg);color:var(--domain-ink);white-space:nowrap;align-items:center;padding:0 14px;font-size:13px;display:flex}.hours-heading{justify-content:space-between;margin-bottom:12px;display:flex}.hours-heading>div{gap:4px;display:grid}.hours-heading strong{font-size:15px}.hours-heading span{color:var(--muted);font-size:12px}.opening-hours{border:1px solid var(--line);border-radius:14px;overflow:hidden}.hours-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:61px;padding:10px 13px;transition:background .15s;display:flex}.hours-row:last-child{border-bottom:0}.hours-row.closed{background:var(--softest)}.day-switch{cursor:pointer;flex-direction:row;grid:none;align-items:center;gap:10px;width:170px;display:flex}.day-switch input{display:none}.day-switch>span{background:var(--toggle-track);border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.day-switch>span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000002e}.day-switch input:checked+span{background:var(--green-strong)}.day-switch input:checked+span:after{transform:translate(14px)}.time-range{align-items:center;gap:8px;display:flex}.time-range input{width:116px;padding-block:9px}.time-range i{color:var(--muted-soft);font-style:normal}.time-ranges{justify-content:flex-end;align-items:center;gap:10px;display:flex}.time-range-list{justify-items:end;gap:7px;display:grid}.range-remove{width:24px;height:24px;color:var(--muted-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0 0 2px;font-size:16px;line-height:1;transition:background .14s,color .14s;display:grid}.range-remove:hover{background:var(--danger-soft);color:var(--danger)}.range-add{color:var(--green);cursor:pointer;background:0 0;border:0;flex:none;padding:2px 4px;font-size:11px;font-weight:700}.range-add:hover{text-decoration:underline}.closed-text{color:var(--muted-soft);padding-right:9px;font-size:12px}.days-card{padding:18px}.days-card .hours-row{min-height:48px;padding-block:6px}.days-card .time-range input{padding-block:7px}.days-card-footer{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.day-schedule-body{justify-items:start;gap:14px;display:grid}.day-schedule-body .time-ranges{justify-content:flex-start}.day-schedule-body .time-range-list{justify-items:start}.onboarding-submit{min-width:270px;padding-block:14px}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .19s;display:grid}.sidebar{z-index:9;color:#edf1ee;background:#17251f;flex-direction:column;height:100vh;padding:26px 18px 20px;transition:padding .19s;display:flex;position:sticky;top:0}.sidebar-collapse-button{color:#8fa198;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;padding:0;transition:background .15s,border-color .15s,color .15s;display:grid}.sidebar-collapse-button:hover{color:#edf1ee;background:#ffffff1a;border-color:#ffffff2e}.sidebar-collapse-icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;transition:transform .19s}.sidebar-collapsed .sidebar-collapse-icon{transform:scaleX(-1)}.sidebar-brand{border-bottom:1px solid #ffffff17;padding:0 7px 28px}.sidebar-brand-copy{gap:2px;min-width:0;display:grid}.sidebar-brand-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-brand span{color:#8fa198;font-family:Avenir Next,Segoe UI,sans-serif;font-size:11px;font-weight:500}.sidebar nav{gap:5px;margin-top:25px;display:grid}.nav-item{color:#9eada5;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:11px 12px;font-weight:600;transition:background .14s,color .14s;display:flex}.nav-icon{flex:0 0 19px;place-items:center;width:19px;height:19px;display:grid}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.nav-label{white-space:nowrap}.nav-item:hover:not(:disabled){color:#dde5e0;background:#ffffff12}.nav-item.active{color:#fff;background:#ffffff1a}.nav-item.active:hover{color:#fff;background:#ffffff26}.nav-item:disabled{cursor:not-allowed;opacity:.5}.nav-item em{text-transform:uppercase;opacity:.55;margin-left:auto;font-size:9px;font-style:normal}.sidebar-footer{gap:14px;margin-top:auto;display:grid}.sidebar-footer-actions{justify-items:end;gap:6px;display:grid}.sidebar-footer-actions .logout-button{width:100%}.sidebar-social{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.sidebar-social-link{color:#8fa198;border-radius:10px;place-items:center;width:32px;height:32px;transition:background .14s,color .14s;display:grid}.sidebar-social-link:hover{color:#edf1ee;background:#ffffff12}.sidebar-social-link .social-icon{width:17px;height:17px}.customer-profile-summary{background:#ffffff09;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.customer-profile-copy{gap:2px;min-width:0;display:grid}.customer-profile-summary strong{color:#edf1ee;font-size:11px}.customer-profile-summary small{color:#8fa198;text-overflow:ellipsis;white-space:nowrap;max-width:116px;font-size:9px;overflow:hidden}.live-status{color:#b4c1ba;cursor:pointer;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:10px;padding:12px;font-size:12px;display:flex}.live-status input{display:none}.live-status-copy{flex:1}.live-status-switch{background:#ffffff2e;border-radius:999px;flex:none;width:30px;height:17px;transition:background .16s;position:relative}.live-status-switch:after{content:"";background:#fff;border-radius:50%;width:11px;height:11px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000059}.live-status input:checked~.live-status-switch{background:var(--green-strong)}.live-status input:checked~.live-status-switch:after{transform:translate(13px)}.live-status:focus-within{outline-offset:2px;outline:2px solid #ffffff80}.live-status.inactive{color:#8fa198}.live-status.inactive .pulse-dot{box-shadow:none;background:#6c7a72}.logout-button{color:#8fa198;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;padding:8px 12px;font-size:13px;transition:background .14s,color .14s;display:flex}.logout-button:hover{color:#edf1ee;background:#ffffff12}.sidebar button:focus-visible,.sidebar a:focus-visible{outline-offset:2px;outline:2px solid #ffffff80}.logout-icon{font-size:15px}.app-shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar-collapsed .sidebar{cursor:e-resize;padding-inline:13px}.sidebar-collapsed .profile-image-remove{display:none}.sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:0}.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-item em,.sidebar-collapsed .live-status-copy,.sidebar-collapsed .live-status-switch,.sidebar-collapsed .logout-label,.sidebar-collapsed .customer-profile-copy{display:none}.sidebar-collapsed .sidebar nav{justify-items:center}.sidebar-collapsed .nav-item{text-align:center;justify-content:center;gap:0;width:43px;height:43px;padding:0}.sidebar-collapsed .nav-icon{flex-basis:21px;width:21px;height:21px}.sidebar-collapsed .nav-icon svg{width:21px;height:21px}.sidebar-collapsed .sidebar-footer{justify-items:center}.sidebar-collapsed .live-status{pointer-events:none;justify-content:center;width:43px;height:43px;padding:0}.sidebar-collapsed .customer-profile-summary{background:0 0;border:0;justify-content:center;padding:0}.sidebar-collapsed .profile-image-badge{display:none}.sidebar-collapsed .logout-button{text-align:center;justify-content:center;width:43px;height:39px;padding:0}.sidebar-collapsed .sidebar-footer-actions{justify-items:center;gap:10px}.dashboard{min-width:0;padding:35px clamp(24px,4vw,58px) 55px}.dashboard-fill{flex-direction:column;display:flex}.dashboard-fill>.calendar-card{flex-direction:column;flex:1;min-height:0;display:flex}.dashboard-fill>.calendar-card>ul{flex:1;align-content:start;min-height:0;overflow-y:auto}.dashboard-fill>.calendar-card>.customer-empty{flex:1}.dashboard-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 30px;margin-bottom:27px;display:grid}.dashboard-heading{min-width:0}.dashboard-heading .eyebrow{margin-bottom:8px}.tenant-link{color:var(--green);white-space:nowrap;grid-column:1/-1;justify-self:end;font-size:12px;font-weight:700;text-decoration:none}.tenant-link:hover{text-underline-offset:3px;text-decoration:underline}.tenant-link span{margin-left:3px;font-size:11px;display:inline-block}.dashboard-header h1{margin-bottom:6px;font-size:clamp(29px,3vw,42px)}.dashboard-header .muted{font-size:14px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;grid-template-columns:1fr auto;align-items:start;min-height:125px;padding:18px 20px;display:grid;position:relative;overflow:hidden}.stat-card:after{content:"";opacity:.65;border-radius:50%;width:86px;height:86px;position:absolute;bottom:-36px;right:-30px}.stat-card.sage:after{background:var(--sage)}.stat-card.sand:after{background:var(--sand)}.stat-card.clay:after{background:var(--clay)}.stat-card>span{color:var(--muted);font-size:12px;font-weight:700}.stat-card strong{grid-row:span 2;font-family:Avenir Next,Segoe UI,sans-serif;font-size:33px;line-height:1}.stat-card small{color:#8d948f;align-self:end;font-size:11px}.calendar-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 20px;display:flex}.week-controls{align-items:center;gap:8px;display:flex}.week-controls h2{margin-left:10px;font-size:17px}.icon-button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;width:37px;height:37px;font-size:18px;transition:background .14s,border-color .14s}.icon-button:hover{background:var(--surface-hover);border-color:var(--line-strong)}.toggle{color:var(--muted);cursor:pointer;flex-direction:row;grid:none;align-items:center;gap:8px;font-size:12px;display:flex}.toggle input{display:none}.toggle>span{background:var(--toggle-track);border-radius:999px;width:34px;height:19px;transition:background .16s;position:relative}.toggle>span:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.toggle input:checked+span{background:var(--green-strong)}.toggle input:checked+span:after{transform:translate(15px)}.toggleable-field>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-eye{width:27px;height:22px;color:var(--green);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.field-eye:hover{background:var(--ghost-hover)}.field-eye.off{color:#a8a29a}.field-eye svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.field-hint{color:var(--muted);margin-top:10px;font-size:11px}input:disabled{background:var(--input-disabled);color:var(--disabled-ink);cursor:not-allowed}.assign-block{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.assign-block .field-hint{margin-top:8px}.assign-label{color:var(--muted);margin-bottom:9px;font-size:12px;font-weight:600;display:block}.assign-chips{flex-wrap:wrap;gap:7px;display:flex}.assign-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;padding:7px 13px;font-size:13px;transition:background .14s,border-color .14s,color .14s}.assign-chip:hover{border-color:var(--line-strong);background:var(--surface-hover)}.assign-chip.selected{border-color:var(--green-strong);background:var(--green-strong);color:#fff}.header-actions{align-items:center;gap:12px;display:flex}.view-toggle{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex:none;gap:2px;padding:3px;display:flex}.view-toggle button{width:34px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;transition:background .14s,color .14s;display:grid}.view-toggle button:hover{color:var(--ink)}.view-toggle button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #1e322a1f}.view-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.service-list{margin:0;padding:0;list-style:none}.service-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.service-list .service-row:last-child{border-bottom:0}.service-grid{grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:14px;margin:0;padding:18px;list-style:none;display:grid}.service-grid .service-row{border:1px solid var(--line);background:var(--softest);border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;padding:17px}.service-grid .service-info{display:contents}.service-grid .service-meta{margin-top:auto}.service-grid .service-actions{flex-wrap:wrap;justify-content:flex-end}.row-name-line{justify-content:space-between;align-items:center;gap:10px;display:flex}.staff-row.inactive .row-name-line strong{color:var(--muted);font-weight:600}.service-grid .staff-row.inactive{background:var(--inactive-bg);border-color:var(--inactive-line)}.row-delete{flex:none;padding:5px 12px;font-size:12px}.service-info{flex:1;gap:3px;min-width:0;display:grid}.service-meta{gap:3px;display:grid}.service-info strong{font-size:15px}.service-info span{color:var(--muted);font-size:12px}.service-actions{flex:none;gap:8px;display:flex}.service-actions .button{padding:8px 14px;font-size:12px}.button.ghost.danger-text{color:var(--danger)}.customer-search{border:1px solid var(--line);background:var(--paper);border-radius:12px;width:min(260px,40vw);padding:10px 14px}.customer-list{margin:0;padding:0;list-style:none}.customer-list>li{border-bottom:1px solid var(--line)}.customer-list>li:last-child{border-bottom:0}.customer-row{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:15px;width:100%;padding:13px 20px;transition:background .14s;display:flex}.customer-row:hover{background:var(--row-hover)}a.customer-row{color:inherit;text-decoration:none}.customer-row-copy{flex:1;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;display:grid}.customer-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.customer-row-copy span{color:var(--muted);font-size:12px}.customer-row-meta{text-align:right;flex:none;justify-items:end;gap:3px;display:grid}.customer-row-meta strong{font-size:13px}.customer-row-meta span{color:var(--muted);font-size:11px}.customer-tiles{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px;margin:0;padding:16px;list-style:none;display:grid}.customer-tiles>li{display:grid}.customer-tiles .customer-row{border:1px solid var(--line);background:var(--softest);border-radius:14px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:2px 13px;padding:12px 14px;display:grid}.customer-tiles .customer-row:hover{background:var(--tile-hover)}.customer-tiles .profile-image-static{grid-row:1/3;width:58px;height:58px;font-size:25px}.customer-tiles .customer-row-copy{grid-column:2;gap:1px}.customer-tiles .customer-row-copy strong{font-size:14px}.customer-tiles .customer-row-meta{text-align:left;flex-wrap:wrap;grid-column:2;align-items:baseline;gap:3px 7px;display:flex}.customer-tiles .customer-row-meta strong,.customer-tiles .customer-row-meta span{font-size:11px}.customer-modal-title{align-items:center;gap:14px;min-width:0;display:flex}.customer-modal-title .muted{font-size:13px}.customer-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.customer-stats>div{border:1px solid var(--line);background:var(--softest);border-radius:14px;gap:4px;padding:12px;display:grid}.customer-stats strong{font-size:17px}.customer-stats span{color:var(--muted);font-size:11px}.customer-history{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}.customer-history>li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;display:flex}.customer-history>li:last-child{border-bottom:0}.customer-history>li>span{gap:3px;min-width:0;display:grid}.customer-history strong{font-size:13px}.customer-history small{color:var(--muted);font-size:11px}.customer-history .cancelled strong,.customer-history .cancelled small{color:var(--strikethrough);text-decoration:line-through}.customer-history em{color:var(--danger);flex:none;font-size:11px;font-style:normal;font-weight:800}.calendar-scroll{position:relative;overflow-x:auto}.week-calendar{grid-template-columns:62px repeat(7,minmax(151px,1fr));min-width:1120px;display:grid;position:relative}.corner-cell,.day-heading{border-bottom:1px solid var(--line);background:var(--softest);height:62px}.corner-cell{border-right:1px solid var(--line)}.day-heading{border-right:1px solid var(--line);text-align:center;gap:2px;padding:12px 9px;display:grid;position:relative}.day-edit{color:#99a29c;opacity:0;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:21px;height:21px;padding:0;transition:opacity .14s,background .14s,color .14s;display:grid;position:absolute;top:4px;right:4px}.day-edit svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.day-heading:hover .day-edit,.day-edit:focus-visible{opacity:1}.day-edit:hover{color:var(--green);background:#203c321a}.day-heading.override{background:var(--calendar-override)}.day-heading.override .day-edit{opacity:1;color:var(--green)}.day-heading.override.closed{background:var(--calendar-closed-strong)}.day-heading.override.closed .day-edit{color:var(--calendar-closed-ink)}.day-heading span{color:#8a928d;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.day-heading strong{font-size:13px}.day-heading.today{background:var(--calendar-today)}.day-heading.today strong{color:var(--green)}.day-heading.closed{background:var(--calendar-closed-strong)}.day-heading.closed span,.day-heading.closed strong{color:var(--calendar-closed-ink)}.time-column{border-right:1px solid var(--line);background:var(--softest);position:relative}.time-column span{color:var(--muted-soft);font-size:10px;position:absolute;right:10px;transform:translateY(-50%)}.time-column span:first-child{transform:translateY(6px)}.time-column span:last-child{transform:translateY(calc(-100% - 6px))}.day-column{border-right:1px solid var(--line);background:var(--calendar-bg);transition:background .14s,box-shadow .14s;position:relative;overflow:hidden}.day-column.today{background:var(--calendar-today)}.day-column.closed{background:var(--calendar-closed)}.day-column.drag-target{background:#edf5f0;box-shadow:inset 0 0 0 2px #315f4f57}.day-column.drag-target.invalid{background:#fae9e6;box-shadow:inset 0 0 0 2px #a6403652}.working-period{background:var(--working-period);border-top:1px solid var(--working-line);border-bottom:1px solid var(--working-line);pointer-events:none;position:absolute;inset-inline:0}.hour-line{background:var(--hour-line);z-index:1;height:1px;position:absolute;left:0;right:0}.day-column.closed .hour-line{background:var(--hour-line-closed)}.closed-label{z-index:2;background:var(--calendar-closed-label);color:var(--calendar-closed-ink);border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700;position:absolute;top:28px;left:50%;transform:translate(-50%)}.appointment-card{z-index:3;text-align:left;cursor:pointer;border:0;border-left:3px solid;border-radius:8px;padding:6px 8px;transition:opacity .14s,transform .14s,filter .14s;display:block;position:absolute;overflow:hidden;box-shadow:0 3px 8px #1e322a14}.appointment-card[draggable=true]{cursor:grab}.appointment-card[draggable=true]:active{cursor:grabbing}.appointment-card.dragging{opacity:.28;filter:saturate(.45);transform:scale(.96)}.appointment-card-body{align-content:center;min-width:0;height:100%;display:grid}.appointment-card-body.has-avatar{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px}.appointment-card-copy{min-width:0;overflow:hidden}.appointment-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px;box-shadow:0 0 0 1px #17251f1f}.appointment-card strong,.appointment-card span,.appointment-card small{white-space:nowrap;text-overflow:ellipsis;line-height:1.2;display:block;overflow:hidden}.appointment-card strong{margin-bottom:2px;font-size:12px}.appointment-card span{opacity:.8;font-size:10px}.appointment-card small{opacity:.68;margin-top:2px;font-size:10px}.appointment-card.compact{padding:3px 6px}.appointment-card.compact .appointment-card-body.has-avatar{grid-template-columns:22px minmax(0,1fr);gap:6px}.appointment-card.compact .appointment-avatar{width:22px;height:22px}.appointment-card.compact strong{margin:0;font-size:11px;line-height:1.1}.appointment-card.compact span,.appointment-card.compact small{margin:0;font-size:9px;line-height:1.1}.appointment-card.color-0{color:#1f4d3d;background:#dcebe1;border-color:#4b806b}.appointment-card.color-1{color:#644c24;background:#efe1c2;border-color:#b4873f}.appointment-card.color-2{color:#653f2f;background:#eadcd4;border-color:#a66e55}.appointment-card.color-3{color:#344d67;background:#dee5ed;border-color:#647f9c}.appointment-card.cancelled{color:#777;opacity:.72;background:#ededeb;border-color:#999;text-decoration:line-through}.drag-slot-preview{z-index:5;color:#1f4d3d;pointer-events:none;background:#dcebe1e6;border:1px dashed #315f4f;border-left:3px solid #315f4f;border-radius:8px;align-content:center;gap:2px;padding:5px 7px;transition:top 90ms ease-out,height 90ms ease-out;animation:.15s ease-out drag-slot-in;display:grid;position:absolute;left:4px;right:4px;overflow:hidden;box-shadow:0 8px 20px #1f4d3d29}.drag-slot-preview strong,.drag-slot-preview span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drag-slot-preview strong{font-size:10px}.drag-slot-preview span{font-size:8px}.drag-slot-preview.invalid{color:#8e332c;background:#fae8e5f0;border-color:#a64036;box-shadow:0 8px 20px #8e332c21}.drag-time-guide{z-index:7;pointer-events:none;height:0;transition:top 90ms ease-out;position:absolute;left:0;right:0}.drag-time-guide span{color:#fff;text-align:center;background:#315f4f;border-radius:6px;width:51px;padding:3px 4px;font-size:10px;font-weight:800;position:absolute;top:0;left:5px;transform:translateY(-50%);box-shadow:0 4px 10px #315f4f38}.drag-time-guide i{border-top:1px dashed #315f4fb3;position:absolute;top:0;left:62px;right:0}.drag-time-guide.invalid span{background:#a64036}.drag-time-guide.invalid i{border-color:#a64036b8}@keyframes drag-slot-in{0%{opacity:0;transform:translateY(-5px)scale(.97)}}@media (prefers-reduced-motion:reduce){.appointment-card,.day-column,.drag-slot-preview,.drag-time-guide{transition:none;animation:none}}.calendar-loading{z-index:8;background:var(--calendar-loading-bg);place-items:center;display:grid;position:absolute;inset:62px 0 0}.calendar-hint{border-top:1px solid var(--line);color:#939a95;text-align:right;padding:11px 16px;font-size:10px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c18138c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper);border-radius:20px;width:min(100%,620px);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 30px 80px #0a19124d}.move-confirm-backdrop{z-index:70;animation:.16s ease-out modal-backdrop-in}.move-confirm-card{background:var(--paper);border:1px solid #315f4f21;border-radius:22px;width:min(100%,500px);padding:25px;animation:.19s ease-out move-confirm-in;box-shadow:0 30px 90px #0a19124d}.move-confirm-top{justify-content:space-between;align-items:center;margin-bottom:21px;display:flex}.move-confirm-icon{background:var(--sage);width:45px;height:45px;color:var(--green);border-radius:14px;place-items:center;font-size:22px;font-weight:800;display:grid}.move-confirm-card .eyebrow{margin-bottom:5px}.move-confirm-card h2{margin-bottom:8px;font-size:30px}.move-confirm-copy{color:var(--muted);font-size:14px;line-height:1.55}.move-confirm-copy strong{color:var(--ink)}.move-time-comparison{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:9px;margin-top:24px;display:grid}.move-time-card{border:1px solid var(--line);background:var(--move-card);border-radius:15px;align-content:center;gap:4px;min-height:112px;padding:15px;display:grid}.move-time-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.move-time-card strong{letter-spacing:-.03em;font-size:25px}.move-time-card small{color:var(--muted);font-size:12px}.move-time-card.next{border-color:var(--move-next-line);background:var(--move-next-bg);color:var(--green)}.move-time-card.next span,.move-time-card.next small{color:var(--move-next-ink)}.move-time-arrow{background:var(--icon-soft);width:34px;height:34px;color:var(--green);border-radius:50%;place-items:center;font-size:17px;font-weight:800;display:grid}.move-confirm-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:25px;padding-top:19px;display:flex}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes move-confirm-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.confirm-card{width:min(100%,420px);padding:26px}.confirm-card h2{font-size:20px}.confirm-message{color:var(--muted);margin-top:9px;font-size:14px;line-height:1.55}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.modal-header{justify-content:space-between;align-items:start;margin-bottom:23px;display:flex}.modal-header h2{font-size:25px}.modal-header-actions{align-items:center;gap:8px;display:flex}.close-button{background:var(--field);width:34px;height:34px;color:var(--ink);cursor:pointer;border:0;border-radius:10px;font-size:21px;line-height:1;transition:background .14s,color .14s}.pencil-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;margin:0 auto;display:block}.close-button:hover{background:var(--field-hover)}.form-grid{border:0;grid-template-columns:1fr 1fr;gap:16px;min-width:0;margin:0;padding:0;display:grid}.form-grid .span-2{grid-column:span 2}.form-grid:disabled label span{opacity:.72}.form-grid:disabled input,.form-grid:disabled select{background:var(--input-disabled);color:var(--disabled-ink);opacity:1;-webkit-text-fill-color:var(--disabled-ink);cursor:default}.form-grid:disabled .primary-field input,.form-grid:disabled .primary-field select{color:var(--ink);-webkit-text-fill-color:var(--ink)}.modal-card .form-error{margin-top:17px}.settings-modal{width:min(100%,680px)}.settings-body{grid-template-columns:168px minmax(0,1fr);gap:22px;display:grid}.settings-nav{border-right:1px solid var(--line);align-content:start;gap:4px;padding-right:20px;display:grid}.settings-nav-item{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;transition:background .14s,color .14s}.settings-nav-item:hover{background:var(--surface-hover);color:var(--ink)}.settings-nav-item.active{background:var(--sage);color:var(--green)}.settings-panes{min-width:0;display:grid}.settings-pane{grid-area:1/1;align-content:start;gap:20px;min-width:0;display:grid}.settings-pane.inactive{visibility:hidden;pointer-events:none}.settings-profile-row{align-items:center;gap:17px;display:flex}.settings-profile-row .profile-image-editor,.settings-profile-row .profile-image-trigger{width:74px;height:74px}.settings-profile-row .profile-image-trigger{font-size:29px}.settings-profile-row .profile-image-badge{border-color:var(--paper);width:28px;height:28px;bottom:-2px;right:-2px}.settings-profile-row .profile-image-badge svg{width:16px;height:16px}.settings-profile-row .profile-image-remove{border-color:var(--paper);width:22px;height:22px;font-size:15px;top:-3px;right:-3px}.settings-profile-copy{gap:3px;display:grid}.settings-profile-copy strong{font-size:13px}.settings-profile-copy small{color:var(--muted);font-size:11px}.settings-form{gap:16px;display:grid}.settings-form-actions{justify-content:flex-end;display:flex}.settings-status{min-height:17px;color:var(--green);margin:16px 0 0;font-size:12px;font-weight:700}.settings-status.error{color:var(--danger)}.settings-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.settings-pref-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-pref-options.theme{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-pref-option{border:1px solid var(--line);background:var(--surface-soft);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-content:start;gap:6px;padding:15px 14px 16px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.settings-pref-option:hover{border-color:var(--line-strong);background:var(--surface-hover)}.settings-pref-option.active{border-color:var(--green);background:var(--sage);box-shadow:inset 0 0 0 1px var(--green)}.settings-pref-icon{font-size:20px;line-height:1.2}.settings-pref-option strong{font-size:13px}.settings-pref-option.active strong{color:var(--green)}.settings-pref-option small{color:var(--muted);font-size:11px;line-height:1.5}.settings-account-row{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.settings-account-row.danger{border-color:var(--danger-line);background:var(--danger-row)}.settings-account-row .button{flex:none;font-size:13px}.settings-account-copy{gap:4px;min-width:0;display:grid}.settings-account-copy strong{font-size:13px}.settings-account-copy small{color:var(--muted);font-size:11px;line-height:1.5}.settings-social-label{align-items:center;gap:7px;display:flex}.social-icon{fill:currentColor;stroke:none;width:15px;height:15px}.social-icon.outline{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.settings-placeholder{border:1px dashed var(--line);background:var(--surface-soft);border-radius:14px;gap:7px;padding:24px;display:grid}.settings-placeholder strong{font-size:14px}.settings-placeholder p{color:var(--muted);font-size:13px;line-height:1.55}.modal-actions{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;display:flex}.modal-actions>div{gap:8px;display:flex}.toast{z-index:80;color:#fff;background:#18372c;border-radius:12px;align-items:center;gap:10px;padding:13px 17px;font-size:13px;animation:.22s ease-out toast-in;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 15px 35px #112c2245}.toast span{background:#79a98e;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.toast.move-error{background:#7f302a}.toast.move-error span{background:#b95b52}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.customer-dashboard{background:var(--cream)}.customer-header{margin-bottom:22px}.customer-notice{margin:0 0 18px}.frozen-panel{border:1px solid var(--warn-line);background:var(--warn-bg);text-align:center;border-radius:16px;justify-items:center;gap:9px;padding:26px 22px;display:grid}.frozen-panel-mark{background:var(--warn-gold);width:42px;height:42px;color:var(--warn-gold-ink);border-radius:50%;place-items:center;font-size:20px;display:grid}.frozen-panel strong{font-size:15px}.frozen-panel p{max-width:380px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.sidebar-brand-copy .frozen-label{color:#d8b869}.settings-account-row.frozen{border-color:var(--warn-line);background:var(--warn-bg)}.customer-grid{align-items:start;gap:18px;display:grid}.customer-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.customer-card-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:83px;padding:18px 21px;display:flex}.customer-card-heading .eyebrow{margin-bottom:4px}.customer-card-heading h2{font-size:21px}.appointment-count{background:var(--sage);min-width:31px;height:31px;color:var(--green);border-radius:999px;place-items:center;padding-inline:8px;font-size:12px;font-weight:800;display:grid}.customer-appointment-list{display:grid}.customer-appointment{border-bottom:1px solid var(--line);grid-template-columns:85px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:104px;padding:16px 21px;display:grid}.customer-appointment:last-child{border-bottom:0}.appointment-date-block{background:var(--sage);min-height:66px;color:var(--green);text-align:center;border-radius:13px;align-content:center;place-items:center;gap:2px;display:grid}.appointment-date-block strong{font-size:20px}.appointment-date-block span{text-transform:capitalize;font-size:10px;font-weight:800}.appointment-copy{gap:4px;min-width:0;display:grid}.appointment-copy strong{font-size:16px}.appointment-copy span,.appointment-copy small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appointment-copy span{font-size:12px}.appointment-copy small{font-size:11px}.danger-text{color:var(--danger)}.customer-empty{text-align:center;align-content:center;place-items:center;gap:9px;min-height:330px;padding:40px 20px;display:grid}.customer-empty>span{background:var(--sage);width:56px;height:56px;color:var(--green);border-radius:18px;place-items:center;margin-bottom:6px;font-size:26px;display:grid}.customer-empty h3{margin:0;font-size:19px}.customer-empty p{max-width:330px;color:var(--muted);margin:0 0 10px;font-size:13px;line-height:1.5}.customer-load-error{text-align:center;gap:14px;padding:25px}.customer-load-error p{color:var(--muted)}.customer-booking-modal{width:min(100%,650px)}.customer-modal-actions{justify-content:space-between}.platform-business{position:relative}.platform-business>.customer-row{padding-right:52px}.row-menu-button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0 0 5px;font-size:19px;line-height:1;transition:color .14s,transform .14s;display:grid;position:absolute;top:9px;right:14px}.row-menu-button:hover:not(:disabled),.row-menu-button.open{color:var(--ink);transform:scale(1.3)}.row-menu-button:disabled{opacity:.45;cursor:progress}.row-menu{z-index:40;border:1px solid var(--line);background:var(--paper);border-radius:13px;min-width:218px;padding:6px;animation:.13s ease-out row-menu-in;display:grid;position:fixed;box-shadow:0 16px 38px #112c222e}.row-menu button{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:9px;gap:2px;padding:9px 11px;display:grid}.row-menu button:hover{background:var(--row-hover)}.row-menu button.danger-text{color:var(--danger)}.row-menu button strong{font-size:13px}.row-menu button span{color:var(--muted);font-size:11px}@keyframes row-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.customer-tiles .platform-business>.customer-row{align-items:start;gap:12px;padding:15px 16px 13px}.customer-tiles .platform-business .profile-image-static{grid-row:1}.customer-tiles .platform-business .customer-row-copy{padding-right:30px}.customer-tiles .platform-business .customer-row-meta{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;padding-top:11px}.customer-tiles .row-menu-button{top:10px;right:10px}.customer-badge{background:var(--danger-soft);color:var(--danger);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 9px;font-size:10px;font-weight:800;display:inline-block}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-intro{min-height:360px;padding:34px}.login-copy h1{margin:40px 0 20px;font-size:48px}.login-copy>p:last-child{font-size:15px}.login-panel{padding:55px 25px}.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;height:auto;padding:13px 18px;position:static}.sidebar-collapse-button{display:none}.sidebar-collapsed .sidebar{padding:13px 18px}.sidebar-brand{border:0;padding:0}.sidebar-collapsed .sidebar-brand-copy{display:grid}.sidebar nav,.live-status{display:none}.customer-shell .sidebar-footer{align-items:center;gap:10px;display:flex}.customer-profile-summary{background:0 0;border:0;padding:0}.customer-profile-copy{display:none}.sidebar-footer{margin:0 0 0 auto}.sidebar-collapsed .logout-label{display:inline}.sidebar-collapsed .logout-button{justify-content:flex-start;width:auto;height:auto;padding:8px 12px}.dashboard{padding:28px 18px 45px}.stats-grid{grid-template-columns:1fr 1fr 1fr}}@media (width<=640px){.onboarding-page{padding-inline:18px}.onboarding-brand{margin-bottom:45px}.business-options{grid-template-columns:1fr}.business-option{min-height:180px}.business-setup-form{padding:18px 14px}.domain-input strong{padding-inline:10px;font-size:12px}.hours-row{flex-direction:column;align-items:flex-start;gap:9px}.day-switch{width:100%}.time-ranges{flex-wrap:wrap;width:100%}.time-range-list{justify-items:stretch;width:100%}.time-range{width:100%}.time-range input{flex:1;min-width:0}.closed-text{padding-left:44px}.dashboard-header{align-items:end}.dashboard-header .muted{display:none}.dashboard-header .button{padding-inline:12px}.tenant-link{text-overflow:ellipsis;max-width:150px;overflow:hidden}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:93px}.customer-appointment{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:14px}.customer-appointment .danger-text{grid-column:2;justify-self:start}.appointment-date-block{min-height:61px}.customer-card-heading{padding-inline:16px}.header-actions{grid-column:1/-1}.customer-search{flex:1;width:auto;min-width:0}.customer-row{flex-wrap:wrap;padding-inline:16px}.customer-row-meta{text-align:left;justify-items:start}.customer-tiles,.service-grid{grid-template-columns:1fr;padding:14px}.settings-pref-options,.settings-pref-options.theme{grid-template-columns:1fr}.customer-stats{grid-template-columns:1fr 1fr}.calendar-toolbar{flex-direction:column;align-items:flex-start}.week-controls{flex-wrap:wrap}.week-controls h2{width:100%;margin:7px 0 0}.settings-body{grid-template-columns:1fr;gap:16px}.settings-nav{border-right:0;border-bottom:1px solid var(--line);grid-auto-flow:column;padding:0 0 14px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.modal-actions{flex-direction:column-reverse}.modal-actions>div{grid-template-columns:1fr 1fr;display:grid}.modal-actions .danger{width:100%}.move-confirm-card{padding:20px}.move-time-comparison{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:5px}.move-time-arrow{width:28px;height:28px}.move-time-card{min-height:102px;padding:12px}.move-time-card strong{font-size:21px}.move-confirm-actions{grid-template-columns:1fr 1fr;display:grid}}
