:root{--bg:#f3efe6;--ink:#1c2a24;--accent:#0f6b5c;--accent-2:#c45c26;--panel:#fffdf8;--line:#d9d2c5;--muted:#5c6b64;--danger:#9b2c2c;--font-display:"Iowan Old Style","Palatino Linotype",Palatino,serif;--font-body:"Segoe UI","Helvetica Neue",sans-serif;--shell-pad:24px}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;color:var(--ink);background:radial-gradient(circle at 10% 0,#e7f2ee 0,transparent 40%),radial-gradient(circle at 90% 10%,#f7e7d8 0,transparent 35%),var(--bg);font-family:var(--font-body);-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-y:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;height:auto}button,input,select,textarea{font-size:16px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:520px}.card-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.hours-row{display:grid;grid-template-columns:60px 1fr 1fr auto;grid-gap:8px;gap:8px;align-items:center}.day-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start}.day-col{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;min-height:200px}.day-col h2{margin:0 0 10px;font-size:16px}.appt-card{border-radius:10px;padding:10px;border:1px solid var(--line);background:#fff;min-width:0;overflow:hidden}.appt-card .appt-meta,.appt-card .appt-title,.appt-card strong{display:block;overflow-wrap:anywhere;word-break:break-word}.appt-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.week-grid{display:grid;grid-gap:8px;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;grid-template-columns:120px repeat(7,minmax(120px,1fr));min-width:0}.shell-main table{max-width:100%}.shell{min-height:100vh;height:auto;display:flex;flex-direction:column;overflow:visible}.shell-header{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--ink);color:#f7f3ea;position:-webkit-sticky;position:sticky;top:0;z-index:50;min-width:0}.shell-brand{font-family:var(--font-display);font-size:18px;font-weight:600;white-space:nowrap;max-width:min(42vw,200px);overflow:hidden;text-overflow:ellipsis}.shell-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(247,243,234,.35);background:transparent;color:#f7f3ea;cursor:pointer;flex-shrink:0}.shell-primary{display:flex;gap:10px;flex-wrap:wrap;flex:1 1;align-items:center;min-width:0}.shell-primary a{opacity:.72;border-bottom:2px solid transparent;padding-bottom:2px;font-size:13px;white-space:nowrap}.shell-primary a[data-active=true]{opacity:1;border-bottom-color:var(--accent-2)}.shell-account{display:flex;gap:12px;align-items:center;font-size:13px;flex-shrink:0}.shell-body{display:flex;flex:0 0 auto;min-width:0;align-items:flex-start;overflow:visible}.shell-body:has(.shell-aside--calendar){flex:0 0 auto;align-items:flex-start;overflow:visible;max-height:none}.shell-aside{width:220px;flex-shrink:0;border-right:1px solid var(--line);background:var(--panel);padding:20px 14px}.shell-aside--calendar{width:200px;min-width:200px;max-width:200px;padding:14px 10px;background:#fff;display:flex;flex-direction:column;align-self:flex-start;overflow:visible;position:-webkit-sticky;position:sticky;top:56px;z-index:6;box-sizing:border-box}.shell-aside-label{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:12px;text-transform:uppercase}.shell-aside nav{display:grid;grid-gap:4px;gap:4px}.shell-mobile-settings{display:none}.shell-aside a{padding:8px 10px;border-radius:8px;color:var(--muted);font-size:14px}.shell-aside a[data-active=true]{background:rgba(0,0,0,.06);font-weight:600;color:var(--ink)}.shell-main{flex:1 1 auto;padding:var(--shell-pad);min-width:0;position:relative;z-index:1;overflow:visible;max-height:none;height:auto}.shell-backdrop{display:none}@media (max-width:960px){:root{--shell-pad:16px}.shell-menu-btn{display:inline-flex}.shell-primary{display:none}.shell-primary.is-open{display:flex;position:absolute;left:12px;right:12px;top:calc(100% + 8px);flex-direction:column;align-items:stretch;gap:2px;padding:10px;border-radius:14px;background:#24332c;border:1px solid rgba(247,243,234,.2);box-shadow:0 18px 40px rgba(0,0,0,.35);max-height:min(70vh,520px);overflow-y:auto}.shell-primary.is-open a{padding:12px;border-bottom:none;border-radius:8px;font-size:15px}.shell-primary.is-open a[data-active=true]{background:rgba(247,243,234,.1);border-bottom:none}.shell-account a[href="/settings"]{display:none}.shell-mobile-settings{display:block}.shell-body{flex-direction:column}.shell-aside{width:100%;border-right:none;border-bottom:1px solid var(--line);padding:12px 12px 8px}.shell-body:has(.shell-aside--calendar){flex-direction:row;align-items:flex-start;flex:0 0 auto;overflow:visible}.shell-aside--calendar{width:180px;min-width:180px;max-width:180px;border-right:1px solid var(--line);border-bottom:none;padding:10px 8px;overflow:visible;position:-webkit-sticky;position:sticky;top:56px}.shell-aside nav{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}.shell-aside a{flex:0 0 auto;white-space:nowrap;background:rgba(0,0,0,.03)}.shell-aside-footer{display:none}.form-grid-2{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr 1fr}.hours-row>strong{grid-column:1/-1}.day-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:88px repeat(7,minmax(110px,1fr))}.shell-main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.shell-backdrop.is-open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40}}.cal-rail-month-toggle{display:none}.cal-staff-picker{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 0 10px;margin-bottom:4px}.cal-staff-chip{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink)}.cal-staff-chip.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.cal-day-wrap[data-density=overview] .cal-col-head strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cal-day-wrap[data-density=overview] .cal-avatar{width:22px;height:22px;font-size:11px}.cal-day-wrap[data-density=overview] .cal-appt-name,.cal-day-wrap[data-density=overview] .cal-appt-svc{font-size:11px}@media (max-width:720px){.shell-body:has(.shell-aside--calendar){flex-direction:column}.shell-aside--calendar{width:100%;min-width:0;max-width:none;border-right:none;border-bottom:1px solid var(--line);padding:10px 12px;overflow:visible;position:static;top:auto}.cal-rail-menus{flex-direction:row;flex-wrap:wrap;gap:8px;align-items:stretch}.cal-rail-dd{flex:1 1 100%;min-width:0}.cal-rail-add,.cal-rail-sales{padding:12px;font-size:14px;justify-content:center;min-height:44px}.cal-rail-menu{width:100%;max-width:none}.cal-rail-month-toggle{display:inline-flex;flex:1 1 100%;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink);min-height:44px}.cal-mini{display:none}.cal-rail.is-month-open .cal-mini{display:block;margin-top:10px}.cal-toolbar{flex-wrap:wrap;gap:10px}.cal-wait-banner{font-size:13px}.shell-pop-backdrop{display:block;position:fixed;inset:0;top:52px;border:0;padding:0;margin:0;background:rgba(28,42,36,.35);z-index:65;cursor:pointer}.shell-pop,.shell-pop--notif,.shell-pop--search{position:fixed;top:56px;left:10px;right:10px;width:auto!important;max-width:none;max-height:min(70vh,520px);overflow:auto;z-index:70}}@media (max-width:560px){:root{--shell-pad:12px}.shell-brand{font-size:15px;max-width:min(28vw,120px)}.shell-header{gap:6px;padding:10px}.shell-account-wrap{gap:4px;margin-left:auto}.shell-account-wrap .shell-icon-btn--tool{display:inline-flex;width:34px;height:34px;font-size:14px}.shell-account-wrap .shell-icon-btn--profile{padding:0 8px!important}}.cal-rail{gap:12px;min-width:0;box-sizing:border-box}.cal-rail,.cal-rail-menus{display:flex;flex-direction:column;width:100%}.cal-rail-menus{gap:8px;flex-shrink:0}.cal-rail-dd{position:relative;width:100%;z-index:1}.cal-rail-dd.is-open{z-index:40}.cal-rail-add,.cal-rail-sales{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:8px;border-radius:10px;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:600}.cal-rail-sales{background:#fff;color:var(--accent)}.cal-rail-add,.cal-rail-sales{border:1.5px solid var(--accent)}.cal-rail-add{background:var(--accent);color:#fff}.cal-rail-ico{font-size:14px;line-height:1}.cal-rail-chev{margin-left:auto;opacity:.85;font-size:12px}.cal-rail-menu{position:absolute;top:calc(100% + 6px);left:0;width:max(100%,200px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(28,42,36,.12);padding:6px;z-index:50;display:grid;box-sizing:border-box}.cal-rail-menu a,.cal-rail-menu button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:13px;color:var(--ink);text-decoration:none}.cal-rail-menu a:hover,.cal-rail-menu button:hover{background:rgba(15,107,92,.08)}.cal-rail-menu a.has-ext{justify-content:space-between}.cal-rail-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.cal-mini{width:100%;min-width:0;box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 8px;position:relative;z-index:1;flex-shrink:0}.cal-mini-head{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:8px}.cal-mini-head strong{font-size:12px;font-family:var(--font-display);text-align:center;flex:1 1;min-width:0}.cal-mini-head button{border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:14px;padding:2px 4px;flex-shrink:0}.cal-mini-grid,.cal-mini-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:0;gap:0;text-align:center;width:100%}.cal-mini-weekdays{margin-bottom:2px;font-size:10px;color:var(--muted)}.cal-mini-day{border:0;background:transparent;border-radius:999px;width:100%;aspect-ratio:1;max-width:24px;max-height:24px;margin:1px auto;padding:0;cursor:pointer;font-size:11px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}.cal-mini-day.is-out{color:#b0aaa0}.cal-mini-day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-mini-day.is-selected{background:var(--accent);color:#fff;font-weight:600}.cal-toolbar{flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.cal-toolbar,.cal-toolbar-nav{display:flex;align-items:center}.cal-toolbar-nav{gap:8px;margin:0 auto}.cal-add-btn,.cal-refresh-btn,.cal-sales-trigger,.cal-toolbar .cal-view-toggle a,.cal-toolbar-nav button{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#fff;cursor:pointer;font-size:13px;color:inherit}.cal-add-btn,.cal-btn-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.cal-view-toggle{display:flex;gap:4px;margin-left:0}.cal-view-toggle a[data-active=true]{background:var(--ink);color:#f7f3ea;border-color:var(--ink)}.cal-wait-banner{margin-bottom:14px;padding:10px 14px;border-radius:12px;background:rgba(15,107,92,.1);border:1px solid rgba(15,107,92,.28);font-size:14px}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:0;gap:0;align-items:start}.cal-side{width:min(392px,calc(92vw + 12px));flex-shrink:0;min-height:1px}.cal-day-wrap{--cal-px-per-min:1.6}.cal-day,.cal-day-wrap{overflow:visible;max-height:none}.cal-day{display:flex;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;min-height:420px}.cal-day-gutter{flex:0 0 52px;border-right:1px solid var(--line);background:#fff;position:-webkit-sticky;position:sticky;left:0;z-index:3}.cal-day-cols-scroll{flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:manipulation}.cal-day-axis{position:relative;background:#fff}.cal-hour-label{position:absolute;left:0;right:0;height:calc(60 * var(--cal-px-per-min) * 1px);display:flex;align-items:flex-start;justify-content:flex-end;gap:1px;padding:0 6px 0 0;transform:translateY(-6px);line-height:1;pointer-events:none;color:var(--muted)}.cal-hour-label-h{font-size:13px;font-weight:600;color:#1c2a24;letter-spacing:-.02em}.cal-hour-label-m{font-size:9px;font-weight:500;color:#8a9690;margin-top:1px}.cal-day-cols{display:grid;flex:1 1;min-width:0}.cal-day-col{border-right:1px solid var(--line);min-width:0}.cal-day-col:last-child{border-right:0}.cal-col-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;z-index:2;min-height:48px}.cal-col-head,.cal-col-head--axis{border-bottom:1px solid var(--line)}.cal-avatar{width:28px;height:28px;border-radius:999px;background:var(--ink);color:#f7f3ea;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.cal-col-body{position:relative;cursor:pointer;overflow:visible;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover:hover) and (pointer:fine){.cal-col-body:not(.is-closed){cursor:crosshair}}.cal-col-body.is-closed{cursor:not-allowed}.cal-hour-line,.cal-quarter-line{position:absolute;left:0;right:0;height:0;pointer-events:none;z-index:0}.cal-hour-line{border-top:1px solid rgba(180,172,158,.85)}.cal-quarter-line{border-top:1px dotted rgba(200,194,182,.9)}.cal-off-hours{position:absolute;left:0;right:0;z-index:0;background:repeating-linear-gradient(-45deg,rgba(148,163,170,.14),rgba(148,163,170,.14) 6px,rgba(148,163,170,.08) 0,rgba(148,163,170,.08) 12px);pointer-events:none;border-top:1px solid rgba(148,163,170,.2);border-bottom:1px solid rgba(148,163,170,.2)}.cal-appt,.cal-block{position:absolute;left:4px;right:4px;z-index:1;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;padding:0;cursor:pointer;overflow:hidden;font:inherit;color:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cal-appt.is-dragging,.cal-block.is-dragging{z-index:20;opacity:.92;box-shadow:0 10px 28px rgba(28,42,36,.22);cursor:-webkit-grabbing;cursor:grabbing;outline:2px solid var(--accent);outline-offset:1px}.cal-appt.is-selected,.cal-block.is-selected{outline:2px solid var(--accent);z-index:3}.cal-appt{display:flex;min-height:36px;position:absolute}.cal-appt-bar{width:4px;flex-shrink:0;background:var(--accent)}.cal-appt.is-noshow .cal-appt-bar,.cal-appt.is-pending .cal-appt-bar{background:var(--danger)}.cal-appt.is-completed .cal-appt-bar{background:#5c6b64}.cal-appt.is-noshow{background:repeating-linear-gradient(-45deg,#fff,#fff 4px,#f3ecec 0,#f3ecec 8px)}.cal-appt-body{padding:4px 6px 4px 8px;min-width:0;display:flex;flex-direction:column;gap:1px;overflow:hidden}.cal-appt-row{display:flex;justify-content:space-between;gap:4px;align-items:flex-start}.cal-appt-time{font-size:10px;color:var(--muted)}.cal-appt-name{font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-appt-dur,.cal-appt-service,.cal-appt-sku{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-appt-sku{font-style:italic}.cal-badge{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.cal-badge-paid{background:#1a7a4c}.cal-badge-alert{background:var(--danger)}.cal-badge-note{background:#3b6ea5;font-style:italic;font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1}.cal-appt-badges{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.cal-block{display:flex;flex-direction:column;justify-content:center;gap:2px;background:#d8d4cc;border:1px solid #c5c0b6;padding:8px 10px;z-index:2}.cal-block:hover{background:#cec9bf}.cal-block.is-selected{background:#c4bfb4}.cal-block-label{font-size:13px;font-weight:600;color:#4a524c}.cal-block-time{font-size:11px;color:var(--muted)}.cal-hover-tip{position:fixed;z-index:80;min-width:200px;max-width:280px;padding:0;background:transparent;border:0;box-shadow:none;pointer-events:none}.cal-hover-card{display:flex;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(28,42,36,.14);overflow:hidden;font-size:12px;line-height:1.35;color:var(--ink)}.cal-hover-card-bar{width:4px;flex-shrink:0;background:var(--accent)}.cal-hover-card-body{padding:10px 12px;display:grid;grid-gap:3px;gap:3px;min-width:0;flex:1 1}.cal-hover-muted{color:var(--muted);font-size:11px}.cal-hover-note{margin-top:4px;font-style:italic}.cal-panel-topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:11px;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line)}.cal-panel-contacts{display:grid;grid-gap:4px;gap:4px;margin-bottom:12px;font-size:13px}.cal-panel-contacts a{color:var(--accent)}.cal-service-card{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:12px;margin-bottom:12px;background:#fff}.cal-service-status{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-bottom:4px}.cal-panel-rows--compact{margin-top:8px}.cal-booked-meta{margin:8px 0 0;font-size:11px;color:var(--muted)}.cal-panel-linkrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.cal-text-link{border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:13px;padding:0;text-decoration:underline}.cal-text-danger{color:var(--danger)}.cal-note-box{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf7f1}.cal-note-box label{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.cal-note-box textarea{border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;resize:vertical;background:#fff;color:var(--ink)}.cal-note-actions{display:flex;gap:8px}.cal-note-preview{margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#f3f1ec;font-size:13px}.cal-note-preview p{margin:4px 0 0;white-space:pre-wrap}.cal-drawer,.cal-panel{width:min(380px,92vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(28,42,36,.12);position:fixed;top:72px;right:16px;max-height:calc(100vh - 88px);margin:0;display:flex;flex-direction:column;overflow:hidden;z-index:25}.cal-panel{overflow-y:auto}.cal-panel-banner{padding:14px 16px;color:#fff;display:grid;grid-gap:4px;gap:4px;background:var(--accent)}.cal-panel-banner.is-noshow,.cal-panel-banner.is-pending{background:var(--danger)}.cal-panel-banner.is-completed{background:#5c6b64}.cal-panel-banner span{font-size:12px;opacity:.9}.cal-panel-body{padding:16px;position:relative}.cal-panel-close{position:absolute;top:10px;right:10px;border:0;background:transparent;cursor:pointer;font-size:16px;color:var(--muted)}.cal-returning{font-size:11px;letter-spacing:.06em;color:var(--accent);font-weight:600;margin-bottom:4px}.cal-panel-name{margin:0 0 4px;font-size:22px;font-family:var(--font-display)}.cal-panel-phone{color:var(--accent);font-size:14px}.cal-panel-rows{margin:16px 0 0;display:grid;grid-gap:0;gap:0}.cal-panel-rows>div{display:grid;grid-template-columns:88px 1fr;grid-gap:8px;gap:8px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.cal-panel-rows dt{color:var(--muted);margin:0}.cal-panel-rows dd{margin:0}.cal-pay-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:600;font-size:12px}.cal-pay-pill.is-unpaid{background:rgba(155,44,44,.12);color:var(--danger)}.cal-pay-pill.is-paid{background:rgba(15,107,92,.12);color:var(--accent)}.cal-panel-actions{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.cal-btn-danger,.cal-btn-primary,.cal-btn-secondary{border-radius:999px;padding:10px 14px;cursor:pointer;font-size:13px;border:1px solid var(--line);text-decoration:none;display:inline-block}.cal-btn-secondary{background:#fff}.cal-btn-danger{background:#fff;color:var(--danger);border-color:rgba(155,44,44,.35)}.cal-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 12px;flex-shrink:0;position:relative}.cal-drawer-head h2{margin:0;font-size:20px;font-family:var(--font-display);color:var(--ink)}.cal-drawer-x{border:0;background:transparent;cursor:pointer;font-size:16px;color:var(--muted);padding:4px 6px;line-height:1}.cal-drawer-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0 18px;flex-shrink:0}.cal-drawer-tabs button{flex:1 1;border:0;background:transparent;padding:12px 8px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;font:inherit;font-size:14px}.cal-drawer-tabs button[data-active=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.cal-drawer-error{color:var(--danger);padding:8px 18px 0;margin:0;font-size:13px}.cal-drawer-body{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow-y:auto;padding:0}.cal-drawer-section{padding:16px 18px;display:grid;grid-gap:12px;gap:12px;border-bottom:1px solid var(--line)}.cal-drawer-section h3{margin:0;font-size:15px;font-weight:700;color:var(--ink)}.cal-drawer-section label{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.cal-drawer-section input,.cal-drawer-section select,.cal-drawer-section textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;font-size:14px;width:100%;box-sizing:border-box}.cal-drawer-section textarea{resize:vertical;min-height:72px}.cal-drawer-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.cal-drawer-toggle-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--ink);padding-top:2px}.cal-toggle{width:40px;height:22px;border-radius:999px;background:#c5cdd4;position:relative;flex-shrink:0}.cal-toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15)}.cal-toggle.is-off{opacity:.85}.cal-client-search{position:relative}.cal-client-search-icon{position:absolute;left:12px;top:11px;color:var(--muted);font-size:15px;pointer-events:none}.cal-client-search input{padding-left:34px!important}.cal-add-service-btn{width:100%;border:1.5px solid var(--accent);background:#fff;color:var(--accent);border-radius:10px;padding:14px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:center}.cal-add-service-btn:hover{background:rgba(15,107,92,.06)}.cal-service-picked{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:14px}.cal-add-note-link{justify-self:start;font-size:14px;padding:0}.cal-drawer-footer{margin-top:auto;padding:14px 18px 18px;border-top:1px solid var(--line);background:#fff;flex-shrink:0;position:-webkit-sticky;position:sticky;bottom:0}.cal-btn-block{width:100%;border-radius:10px!important;padding:14px 16px!important;font-size:15px!important;font-weight:600;text-align:center}.cal-check{display:flex!important;align-items:center;gap:8px;margin-bottom:8px}.cal-client-hits{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;max-height:200px;overflow-y:auto;background:#fff;z-index:2}.cal-client-search .cal-client-hits{position:absolute;left:0;right:0;top:calc(100% + 4px);margin:0;box-shadow:0 8px 24px rgba(28,42,36,.12)}.cal-client-hits button{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px 12px;cursor:pointer}.cal-client-hits li:last-child button{border-bottom:0}.cal-block-types{display:flex;flex-wrap:wrap;gap:6px}.cal-block-types button{border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#fff;cursor:pointer;font-size:12px}.cal-block-types button.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}.cal-sales-menu{position:relative}.cal-sales-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.1);padding:6px;z-index:20;display:grid}.cal-sales-dropdown a{padding:10px 12px;border-radius:8px;font-size:13px}.cal-sales-dropdown a:hover{background:rgba(15,107,92,.08)}.cal-sales-dropdown hr{border:0;border-top:1px solid var(--line);margin:4px 0}.cal-float-refresh{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));width:48px;height:48px;border-radius:999px;border:0;background:var(--accent);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 8px 24px rgba(15,107,92,.35);z-index:30}.cal-sheet-backdrop,.cli-sheet-backdrop{display:none}.shell-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid rgba(247,243,234,.28);background:transparent;color:#f7f3ea;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative}.shell-icon-btn .shell-dot{top:6px;right:6px;width:8px;height:8px}.shell-icon-btn .shell-badge,.shell-icon-btn .shell-dot{position:absolute;border-radius:999px;background:#e24b4b}.shell-icon-btn .shell-badge{top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.shell-pop-head--row{display:flex;align-items:center;justify-content:space-between;gap:8px}.shell-notif-mark-all{border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;font-weight:600;cursor:pointer;text-transform:none;letter-spacing:0}.shell-notif-list li{padding:0}.shell-notif-item{display:grid;grid-gap:8px;gap:8px;width:100%;border:0;background:transparent;text-align:left;padding:14px 16px;position:relative;cursor:pointer;font:inherit;color:inherit}.shell-notif-item.is-unread{background:color-mix(in srgb,var(--accent) 8%,#fff)}.shell-notif-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.shell-notif-body{display:grid;grid-template-columns:36px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.shell-notif-icon-wrap{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,#f4f4f5);color:var(--accent);flex-shrink:0}.shell-notif-icon{display:block}.shell-notif-main{display:grid;grid-gap:2px;gap:2px;min-width:0;padding-top:1px}.shell-notif-customer{display:block;font-size:15px;font-weight:700;line-height:1.3;color:var(--ink);min-width:0}.shell-notif-action,.shell-notif-when{display:block;color:var(--muted);font-size:13px;line-height:1.4}.shell-notif-received{color:var(--muted);font-size:12px;line-height:1.3;white-space:nowrap;flex-shrink:0}.shell-search-item{display:grid;grid-gap:2px;gap:2px;width:100%;border:0;background:transparent;text-align:left;padding:12px 14px;cursor:pointer;font:inherit;color:inherit}.shell-search-item strong{display:block;font-size:14px}.shell-search-item span{color:var(--muted);font-size:12px}.shell-pop-backdrop{display:none}.shell-pop{position:absolute;top:calc(100% + 8px);right:0;background:#fff;color:var(--ink);border-radius:12px;border:1px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.18);z-index:60;overflow:hidden}.shell-pop,.shell-pop--search{width:min(360px,92vw)}.shell-pop--notif{width:min(420px,94vw)}.shell-pop-head{padding:12px 14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.shell-search-field{padding:12px}.shell-search-field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.shell-notif-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.shell-notif-list>li{border-bottom:1px solid var(--line);font-size:13px}.shell-profile-menu{padding:8px;display:grid;grid-gap:2px;gap:2px}.shell-profile-menu .shell-profile-name{padding:8px 10px 12px;font-weight:600;font-family:var(--font-display);border-bottom:1px solid var(--line);margin-bottom:4px}.shell-profile-menu a,.shell-profile-menu button{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit;color:inherit}.shell-profile-menu a:hover,.shell-profile-menu button:hover{background:rgba(15,107,92,.08)}.shell-account-wrap{position:relative;display:flex;gap:8px;align-items:center;flex-shrink:0;margin-left:auto}.cli-page{display:flex;gap:16px;align-items:flex-start;min-height:calc(100vh - 120px)}.cli-main{flex:1 1;min-width:0}.cli-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.cli-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.cli-search-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.cli-search-input{flex:1 1;min-width:200px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.cli-add-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.cli-add-form input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;flex:1 1 140px}.cli-table-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.cli-table{width:100%;border-collapse:collapse;font-size:14px}.cli-table th{text-align:left;padding:12px 16px;font-weight:600;color:var(--muted);background:#fafbfc}.cli-table td,.cli-table th{border-bottom:1px solid var(--line)}.cli-table td{padding:14px 16px;vertical-align:middle}.cli-table tbody tr{cursor:pointer}.cli-table tbody tr:hover{background:rgba(15,107,92,.04)}.cli-table tbody tr[data-selected=true]{background:rgba(15,107,92,.08)}.cli-inline-blocked{color:var(--danger);font-weight:500;font-size:12px}.cli-table-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:var(--muted);font-size:13px;flex-wrap:wrap}.cli-pager{display:flex;gap:8px}.cli-btn-danger,.cli-btn-primary,.cli-btn-secondary{border-radius:999px;padding:9px 14px;cursor:pointer;font:inherit;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.cli-btn-primary{border:0;background:var(--accent);color:#fff}.cli-btn-secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.cli-btn-danger{border:1px solid rgba(155,44,44,.35);background:#fff;color:var(--danger)}.cli-btn-danger:disabled{opacity:.6;cursor:not-allowed}.cli-card--danger h3{margin:0 0 6px;color:var(--danger);font-size:14px}.cli-btn-block{width:100%;border-radius:10px;padding:12px 16px;font-weight:600}.cli-drawer{width:min(400px,100%);flex-shrink:0;background:#f4f6f8;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(28,42,36,.1);max-height:calc(100vh - 96px);position:-webkit-sticky;position:sticky;top:72px;display:flex;flex-direction:column;overflow:hidden}.cli-drawer-loading{padding:24px;color:var(--muted);margin:0}.cli-drawer-head{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 12px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0}.cli-drawer-head--overview{align-items:center}.cli-drawer-head h2{margin:0;font-size:18px;font-family:var(--font-display);line-height:1.2}.cli-head-text{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px}.cli-sub{font-size:13px;color:var(--muted)}.cli-avatar{width:44px;height:44px;border-radius:999px;background:#d6e8f5;color:#1a4a6e;display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0}.cli-back,.cli-drawer-x{font-size:18px;color:var(--muted);padding:2px 6px;line-height:1}.cli-back,.cli-drawer-x,.cli-text-link{border:0;background:transparent;cursor:pointer}.cli-text-link{color:var(--accent);font:inherit;font-size:13px;padding:0;white-space:nowrap}.cli-drawer-scroll{flex:1 1;overflow-y:auto;padding:14px 16px 20px;display:grid;grid-gap:14px;gap:14px}.cli-section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-gap:10px;gap:10px}.cli-section-head{justify-content:space-between}.cli-section-head,.cli-section-head h3{display:flex;align-items:center;gap:8px}.cli-section-head h3{margin:0;font-size:15px}.cli-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e8eef3;font-size:12px;font-weight:600;color:var(--ink)}.cli-contact-box{background:#f4f6f8;border-radius:10px;padding:12px 14px;display:grid;grid-gap:6px;gap:6px;font-size:14px}.cli-empty{text-align:center;padding:18px 8px;color:var(--muted);font-size:13px;display:grid;grid-gap:8px;gap:8px;justify-items:center}.cli-empty p{margin:0;line-height:1.4}.cli-note-edit{display:grid;grid-gap:8px;gap:8px}.cli-edit-grid input,.cli-note-edit textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;width:100%;box-sizing:border-box}.cli-appt-list{display:grid;grid-gap:12px;gap:12px}.cli-appt-card{display:grid;grid-gap:8px;gap:8px}.cli-appt-when{font-weight:700;font-size:14px}.cli-appt-row{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.cli-appt-icon{width:36px;height:36px;border-radius:10px;background:#d6e8f5;display:grid;place-items:center;flex-shrink:0;font-size:14px}.cli-appt-main{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px;font-size:13px}.cli-appt-main strong{font-size:14px}.cli-appt-meta{color:var(--muted)}.cli-appt-note{margin-top:6px;padding:8px 10px;border:1px solid var(--line);background:#fafbfc;color:var(--ink);white-space:pre-wrap}.cli-appt-note,.cli-status{border-radius:8px;font-size:12px}.cli-status{font-weight:600;padding:4px 8px;flex-shrink:0;white-space:nowrap}.cli-status.is-cancelled,.cli-status.is-noshow{background:#fde8e8;color:#b42318}.cli-status.is-complete{background:#eef0f2;color:#4a5560}.cli-status.is-confirmed{background:#e6f4ef;color:var(--accent)}.cli-status.is-pending{background:#fff4e5;color:#b54708}.cli-drawer-footer{padding:12px 16px 16px;background:#fff;border-top:1px solid var(--line);flex-shrink:0}.cli-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-gap:10px;gap:10px}.cli-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.cli-card-head h3{margin:0;font-size:15px}.cli-card-blurb{margin:0;font-size:13px;color:var(--muted);line-height:1.4}.cli-pill{font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 8px;border-radius:6px;text-transform:uppercase}.cli-pill.is-blocked,.cli-pill.is-off{background:#fde8e8;color:#b42318}.cli-pill.is-on{background:#e6f4ef;color:var(--accent)}.cli-dl{margin:0;display:grid;grid-gap:12px;gap:12px}.cli-dl>div{display:grid;grid-gap:2px;gap:2px}.cli-dl dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0}.cli-dl dd{margin:0;font-size:14px}.cli-edit-grid{display:grid;grid-gap:10px;gap:10px}.cli-edit-grid label{display:grid;grid-gap:4px;gap:4px;font-size:12px;color:var(--muted)}.cli-filter-row{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0}.cli-filter{border:0;border-radius:999px;padding:7px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;background:#e8f0fa;color:#2a5a8a}.cli-filter.is-on{background:var(--accent);color:#fff}@media (max-width:900px){.cal-layout{grid-template-columns:1fr}.cal-side{width:0;min-height:0;overflow:hidden}.cal-sheet-backdrop,.cli-sheet-backdrop{display:block;position:fixed;inset:0;background:rgba(28,42,36,.4);z-index:35;border:0;padding:0;cursor:pointer}.cal-drawer,.cal-panel{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;width:100%;max-height:min(78vh,calc(100vh - 48px));border-radius:16px 16px 0 0;z-index:45;padding-bottom:env(safe-area-inset-bottom,0)}.cal-drawer-footer,.cal-panel-actions,.cli-drawer-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom, 0px))}.cal-float-refresh{bottom:calc(88px + env(safe-area-inset-bottom, 0px));z-index:30}.cli-page{flex-direction:column}.cli-drawer{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:min(82vh,calc(100vh - 48px));border-radius:16px 16px 0 0;z-index:45;margin:0;padding-bottom:env(safe-area-inset-bottom,0)}.cal-appt{min-height:44px}}.pos-page{max-width:920px;display:grid;grid-gap:20px;gap:20px}.pos-page-head h1{font-family:var(--font-display);margin:0 0 6px;font-size:28px;font-weight:600;letter-spacing:-.02em}.pos-page-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.45;max-width:52ch}.pos-daybar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.pos-daybar-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted)}.pos-daybar-meta strong{color:var(--ink);font-weight:600}.pos-section-title{margin:0;font-size:15px;font-weight:600;letter-spacing:.01em;text-transform:uppercase;color:var(--muted)}.pos-list{display:grid;grid-gap:12px;gap:12px}.pos-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,200px);grid-gap:16px 20px;gap:16px 20px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.pos-card.is-confirming{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pos-card-main{display:grid;grid-gap:14px;gap:14px;min-width:0}.pos-card-identity{display:grid;grid-gap:4px;gap:4px}.pos-card-identity h3{margin:0;font-size:16px;font-weight:650;line-height:1.25}.pos-card-identity .pos-svc{margin:0;font-size:13px;color:var(--muted)}.pos-card-identity .pos-meta{margin:0;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 10px}.pos-card-identity .pos-meta span:before{content:"·";margin-right:10px;color:#b0a99a}.pos-card-identity .pos-meta span:first-child:before{content:none;margin:0}.pos-field{display:grid;grid-gap:8px;gap:8px}.pos-field-label{font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pos-field-label .req{color:var(--danger)}.pos-chips{display:flex;flex-wrap:wrap;gap:6px}.pos-chip{border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:40px;background:#fff;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.pos-chip.is-on{border-color:var(--accent);background:rgba(15,107,92,.08);color:var(--accent);font-weight:600}.pos-chip:disabled{opacity:.55;cursor:not-allowed}.pos-discount-custom{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.pos-discount-custom.is-on{border-color:var(--accent)}.pos-discount-custom span{color:var(--muted);font-size:13px}.pos-discount-custom input{border:0;outline:none;width:72px;font:inherit;font-size:13px;background:transparent;padding:8px 0}.pos-card-aside{display:flex;flex-direction:column;gap:12px;padding:12px 14px;background:#f7f5f0;border-radius:12px;align-self:stretch}.pos-totals{display:grid;grid-gap:6px;gap:6px;font-size:13px}.pos-totals-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.pos-totals-row strong{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pos-totals-row.is-discount strong{color:var(--accent-2)}.pos-totals-row.is-due{margin-top:4px;padding-top:8px;border-top:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:650}.pos-totals-row.is-due strong{font-size:16px}.pos-aside-actions{display:grid;grid-gap:8px;gap:8px;margin-top:auto}.pos-btn-primary,.pos-btn-secondary{border-radius:10px;min-height:44px;padding:10px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:center}.pos-btn-primary{border:0;background:var(--accent);color:#fff}.pos-btn-primary:disabled{opacity:.45;cursor:not-allowed}.pos-btn-secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.pos-confirm-copy{margin:0;font-size:12px;line-height:1.4;color:var(--ink)}.pos-empty{padding:28px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.pos-empty,.pos-recent{margin:0;background:#fff}.pos-recent{padding:0;list-style:none;display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.pos-recent li{display:grid;grid-template-columns:1fr auto auto;grid-gap:12px;gap:12px;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--line);align-items:center}.pos-recent li:last-child{border-bottom:0}.pos-recent .pos-recent-amt{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pos-recent .pos-recent-meta{color:var(--muted)}@media (max-width:720px){.pos-card{grid-template-columns:1fr;gap:14px}.pos-card-aside{order:-1}.pos-recent li{grid-template-columns:1fr auto}.pos-recent .pos-recent-meta{grid-column:1/-1}}@media (hover:none){.cal-hover-tip{display:none!important}}