@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=DM+Mono:wght@400;500&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=Great+Vibes&family=Montserrat:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap");:root{--ink:#24302c;--muted:#68736e;--paper:#f6f4ef;--surface:#fffdfa;--line:#e7e4dc;--sidebar-bg:#ebe9e1;--sidebar-border:#dedbd3;--primary:#24302c;--primary-foreground:#fffdfa;--accent:#526c5b;--accent-soft:#dfeadd;--sage:#dfeadd;--sage-deep:#526c5b;--clay:#edd6c5;--clay-deep:#a76141;--sand:#f4e8bd;--navy:#dce7e6;--orange:#ce714e;--calendar-valid:#2f6b46;--calendar-valid-bg:#e6f3e8;--calendar-invalid:#a13d29;--calendar-invalid-bg:#fff0eb;--calendar-checking:#8a6a22;--calendar-checking-bg:#fff8df}[data-theme=atelier-sage]{--ink:#24302c;--muted:#68736e;--paper:#f6f4ef;--surface:#fffdfa;--line:#e7e4dc;--sidebar-bg:#ebe9e1;--sidebar-border:#dedbd3;--primary:#24302c;--primary-foreground:#fffdfa;--accent:#526c5b;--accent-soft:#dfeadd;--sage:#dfeadd;--sage-deep:#526c5b;--clay:#edd6c5;--clay-deep:#a76141}[data-theme=obsidian-gold]{--ink:#161918;--muted:#6c706e;--paper:#f5f4f0;--surface:#ffffff;--line:#e2dfd5;--sidebar-bg:#e8e5dc;--sidebar-border:#d8d4c7;--primary:#1b1e1d;--primary-foreground:#f7f1e5;--accent:#b38838;--accent-soft:#fbf5e6;--sage:#e2ede6;--sage-deep:#325744;--clay:#eedecb;--clay-deep:#8c6239}[data-theme=desert-rose]{--ink:#2c1e1c;--muted:#756360;--paper:#f9f4f2;--surface:#ffffff;--line:#eddcd7;--sidebar-bg:#f0e3de;--sidebar-border:#e3cfc8;--primary:#a45a47;--primary-foreground:#ffffff;--accent:#a45a47;--accent-soft:#fae8e3;--sage:#e2ecd8;--sage-deep:#4a6839;--clay:#f5ded7;--clay-deep:#a45a47}[data-theme=cashmere-pearl]{--ink:#242220;--muted:#6e6a66;--paper:#f7f5f2;--surface:#ffffff;--line:#e6e2dd;--sidebar-bg:#ebe6e0;--sidebar-border:#ded7cf;--primary:#3d3733;--primary-foreground:#fbfaf7;--accent:#8a7d73;--accent-soft:#ebe5df;--sage:#d9e4dc;--sage-deep:#4b5e52;--clay:#e8ddd5;--clay-deep:#856a59}[data-theme=dark-emerald]{--ink:#16241d;--muted:#586b61;--paper:#f3f7f4;--surface:#ffffff;--line:#dbe7df;--sidebar-bg:#e2eee6;--sidebar-border:#cee0d4;--primary:#1c4434;--primary-foreground:#f6faf7;--accent:#a38246;--accent-soft:#f7f0e1;--sage:#cfe2d7;--sage-deep:#1c4434;--clay:#e8dac8;--clay-deep:#8c6533}[data-theme=midnight-navy]{--ink:#151f2b;--muted:#5b6c7f;--paper:#f2f5f9;--surface:#ffffff;--line:#d9e2ed;--sidebar-bg:#e0e8f2;--sidebar-border:#ccdae8;--primary:#1d334d;--primary-foreground:#ffffff;--accent:#2a6fb0;--accent-soft:#e3f0fc;--sage:#d1e5dd;--sage-deep:#285747;--clay:#ecdccb;--clay-deep:#966336}[data-theme=plum-velvet]{--ink:#2b1924;--muted:#735b6b;--paper:#f9f3f7;--line:#eedbe8;--sidebar-bg:#efe0ea;--sidebar-border:#e0cbda;--primary:#5e2948;--accent:#b87b3b;--accent-soft:#faefe3;--sage:#dce8db;--sage-deep:#3f613c;--clay:#f2dce6;--clay-deep:#6b2f52}[data-theme=warm-walnut]{--ink:#261d18;--muted:#6e6057;--paper:#f7f3ee;--surface:#ffffff;--line:#e8ded4;--sidebar-bg:#ece2d6;--sidebar-border:#decbbd;--primary:#4a3528;--primary-foreground:#faf5ee;--accent:#9e5932;--accent-soft:#f7e8de;--sage:#dce4d6;--sage-deep:#495e40;--clay:#eddccd;--clay-deep:#8f502d}[data-theme=nordic-frost]{--ink:#182329;--muted:#5d6e75;--paper:#f2f6f8;--surface:#ffffff;--line:#d7e3e8;--sidebar-bg:#dfeaef;--sidebar-border:#cbdbe2;--primary:#264e61;--primary-foreground:#ffffff;--accent:#2b7d99;--accent-soft:#def1f7;--sage:#d3e7df;--sage-deep:#295e4c;--clay:#ebded7;--clay-deep:#8a5a48}[data-theme=lavender-mist]{--ink:#231d2c;--muted:#675e75;--paper:#f6f4fa;--surface:#ffffff;--line:#e6dfef;--sidebar-bg:#eae3f2;--sidebar-border:#dad0e6;--primary:#554275;--primary-foreground:#ffffff;--accent:#855cb8;--accent-soft:#f0e8fa;--sage:#dbe5dc;--sage-deep:#445c47;--clay:#ebdbe5;--clay-deep:#7a4d6f}[data-theme=aura-crimson]{--ink:#0f141c;--muted:#526071;--paper:#f8fafc;--surface:#ffffff;--line:#e2e6eb;--sidebar-bg:#f1f4f8;--sidebar-border:#e0e4eb;--primary:#e52b38;--primary-foreground:#ffffff;--accent:#e52b38;--accent-soft:rgba(229,43,56,0.08);--sage:#fee2e2;--sage-deep:#b91c1c;--clay:#fee2e2;--clay-deep:#991b1b}[data-theme=aura-crimson] .brand-mark,[data-theme=aura-crimson] .mobile-brand-mark,[data-theme=aura-crimson] .new-appointment{background:#e52b38!important;color:#ffffff!important}[data-theme=aura-crimson] .new-appointment{border-color:#e52b38!important;box-shadow:0 4px 14px rgba(229,43,56,.3)!important}[data-theme=aura-crimson] .new-appointment:hover{background:#cc222e!important;border-color:#cc222e!important}[data-theme=aura-crimson] .nav-item.is-active{background:#0f141c!important;color:#ffffff!important;border-left:3px solid #e52b38!important}[data-theme=aura-crimson] .nav-item.is-active .icon{color:#e52b38!important}[data-theme=aura-crimson] .nav-item:hover:not(.is-active){background:#e8ecf2!important;color:#0f141c!important}[data-theme=aura-crimson] .nav-count{background:rgba(229,43,56,.12)!important;color:#b91c1c!important}[data-theme=aura-crimson] .is-active .nav-count{background:#e52b38!important;color:#ffffff!important}[data-theme=aura-crimson] .modal-primary-button,[data-theme=aura-crimson] .primary-button{background:#e52b38!important;border-color:#e52b38!important;color:#ffffff!important;box-shadow:0 4px 14px rgba(229,43,56,.25)!important}[data-theme=aura-crimson] .modal-primary-button:hover,[data-theme=aura-crimson] .primary-button:hover{background:#cc222e!important;border-color:#cc222e!important;box-shadow:0 6px 18px rgba(229,43,56,.35)!important}[data-theme=nail-bloom]{--ink:#2b1720;--muted:#785966;--paper:#fdf7f9;--surface:#ffffff;--line:#f4dae2;--sidebar-bg:#faedf1;--sidebar-border:#edd2dc;--primary:#f25c86;--primary-foreground:#ffffff;--accent:#f25c86;--accent-soft:rgba(242,92,134,0.08);--sage:#e8f5ec;--sage-deep:#2d6b3d;--clay:#fee8ef;--clay-deep:#cf3763}[data-theme=nail-bloom] .brand-mark,[data-theme=nail-bloom] .mobile-brand-mark{background:#f25c86!important;color:#ffffff!important;border-radius:8px!important}[data-theme=nail-bloom] .new-appointment{background:#f25c86!important;border-color:#f25c86!important;color:#ffffff!important;box-shadow:0 4px 14px rgba(242,92,134,.28)!important;border-radius:24px!important}[data-theme=nail-bloom] .new-appointment:hover{background:#df4973!important;border-color:#df4973!important}[data-theme=nail-bloom] .nav-item.is-active{background:#2b1720!important;color:#ffffff!important;border-left:3px solid #f25c86!important}[data-theme=nail-bloom] .nav-item.is-active .icon{color:#f25c86!important}[data-theme=nail-bloom] .nav-item:hover:not(.is-active){background:#f5e2e8!important;color:#2b1720!important}[data-theme=nail-bloom] .nav-count{background:rgba(242,92,134,.12)!important;color:#cf3763!important}[data-theme=nail-bloom] .is-active .nav-count{background:#f25c86!important;color:#ffffff!important}[data-theme=nail-bloom] .modal-primary-button,[data-theme=nail-bloom] .primary-button{background:#f25c86!important;border-color:#f25c86!important;color:#ffffff!important;box-shadow:0 4px 14px rgba(242,92,134,.25)!important;border-radius:24px!important}[data-theme=nail-bloom] .modal-primary-button:hover,[data-theme=nail-bloom] .primary-button:hover{background:#df4973!important;border-color:#df4973!important;box-shadow:0 6px 18px rgba(242,92,134,.35)!important}[data-theme=plum-velvet]{--ink:#261120;--muted:#6f5565;--paper:#faf7f2;--surface:#ffffff;--line:#ebdce6;--sidebar-bg:#f4ecf2;--sidebar-border:#e6d6e2;--primary:#451534;--primary-foreground:#ffffff;--accent:#d2f53b;--accent-soft:rgba(210,245,59,0.15);--sage:#e5f5df;--sage-deep:#2c6326;--clay:#fee1d4;--clay-deep:#c94627}[data-theme=plum-velvet] .brand-mark,[data-theme=plum-velvet] .mobile-brand-mark{background:#451534!important;color:#d2f53b!important;border-radius:8px!important}[data-theme=plum-velvet] .new-appointment{background:#451534!important;border-color:#451534!important;color:#ffffff!important;box-shadow:0 4px 14px rgba(69,21,52,.28)!important;border-radius:24px!important}[data-theme=plum-velvet] .new-appointment:hover{background:#320f26!important;border-color:#320f26!important}[data-theme=plum-velvet] .nav-item.is-active{background:#261120!important;color:#ffffff!important;border-left:3px solid #d2f53b!important}[data-theme=plum-velvet] .nav-item.is-active .icon{color:#d2f53b!important}[data-theme=plum-velvet] .nav-item:hover:not(.is-active){background:#ebdee6!important;color:#261120!important}[data-theme=plum-velvet] .nav-count{background:rgba(210,245,59,.2)!important;color:#3b5e08!important}[data-theme=plum-velvet] .is-active .nav-count{background:#d2f53b!important;color:#261120!important}[data-theme=plum-velvet] .modal-primary-button,[data-theme=plum-velvet] .primary-button{background:#451534!important;border-color:#451534!important;color:#ffffff!important;border-radius:24px!important;box-shadow:0 4px 14px rgba(69,21,52,.25)!important}[data-theme=plum-velvet] .modal-primary-button:hover,[data-theme=plum-velvet] .primary-button:hover{background:#320f26!important;border-color:#320f26!important;box-shadow:0 6px 18px rgba(69,21,52,.35)!important}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--paper);font-family:DM Sans,sans-serif;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent,#b3c8ba);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;flex:none;height:100vh;position:-webkit-sticky;position:sticky;top:0;padding:24px 14px 16px;background:var(--sidebar-bg,#ebe9e1);border-right:1px solid var(--sidebar-border,#dedbd3);display:flex;flex-direction:column;overflow-y:auto;z-index:10;scrollbar-width:none;transition:width .22s cubic-bezier(.4,0,.2,1),padding .22s ease,opacity .18s ease,background .25s ease,border-color .25s ease}.sidebar::-webkit-scrollbar{display:none}.sidebar.is-collapsed:not(.is-hidden-mode){width:68px!important;min-width:68px!important;max-width:68px!important;padding:20px 8px 16px!important;margin:0!important;border-right:1px solid #dedbd3!important;overflow-x:hidden!important;overflow-y:auto!important;opacity:1!important;pointer-events:auto!important}.sidebar.is-collapsed:not(.is-hidden-mode) .brand{padding:0 0 24px!important;justify-content:center!important}.sidebar.is-collapsed:not(.is-hidden-mode) .availability-text,.sidebar.is-collapsed:not(.is-hidden-mode) .brand-name,.sidebar.is-collapsed:not(.is-hidden-mode) .nav-eyebrow,.sidebar.is-collapsed:not(.is-hidden-mode) .nav-item-text,.sidebar.is-collapsed:not(.is-hidden-mode) .profile-info,.sidebar.is-collapsed:not(.is-hidden-mode) .profile-more,.sidebar.is-collapsed:not(.is-hidden-mode) .sidebar-collapse-btn{display:none!important}.sidebar.is-collapsed:not(.is-hidden-mode) .brand-mark{cursor:pointer;transition:transform .15s ease}.sidebar.is-collapsed:not(.is-hidden-mode) .brand-mark:hover{transform:scale(1.08)}.sidebar.is-collapsed:not(.is-hidden-mode) .nav-item{width:48px!important;height:44px!important;padding:0!important;justify-content:center!important;margin:0 auto 5px!important;position:relative!important;border-radius:8px!important}.sidebar.is-collapsed:not(.is-hidden-mode) .nav-item .icon{width:20px;height:20px;margin:0!important}.sidebar.is-collapsed:not(.is-hidden-mode) .nav-count{position:absolute!important;top:3px!important;right:3px!important;margin:0!important;min-width:8px!important;width:8px!important;height:8px!important;padding:0!important;border-radius:50%!important;font-size:0!important;border:1.5px solid var(--sidebar-bg,#ebe9e1)!important}.sidebar.is-collapsed:not(.is-hidden-mode) .nav-item.is-active .nav-count{border-color:var(--ink)!important}.sidebar.is-collapsed:not(.is-hidden-mode) .nav-item-collapse{width:48px!important;height:40px!important;padding:0!important;justify-content:center!important;margin:10px auto 0!important}.sidebar.is-collapsed:not(.is-hidden-mode) .nav-item-collapse span{display:none!important}.sidebar.is-collapsed:not(.is-hidden-mode) .availability{padding:12px 0!important;display:flex!important;justify-content:center!important;align-items:center!important}.sidebar.is-collapsed:not(.is-hidden-mode) .presence{margin:0!important;width:9px!important;height:9px!important}.sidebar.is-collapsed:not(.is-hidden-mode) .profile{padding:8px 0!important;justify-content:center!important;width:48px!important;margin:0 auto!important}.sidebar.is-collapsed:not(.is-hidden-mode) .profile .avatar{margin:0!important}.sidebar.is-collapsed.is-hidden-mode{width:0!important;min-width:0!important;max-width:0!important;padding:0!important;margin:0!important;border-right:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.sidebar.is-collapsed.can-hover-expand:hover{width:252px!important;min-width:252px!important;max-width:252px!important;padding:24px 14px 16px!important;box-shadow:4px 0 20px rgba(0,0,0,.09)!important}.sidebar.is-collapsed.can-hover-expand:hover .brand{padding:0 12px 38px!important;justify-content:space-between!important}.sidebar.is-collapsed.can-hover-expand:hover .availability-text,.sidebar.is-collapsed.can-hover-expand:hover .brand-name,.sidebar.is-collapsed.can-hover-expand:hover .nav-eyebrow,.sidebar.is-collapsed.can-hover-expand:hover .nav-item-collapse span,.sidebar.is-collapsed.can-hover-expand:hover .nav-item-text,.sidebar.is-collapsed.can-hover-expand:hover .profile-info,.sidebar.is-collapsed.can-hover-expand:hover .profile-more,.sidebar.is-collapsed.can-hover-expand:hover .sidebar-collapse-btn{display:inline-block!important}.sidebar.is-collapsed.can-hover-expand:hover .profile-info{display:block!important}.sidebar.is-collapsed.can-hover-expand:hover .nav-item{width:100%!important;height:46px!important;padding:0 12px!important;justify-content:flex-start!important;margin:0!important}.sidebar.is-collapsed.can-hover-expand:hover .nav-count{position:static!important;margin-left:auto!important;min-width:20px!important;width:auto!important;height:20px!important;padding:0 6px!important;border-radius:10px!important;font-size:11px!important;border:none!important}.sidebar.is-collapsed.can-hover-expand:hover .availability{padding:16px 12px!important;justify-content:flex-start!important}.sidebar.is-collapsed.can-hover-expand:hover .presence{margin-right:5px!important}.sidebar.is-collapsed.can-hover-expand:hover .profile{padding:10px 8px!important;justify-content:flex-start!important;width:100%!important}.sidebar-collapse-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dedbd3;background:#f4f2eb;border-radius:6px;color:#68736e;cursor:pointer;transition:all .15s ease}.sidebar-collapse-btn:hover{background:#e5e3dc;color:var(--ink);border-color:#c8c5bc}.nav-item-collapse{margin-top:8px;font-size:13px;color:#78837d;border:1px dashed #d5d2c9}.nav-item-collapse:hover{background:#e1e3db;color:var(--ink);border-color:#bbb6a9}.topbar-sidebar-toggle{height:38px;min-height:38px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dcd9d1;border-radius:7px;background:#fffdfa;color:#58645d;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;cursor:pointer;box-sizing:border-box;white-space:nowrap;transition:all .15s ease}.topbar-sidebar-toggle:hover{background:#f1f0eb;color:var(--ink);border-color:#c8c5ba}.topbar-sidebar-toggle .icon{width:16px;height:16px;flex:none}.brand{display:flex;align-items:center;gap:9px;padding:0 12px 38px;font:700 24px/1 Fraunces,serif;letter-spacing:-.05em}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#f8f6ef;font:700 22px/1 Fraunces,serif;letter-spacing:-.1em}.eyebrow,.nav-eyebrow{margin:0;color:#77827b;text-transform:uppercase;letter-spacing:.1em;font:500 11px/1.25 DM Mono,monospace}.nav-eyebrow{padding:0 12px 9px}.nav-item{border:0;background:none;color:#59655f;height:46px;width:100%;padding:0 12px;display:flex;align-items:center;gap:12px;border-radius:7px;text-align:left;font-size:14px;transition:background .15s ease,color .15s ease}.nav-item:hover{color:var(--ink);background:#e2e4dc}.nav-item.is-active{background:var(--ink);color:#fffdf7}.icon{width:20px;height:20px;flex:none}.nav-count{margin-left:auto;min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:#d3e0cf;color:#31433a;font:500 11px DM Mono,monospace}.is-active .nav-count{background:#e3eedf}.sidebar-foot{margin-top:auto}.availability{padding:16px 12px;color:#6c766f;border-top:1px solid #d9d7cf;font-size:12px}.presence{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#63866c}.profile{width:100%;border:0;background:none;padding:10px 8px;display:flex;gap:10px;align-items:center;text-align:left;color:var(--ink);border-radius:8px}.profile:hover{background:#e1dfd7}.profile small,.profile strong{display:block}.profile strong{font-size:13px}.profile small{margin-top:2px;color:var(--muted);font-size:11px}.profile-more{margin-left:auto;color:#78817b;letter-spacing:1px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;font:500 11px DM Mono,monospace;color:#34453d;background:#cddcd0}.avatar-owner{background:#d2d1c1}.avatar-olivia{background:#ead6c8;color:#89563f}.workspace{min-width:0;flex:1 1}.topbar{height:72px;padding:0 32px;gap:14px;background:rgba(255,253,250,.94);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.search,.topbar{display:flex;align-items:center}.search{max-width:360px;flex:1 1;height:38px;padding:0 13px;gap:9px;background:#f2f0eb;border:1px solid transparent;border-radius:7px;color:#75817b;box-sizing:border-box}.search .icon{width:17px;height:17px;flex:none}.search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px;font-family:DM Sans,sans-serif}.search input::placeholder{color:#8b938e}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar-nav-btn{height:38px;min-height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dcd9d1;border-radius:7px;background:#fffdfa;color:#58645d;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;text-decoration:none;line-height:1;box-sizing:border-box;white-space:nowrap;transition:all .15s ease;cursor:pointer}.topbar-nav-btn:hover{background:#f1f0eb;color:var(--ink);border-color:#c8c5ba;text-decoration:none}.topbar-nav-btn .icon{width:16px;height:16px;flex:none;color:#6b7771}.topbar-nav-btn:hover .icon{color:var(--ink)}.mode-toggle{gap:3px;height:38px;box-sizing:border-box;align-items:center}.mode-toggle button{padding:0 12px;height:32px;font-family:DM Sans,sans-serif;display:inline-flex;align-items:center;gap:6px;cursor:pointer;line-height:1}.notification-badge-btn{min-height:38px;display:inline-flex;border:1px solid #dcd9d1;border-radius:7px;box-sizing:border-box;transition:all .15s ease}.notification-badge-btn:hover{background:#f5f4ef;border-color:#c8c5ba}.notification-badge-btn .icon{width:17px;height:17px}.badge-dot{top:5px;right:5px;min-width:16px;height:16px;border-radius:8px;background:#a34e3b;line-height:1}.new-appointment{height:38px;min-height:38px;border:1px solid var(--ink);padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;background:var(--ink);color:#fffdf7;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;box-sizing:border-box;transition:transform .15s ease,background .15s ease;cursor:pointer}.new-appointment:hover{background:#3a4a43;transform:translateY(-1px)}.new-appointment .icon{width:16px;height:16px}.mobile-brand,.mobile-brand-btn,.mobile-menu-backdrop,.mobile-menu-drawer{display:none}.mobile-calendar-agenda-view,.mobile-calendar-view-nav,.mobile-crm-btn,.reception-today-mobile-list{display:none!important}.page-content{width:100%;max-width:none;margin:0;padding:28px 32px 60px;box-sizing:border-box}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:32px}.page-heading h1{margin:7px 0 8px;font:600 clamp(31px,3vw,42px)/1 Fraunces,serif;letter-spacing:-.055em}.subtitle{margin:0;color:var(--muted);font-size:15px}.subtitle strong{color:var(--ink);font-weight:600}.date-control{height:38px;padding:3px;display:flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--surface);border-radius:6px}.date-control span{min-width:74px;text-align:center;font-size:13px;font-weight:600}.date-control button{width:29px;height:29px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:23px;line-height:1}.date-control button:hover{background:#f1f0eb;color:var(--ink)}.overview-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr 1.25fr;grid-gap:12px;gap:12px;margin-bottom:30px}.metric-card{min-height:138px;padding:20px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:flex;flex-direction:column}.metric-label{font-size:12px;color:var(--muted)}.metric-card strong{margin:11px 0 5px;font:600 28px/1 Fraunces,serif;letter-spacing:-.045em}.metric-card small{margin-top:auto;color:#748079;font-size:11px}.metric-card.attention{background:#fff8e7;border-color:#f1dfad}.metric-card.revenue{background:#edf4eb;border-color:#d7e4d4}.up{color:#4b8060;font-style:normal}.progress{height:6px;margin:6px 0 11px;border-radius:4px;overflow:hidden;background:#e2e6df}.progress span{display:block;height:100%;border-radius:inherit;background:#75917b}.content-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(310px,.85fr);grid-gap:20px;gap:20px;align-items:start}.action-card,.client-card,.schedule-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px}.schedule-panel{overflow:hidden}.panel-head{padding:23px 24px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-head h2{margin:4px 0 0;font:600 20px/1.1 Fraunces,serif;letter-spacing:-.035em}.panel-head p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:12px}.segmented{padding:3px;background:#f0eee8;border-radius:6px;display:flex;gap:2px}.segmented button{height:30px;border:0;border-radius:4px;padding:0 10px;background:transparent;color:#68736e;font-size:12px}.segmented .selected{background:#fffdf9;color:var(--ink);box-shadow:0 1px 2px #d7d3ca}.schedule-scroll{overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.schedule-table{min-width:620px;display:grid;grid-template-columns:68px 1fr;min-height:432px}.time-labels{position:relative;padding-top:14px;border-right:1px solid var(--line);font:10px DM Mono,monospace;color:#89938d}.time-labels span{display:block;height:81px;padding-left:15px}.timeline{position:relative;background:repeating-linear-gradient(180deg,transparent 0,transparent 80px,#ece9e1 81px)}.appointment{position:absolute;left:16px;right:16px;min-height:66px;padding:9px 12px;border:1px solid transparent;border-left-width:4px;border-radius:5px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;overflow:hidden;transition:transform .15s ease,filter .15s ease}.appointment:hover{transform:translateX(3px);filter:saturate(1.08)}.appointment-time{font:10px DM Mono,monospace;opacity:.72}.appointment strong{margin:3px 0 1px;font-size:13px}.appointment>span:not(.appointment-time){font-size:11px;opacity:.82}.appointment footer{width:100%;margin-top:3px;display:flex;justify-content:space-between;font-size:10px;opacity:.75}.tone-sage{background:#e9f0e7;border-color:#cfdecb #cfdecb #cfdecb #60816a;color:#385241}.tone-clay{background:#f7e9df;border-color:#ead1c0 #ead1c0 #ead1c0 #b76743;color:#7d422b}.tone-ink{background:#e4eeee;border-color:#cadcda #cadcda #cadcda #517b78;color:#345653}.tone-sand{background:#fbf2d5;border-color:#f1dfaa #f1dfaa #f1dfaa #b79239;color:#735b20}.show-calendar{width:100%;height:52px;border:0;background:#fffdfa;display:flex;align-items:center;justify-content:center;gap:7px;color:#4e6056;font-size:13px;font-weight:600}.show-calendar:hover{background:#f7f6f1}.client-link .icon,.show-calendar .icon{width:16px;height:16px}.timeline{isolation:isolate}.appointment{z-index:1;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.appointment:hover{z-index:40;box-shadow:0 8px 22px rgba(26,37,31,.18)}.appointment:focus-visible{z-index:41;outline:3px solid #7f9c86;outline-offset:2px}.right-rail{display:grid;grid-gap:20px;gap:20px}.action-card .panel-head{padding-bottom:10px}.text-button{border:0;background:none;color:#51755e;font-size:11px;font-weight:600}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.tasks{list-style:none;margin:0;padding:0 20px 12px}.tasks li{display:flex;align-items:center;gap:10px;padding:14px 4px;border-top:1px solid #efede7}.task-check{width:17px;height:17px;border:1.5px solid #b6c1b8;border-radius:50%;flex:none}.task-check.warning{border-color:#d29b54;background:#fff2d6}.tasks div{min-width:0;flex:1 1}.tasks small,.tasks strong{display:block}.tasks strong{font-size:12px;font-weight:600}.tasks small{margin-top:3px;color:var(--muted);font-size:10px}.tasks button{width:28px;height:28px;border:0;background:transparent;color:#7d8982}.tasks button:hover{color:var(--ink)}.tasks .icon{width:16px;height:16px}.client-card{padding:2px 0 19px}.client-card>.panel-head{padding-bottom:8px}.client-card>p{margin:0;padding:0 24px;color:var(--muted);font-size:12px}.client-note{margin:18px 24px 15px;padding:12px 13px;background:#f2f3ed;border-left:3px solid #9bb299}.client-note span{color:#65776a;text-transform:uppercase;letter-spacing:.08em;font:500 9px DM Mono,monospace}.client-note p{margin:6px 0 0;color:#4c5b52;font-size:11px;line-height:1.45}.client-link{border:0;background:transparent;padding:0 24px;display:flex;align-items:center;gap:5px;color:#4f7059;font-size:12px;font-weight:600}.client-link:hover{text-decoration:underline;text-underline-offset:3px}body.modal-open,body:has(.mobile-menu-backdrop),body:has(.modal-backdrop){overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}.modal-backdrop{position:fixed;inset:0;z-index:2000;padding:20px;display:flex;justify-content:center;align-items:flex-start;touch-action:pan-y;background:rgba(26,37,31,.52);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.appointment-modal,.modal-backdrop{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.appointment-modal{width:min(100%,540px);max-height:calc(100dvh - 40px);margin:auto 0;padding:25px;border:1px solid #d8d5cc;border-radius:10px;background:#fffdfa;box-shadow:0 25px 70px rgba(26,37,31,.3);box-sizing:border-box}.modal-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.modal-title h2{margin:5px 0 0;font:600 26px/1 Fraunces,serif;letter-spacing:-.04em}.modal-title .icon-button{margin-top:2px}.icon-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #dedbd3;background:#fffdfa;color:#68736e;cursor:pointer;box-sizing:border-box;flex-shrink:0;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease;box-shadow:0 1px 2px rgba(26,37,31,.04)}.icon-button:hover{background:#f1f0eb;color:var(--ink);border-color:#c4c0b4;transform:scale(1.06);box-shadow:0 2px 6px rgba(26,37,31,.08)}.icon-button:active{transform:scale(.95);background:#e6e3da;border-color:#b5b0a2}.icon-button:focus-visible{outline:2px solid #5a8065;outline-offset:2px}.icon-button .icon,.icon-button svg{width:15px;height:15px;stroke-width:2;display:block;flex:none}.appointment-modal label:not(.checkbox-label):not(.device-checkbox-label):not(.medical-item),.client-sheet label:not(.checkbox-label):not(.device-checkbox-label):not(.medical-item){display:flex!important;flex-direction:column!important;gap:7px;margin-bottom:15px;color:#4b5951;font-size:12px;font-weight:600;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.appointment-modal input:not([type=checkbox]):not([type=radio]),.appointment-modal select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;height:43px;padding:0 11px;border:1px solid #dcd9d1;border-radius:6px;background:#fff;color:var(--ink);font-size:15px}.appointment-modal input[type=date],.appointment-modal input[type=datetime-local],.appointment-modal input[type=time],.client-sheet input[type=date],.client-sheet input[type=datetime-local],.client-sheet input[type=time],input[type=date],input[type=datetime-local],input[type=time]{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-color:#fff!important;border:1px solid #dcd9d1!important;border-radius:6px!important;height:43px!important;min-height:43px!important;padding:0 11px!important;color:var(--ink)!important;font-size:16px!important}.appointment-modal input[type=date]::-webkit-date-and-time-value,.appointment-modal input[type=datetime-local]::-webkit-date-and-time-value,.appointment-modal input[type=time]::-webkit-date-and-time-value,input[type=date]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left!important;line-height:43px!important;min-height:43px!important;padding:0!important;margin:0!important}.appointment-modal input[type=checkbox],.appointment-modal input[type=radio]{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;padding:0!important;margin:0!important;accent-color:#487346;cursor:pointer}.form-row{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:12px;gap:12px;max-width:100%}.form-row,.modal-actions{width:100%;box-sizing:border-box}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:23px}.modal-actions .secondary-button{height:44px!important;min-height:44px!important;max-height:44px!important;padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:7px!important;font-size:13.5px!important;font-weight:600!important;box-sizing:border-box!important}.modal-actions .new-appointment{width:auto!important}.modal-actions .new-appointment,.modal-primary-button{height:44px!important;min-height:44px!important;max-height:44px!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0 18px!important;font-size:13.5px!important;font-weight:600!important;white-space:nowrap!important;box-sizing:border-box!important}.modal-primary-button{border:0!important;border-radius:7px!important;background:var(--ink)!important;color:#fffdf7!important;font-family:inherit!important;cursor:pointer!important;box-shadow:0 4px 14px rgba(36,48,44,.18)!important;transition:all .15s ease!important}.modal-primary-button:hover{background:#17201d;box-shadow:0 6px 18px rgba(36,48,44,.24)}.modal-primary-button:active{transform:scale(.98)}.modal-primary-button:disabled{cursor:wait;opacity:.65}.modal-primary-button .icon,.modal-primary-button svg{width:16px!important;height:16px!important;stroke-width:2!important;flex:none!important;display:block!important}.secondary-button{height:44px;min-height:44px;max-height:44px;padding:0 15px;border:1px solid #dcd9d1;border-radius:7px;background:#fffdfa;color:#58645d;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;line-height:1;transition:background .15s ease,border-color .15s ease}.secondary-button:hover{background:#f1f0eb}.toast{position:fixed;right:28px;bottom:28px;z-index:12;max-width:340px;padding:14px 17px;border:1px solid #bdceb9;border-radius:7px;background:#edf5eb;color:#3e5b45;font-size:13px;font-weight:600;box-shadow:0 10px 32px rgba(49,66,54,.16)}@media (max-width:1050px){.sidebar{width:205px}.page-content{padding:36px 28px}.overview-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.sidebar .brand{padding-bottom:28px}}@media (max-width:860px){.app-shell{display:block}.sidebar,.topbar-actions .mode-toggle,.topbar-nav-btn,.topbar-sidebar-toggle{display:none!important}.topbar{height:64px;padding:0 12px;gap:8px;position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between}.mobile-brand{display:none!important}.mobile-brand-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 10px 0 6px;border-radius:8px;border:1px solid #dcd9d1;background:#fffdfa;color:var(--ink);cursor:pointer;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s ease;flex-shrink:0;box-sizing:border-box}.mobile-brand-btn:active{background:#f1efe8}.mobile-brand-hamburger{display:grid;place-items:center;color:var(--ink)}.mobile-brand-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#f8f6ef;font:700 17px/1 Fraunces,serif;letter-spacing:-.08em}.search{height:38px;min-width:100px;max-width:200px;padding:0 10px;gap:6px;flex:1 1;margin:0}.search input{font-size:12.5px}.search input::placeholder{font-size:0}.search input::placeholder:after{content:"Szukaj"}.topbar-actions{display:flex;align-items:center;gap:6px;margin-left:0;flex-shrink:0}.notification-badge-btn{width:38px}.new-appointment,.notification-badge-btn{height:38px;min-height:38px;flex-shrink:0}.new-appointment{padding:0 12px;gap:6px;font-size:12px;white-space:nowrap}.page-content{padding:20px 12px 40px}.page-heading{align-items:start;margin-bottom:18px}.page-heading h1{font-size:28px}.subtitle{font-size:13px;line-height:1.45}.date-control{display:none}.overview-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.metric-card{min-height:112px;padding:14px}.metric-card strong{font-size:23px}.metric-card small{font-size:9px}.metric-card:nth-child(2),.metric-card:nth-child(4){display:none}.content-grid{gap:14px}.panel-head{padding:16px 14px 14px}.panel-head h2{font-size:18px}.right-rail{grid-template-columns:1fr;gap:14px}.client-card{display:none}.modal-backdrop{padding:0!important;align-items:flex-end!important;justify-content:center!important;display:flex!important;overflow:hidden!important;overscroll-behavior:contain!important;touch-action:pan-y!important}.appointment-modal,.client-sheet,.confirm-dialog{max-height:92dvh!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;width:100%!important;max-width:100%!important;padding:16px 16px max(24px,env(safe-area-inset-bottom,24px))!important;border-radius:20px 20px 0 0!important;box-sizing:border-box!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;box-shadow:0 -8px 32px rgba(0,0,0,.26)!important;animation:slideUpSheet .22s cubic-bezier(.16,1,.3,1)!important;border-bottom:0!important}.appointment-modal:before,.client-sheet:before,.confirm-dialog:before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:#d4d0c5;margin:0 auto 14px}.appointment-modal input:not([type=checkbox]):not([type=radio]),.appointment-modal select,.appointment-modal textarea,.client-sheet input:not([type=checkbox]):not([type=radio]),.client-sheet select,.client-sheet textarea,.confirm-dialog input,.confirm-dialog select,.confirm-dialog textarea{font-size:16px!important}.toast{right:16px;bottom:16px;left:16px;max-width:none}.form-row{grid-template-columns:1fr}.editor-actions{display:grid!important;grid-template-columns:1fr 1fr!important;grid-gap:8px!important;gap:8px!important;margin-top:16px!important}.editor-actions,.editor-actions>*{width:100%!important;box-sizing:border-box!important}.editor-actions>*{height:44px!important;min-height:44px!important;max-height:44px!important;padding:0 8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font-size:12px!important;font-weight:600!important;border-radius:7px!important;line-height:1!important;white-space:nowrap!important}.editor-actions .icon,.editor-actions svg{width:15px!important;height:15px!important;flex:none!important}.modal-actions{display:flex!important;flex-direction:row!important;justify-content:stretch!important;gap:8px!important;margin-top:10px!important;width:100%!important;box-sizing:border-box!important}.modal-actions>*{flex:1 1!important;width:50%!important;max-width:50%!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:0 12px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-size:13px!important;font-weight:600!important;border-radius:7px!important;line-height:1!important;white-space:nowrap!important}}@media (max-width:480px){.topbar .new-appointment .new-appointment-text{display:none}.topbar .new-appointment{width:38px;min-width:38px;padding:0;display:grid;place-items:center}.mobile-brand-btn .mobile-menu-label{display:none}.mobile-brand-btn{padding:0 6px;gap:5px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.form-error{margin:2px 0 0;color:#a3472a;font-size:12px;line-height:1.4}.new-appointment:disabled{cursor:wait;opacity:.65;transform:none}.confirm-dialog{width:min(100%,410px);padding:25px;border:1px solid #d8d5cc;border-radius:10px;background:#fffdfa;box-shadow:0 25px 70px rgba(26,37,31,.3)}.confirm-dialog h2{margin:7px 0 8px;font:600 25px/1.05 Fraunces,serif;letter-spacing:-.04em}.confirm-dialog>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.5}.danger-button{min-height:42px;padding:0 15px;border:1px solid #984c35;border-radius:7px;background:#a45339;color:#fff;font-size:13px;font-weight:600}.danger-button:hover{background:#86422e}.danger-button:disabled{cursor:wait;opacity:.65}.client-directory{width:100%;max-width:none}.directory-heading{margin-bottom:28px}.client-row,.directory-summary{display:grid;grid-template-columns:1.35fr 1.1fr 1fr .65fr auto;grid-gap:18px;gap:18px;align-items:center}.directory-summary{padding:0 18px 10px;color:#7a847e;text-transform:uppercase;letter-spacing:.07em;font:500 10px DM Mono,monospace}.client-list{border-top:1px solid var(--line)}.client-row{min-height:80px;padding:13px 18px;background:var(--surface);cursor:pointer;transition:background .15s ease}.client-row:hover{background:#f6f8f2}.client-name{display:flex;align-items:center;gap:11px;font-size:14px}.client-name .avatar{width:34px;height:34px}.client-contact small,.client-contact span{display:block}.client-contact span{font-size:12px}.client-contact small{margin-top:3px;color:var(--muted);font-size:11px}.client-phone-link{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-size:12px;font-weight:600;text-decoration:none}.client-phone-link:hover{color:var(--accent);text-decoration:underline}.client-actions-cell{display:flex;align-items:center;gap:8px}.client-action-btn{height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 10px!important;font-size:11.5px!important;box-sizing:border-box!important}.client-tags{display:flex;flex-wrap:wrap;gap:5px}.client-tags span{padding:3px 7px;border-radius:20px;background:#e8efe5;color:#526657;font-size:10px}.client-row time,.client-tags small{color:var(--muted);font-size:11px}.mobile-menu{display:none}.task-board{width:100%;max-width:none}.task-actions{display:flex;align-items:center;gap:10px}.task-total{padding:7px 10px;border-radius:16px;background:#eaf0e7;color:#536d5b;font-size:12px;font-weight:600}.task-board-list{border-top:1px solid var(--line)}.task-board-row{min-height:82px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:14px;gap:14px;border-bottom:1px solid var(--line);background:var(--surface)}.task-board-row .task-check{width:21px;height:21px;background:transparent;cursor:pointer}.task-board-row .task-check:hover{border-color:#5a8065;background:#e9f1e8}.task-board-row strong{font-size:14px}.task-board-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.task-board-row time{color:#78837c;font-size:11px}.empty-state{padding:30px 18px;color:var(--muted);font-size:14px}@media (max-width:860px){.mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:998;background:rgba(26,37,31,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fadeIn .2s ease}.mobile-menu-drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:min(88vw,360px);background:#fbf9f4;border-right:1px solid #dcd9d1;z-index:999;box-shadow:12px 0 40px rgba(0,0,0,.18);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:slideInLeft .22s cubic-bezier(.16,1,.3,1)}.mobile-menu-user-card{padding:16px;background:#f2efe7;border-bottom:1px solid #dedbd3;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-menu-close-btn{width:32px;height:32px;border-radius:50%;border:1px solid #dedbd3;background:#fffdfa;display:grid;place-items:center;color:var(--ink);cursor:pointer;flex-shrink:0;transition:background .15s ease}.mobile-menu-close-btn:hover{background:#e6e3da}.mobile-menu-mode-box{padding:12px 16px;background:#eae7dd;border-bottom:1px solid #dedbd3}.mobile-menu-eyebrow{display:block;font:500 10px/1 DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#748078;margin-bottom:8px}.mobile-mode-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.mobile-mode-buttons button{height:36px;border:1px solid #d4d0c5;background:#fffdfa;border-radius:6px;font-size:12px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .15s ease}.mobile-mode-buttons button.is-active{background:var(--ink);color:#fffdf7;border-color:var(--ink)}.mobile-menu-nav-list{padding:14px 12px;display:flex;flex-direction:column;gap:3px;flex:1 1}.mobile-menu-item{height:44px;padding:0 12px;display:flex;align-items:center;gap:12px;border:0;border-radius:7px;background:transparent;color:#59655f;font-size:13.5px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease;box-sizing:border-box;width:100%}.mobile-menu-item:active,.mobile-menu-item:hover{background:#e5e8e0;color:var(--ink)}.mobile-menu-item.is-active{background:var(--ink);color:#fffdf7;font-weight:600}.mobile-menu-item.is-active .nav-count{background:#e3eedf;color:#31433a}.mobile-menu-item .icon{width:18px;height:18px;flex-shrink:0}.mobile-menu-footer{padding:14px 12px 24px;border-top:1px solid #dedbd3;background:#f5f3ec;display:flex;flex-direction:column;gap:3px}.mobile-logout-item{color:#a83232!important}.mobile-logout-item:active,.mobile-logout-item:hover{background:#faeaea!important}.calendar-view-page .page-heading{margin-bottom:8px;display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.calendar-view-page .page-heading .eyebrow{font-size:10px;letter-spacing:.06em;margin-bottom:2px}.calendar-view-page .page-heading h1{font-size:24px;margin:2px 0 4px}.calendar-view-page .subtitle{display:none!important}.calendar-view-page .date-control{display:flex;width:100%;height:42px;justify-content:space-between;padding:3px}.calendar-view-page .date-control input{flex:1 1;min-width:0;height:34px;border:0;background:transparent;text-align:center;color:var(--ink);font-size:14px;font-weight:600}.calendar-view-page .date-control button{width:38px;height:34px}.calendar-view-page{padding-bottom:max(96px,env(safe-area-inset-bottom,96px))}.calendar-controls-bar{padding:8px;gap:8px;margin-bottom:12px;display:flex;flex-direction:column;align-items:stretch}.calendar-controls-group-left{display:flex;align-items:center;gap:6px;width:100%}.calendar-mode-toggle{display:flex;width:100%;padding:3px;gap:3px}.calendar-mode-toggle button{flex:1 1;text-align:center;padding:7px 4px!important;font-size:11.5px!important;font-weight:600}.calendar-zoom-toggle{display:none!important}.calendar-controls-group-right{display:flex;align-items:center;gap:8px;width:100%}.calendar-series-btn,.calendar-waitlist-btn{flex:1 1;height:38px!important;padding:0 8px!important;font-size:11.5px!important;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.calendar-controls-new-btn{display:none!important}.calendar-waitlist-badge{background:#c5a059;color:#1c3523;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;margin-left:4px}.mobile-calendar-view-nav{display:flex!important;flex-direction:column;gap:8px;margin-bottom:12px;width:100%}.mobile-calendar-tab-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;background:#eeece5;padding:3px;border-radius:8px}.mobile-cal-tab-btn{height:38px;border:0;background:transparent;border-radius:6px;font-size:12.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .15s ease}.mobile-cal-tab-btn.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}.mobile-resource-pill-bar{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 2px 6px;scrollbar-width:none}.mobile-resource-pill-bar::-webkit-scrollbar{display:none}.mobile-res-pill{flex-shrink:0;height:34px;padding:0 12px;border-radius:17px;border:1px solid #dcd9d1;background:#fffdfa;color:#4b5951;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.mobile-res-pill.is-selected{background:var(--ink);color:#fffdf7;border-color:var(--ink)}.mobile-calendar-agenda-view.is-active{display:block!important;width:100%}.calendar-grid-container.mobile-hide-grid,.mobile-calendar-agenda-view:not(.is-active){display:none!important}.calendar-grid-container.mobile-show-grid{display:block!important}.mobile-agenda-empty{padding:36px 16px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13.5px}.mobile-agenda-list{display:flex;flex-direction:column;gap:10px}.mobile-agenda-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent,#487346);border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.03);cursor:pointer;transition:transform .12s ease}.mobile-agenda-card:active{transform:scale(.99)}.mobile-agenda-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mobile-agenda-time-box{display:flex;align-items:baseline;gap:6px}.mobile-agenda-time{font:700 16px/1 DM Mono,monospace;color:var(--ink)}.mobile-agenda-duration{font-size:11px;color:var(--muted)}.mobile-agenda-client-row{justify-content:space-between}.mobile-agenda-client-info,.mobile-agenda-client-row{display:flex;align-items:center;gap:8px}.mobile-agenda-client-info strong{font-size:15px;color:var(--ink)}.mobile-agenda-call-chip{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-radius:16px;background:#edf5eb;border:1px solid #c4debf;color:#2e5939;font-size:11.5px;font-weight:600;text-decoration:none}.mobile-agenda-treatment{font-size:13px;font-weight:600;color:#3b4941}.mobile-agenda-pills{display:flex;flex-wrap:wrap;gap:6px}.mobile-agenda-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;background:#f3f1ea;color:#4b5951}.mobile-agenda-pill.price-pill{background:#faf6ea;color:#5c4e1e;font-weight:700}.mobile-agenda-actions{display:flex;gap:6px;margin-top:4px;padding-top:8px;border-top:1px solid #f0eee8}.mobile-agenda-actions button{flex:1 1;height:36px!important;min-height:36px!important;max-height:36px!important;font-size:11.5px!important;padding:0 8px!important;white-space:nowrap}.calendar-body-grid,.calendar-grid-header{grid-template-columns:48px repeat(var(--cols,1),minmax(min(100%,260px),1fr))}.calendar-grid-container{height:calc(100dvh - 210px);min-height:360px;border-radius:7px}.grid-time-column,.grid-time-column-head{width:48px}.grid-time-hour{font-size:10px;padding:4px 4px 0 0}.grid-head-cell{padding:8px 6px}.grid-head-cell,.grid-head-title{font-size:11.5px}.calendar-appointment-card,.calendar-appointment-card.is-long,.calendar-appointment-card.is-medium,.calendar-appointment-card.is-short,.calendar-appointment-card.is-standard{padding-right:32px}.calendar-drag-handle{width:28px;height:28px;top:3px;right:3px;opacity:.88}.calendar-undo-toast{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom,16px));min-width:0}.schedule-scroll{display:none!important}.reception-today-mobile-list{display:flex!important;flex-direction:column;gap:10px;padding:12px 0}.reception-mobile-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);border-left:4px solid;text-align:left;cursor:pointer;background:var(--surface);box-shadow:0 2px 6px rgba(0,0,0,.03)}.reception-mobile-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.reception-mobile-time{font:700 14px DM Mono,monospace;color:var(--ink)}.reception-mobile-client{font-size:14.5px;color:var(--ink)}.reception-mobile-treatment{font-size:12.5px;color:#4b5951}.reception-mobile-footer{display:flex;gap:12px;font-size:11px;color:var(--muted);margin-top:2px}.directory-heading{align-items:flex-start}.directory-heading .new-appointment{width:auto;padding:0 12px;font-size:12px}.directory-summary{display:none}.client-list{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.client-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;min-height:unset!important;padding:14px 16px!important;border-bottom:1px solid var(--line)!important;text-align:left}.client-name{font-size:15px}.client-contact{display:flex!important;flex-direction:column;gap:3px}.client-contact small,.client-contact span{display:block!important}.client-tags{display:flex!important;flex-wrap:wrap;gap:5px}.client-actions-cell{display:flex!important;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid #f2efe7;width:100%}.client-actions-cell .client-action-btn{flex:1 1;height:38px!important;min-height:38px!important;max-height:38px!important;font-size:12px!important}.mobile-crm-btn{display:inline-flex!important}.client-row time{font-size:10px}.inventory-table thead,.roi-table thead{display:none!important}.inventory-table,.inventory-table tbody,.roi-table,.roi-table tbody{display:block!important;width:100%!important}.inventory-table tr,.roi-table tr{display:flex!important;flex-direction:column!important;gap:7px!important;padding:14px 16px!important;border-bottom:1px solid var(--line)!important;background:var(--surface)}.inventory-table td,.roi-table td{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:2px 0!important;border:none!important;font-size:12.5px!important}.inventory-table td:first-child,.roi-table td:first-child{font-size:14px!important;font-weight:700;margin-bottom:2px}.task-board-row{padding:14px 12px;grid-template-columns:auto 1fr}.task-board-row time{grid-column:2;font-size:10px}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}textarea{font:inherit}.appointment-modal textarea,.client-sheet textarea{width:100%;min-height:86px;padding:10px 11px;border:1px solid #dcd9d1;border-radius:6px;background:#fff;color:var(--ink);font-size:15px;line-height:1.4;resize:vertical}.client-row{width:100%;border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left}.context-line{margin:-5px 0 18px;color:var(--muted);font-size:12px}.editor-actions{display:flex;gap:8px;margin-top:16px;width:100%;box-sizing:border-box}.editor-actions .danger-quiet,.editor-actions .secondary-button{flex:1 1;border-radius:7px!important;white-space:nowrap!important}.danger-quiet,.editor-actions .danger-quiet,.editor-actions .secondary-button{height:44px!important;min-height:44px!important;max-height:44px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-size:12.5px!important;font-weight:600!important;line-height:1!important}.danger-quiet{padding:0 14px!important;border:1px solid #dfc4b7!important;border-radius:7px!important;background:#fff8f4!important;color:#914d38!important;cursor:pointer}.danger-quiet:hover{background:#fcefe9!important}.danger-quiet .icon,.secondary-button .icon{width:15px!important;height:15px!important;flex:none!important}.client-sheet{width:min(100%,1120px);max-height:calc(100vh - 40px);overflow:auto;padding:26px;border:1px solid #d8d5cc;border-radius:10px;background:#fffdfa;box-shadow:0 25px 70px rgba(26,37,31,.3)}.client-sheet h3{margin:0 0 17px;font:600 20px/1.1 Fraunces,serif;letter-spacing:-.03em}.client-sheet label{display:grid;grid-gap:7px;gap:7px;margin-bottom:14px;color:#4b5951;font-size:12px;font-weight:600}.client-sheet-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:28px;gap:28px}.client-history{padding-left:28px;border-left:1px solid var(--line)}.checkbox-label{display:flex!important;align-items:center;gap:9px}.checkbox-label input{width:18px;height:18px;min-height:0}.history-summary{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 17px}.history-summary span{padding:5px 8px;border-radius:14px;background:#edf3ea;color:#536b5b;font-size:11px}.crm-form{padding:15px;border:1px solid var(--line);border-radius:8px;background:#f7f7f2}.crm-form .form-row{grid-template-columns:1fr 1fr}.note-list{margin-top:17px}.note-list article{padding:13px 0;border-bottom:1px solid var(--line)}.note-list article>div{display:flex;justify-content:space-between;gap:12px}.note-list strong{font-size:11px;color:#52695a}.note-list small,.note-list time{color:var(--muted);font-size:10px}.note-list p{margin:6px 0;color:#435149;font-size:13px;line-height:1.45}.placeholder-page{max-width:680px;padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.placeholder-page h1{margin:8px 0;font:600 clamp(31px,3vw,42px)/1 Fraunces,serif;letter-spacing:-.05em}.client-sheet-topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.client-sheet-actions{display:flex;align-items:center;gap:8px}.client-sheet-action-btn{height:36px!important;min-height:36px!important;max-height:36px!important;font-size:12px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:7px!important;box-sizing:border-box!important}.client-sheet-close-btn{flex-shrink:0}@media (max-width:720px){.client-sheet{max-height:calc(100vh - 24px);padding:20px}.client-sheet-grid{grid-template-columns:1fr;gap:24px}.client-history{padding:23px 0 0;border-top:1px solid var(--line);border-left:0}.client-sheet .form-row{grid-template-columns:1fr}.editor-actions{display:grid!important;grid-template-columns:1fr 1fr!important;grid-gap:8px!important;gap:8px!important}.editor-actions>*{width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.client-sheet-topbar{flex-direction:column;gap:12px;position:relative;padding-right:36px}.client-sheet-close-btn{position:absolute;top:0;right:0}.client-sheet-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;width:100%}.client-sheet-action-btn{width:100%!important;height:38px!important;min-height:38px!important;max-height:38px!important;font-size:11.5px!important;padding:0 6px!important;justify-content:center!important;white-space:nowrap!important}}.financial-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.financial-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:22px}.financial-card{min-height:132px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);display:flex;flex-direction:column}.financial-card span{color:var(--muted);font-size:12px}.financial-card strong{margin:12px 0 5px;font:600 27px/1 Fraunces,serif;letter-spacing:-.04em}.financial-card small{margin-top:auto;color:#748079;font-size:11px}.financial-list{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:20px;gap:20px}.financial-list>article{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.financial-table>div{display:grid;grid-template-columns:1.4fr .6fr .9fr .9fr auto;align-items:center;grid-gap:11px;gap:11px;padding:13px 18px;border-top:1px solid var(--line)}.financial-table strong{font-size:13px}.financial-table span,.financial-table time{color:var(--muted);font-size:11px}.financial-table b{font-size:12px}.financial-table .danger-quiet,.financial-table .secondary-button,.financial-table button{height:28px!important;min-height:28px!important;max-height:28px!important;padding:0 10px!important;font-size:11px!important;font-weight:600!important;border-radius:5px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;box-sizing:border-box!important;line-height:1!important;cursor:pointer}.financial-table .secondary-button{background:#fffdfa;border:1px solid #dcd9d1;color:#44534b}.financial-table .secondary-button:hover{background:#f4f2eb;border-color:#c9c5b9}.financial-table .secondary-button .icon{width:12px!important;height:12px!important;flex:none!important}.financial-table .danger-quiet{background:#fff8f4;border:1px solid #dfc4b7;color:#914d38}.financial-table .danger-quiet:hover{background:#fcefe9;border-color:#d1ada0}.offer-list>div{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) 88px;align-items:center;grid-gap:14px;gap:14px;padding:13px 18px;border-top:1px solid var(--line)}.offer-list strong{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35;overflow:hidden;text-overflow:ellipsis}.offer-list span{color:var(--muted);font-size:12px;line-height:1.35}.offer-list .danger-quiet,.offer-list .secondary-button,.offer-list button{width:88px;height:32px;min-height:32px;max-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border-radius:6px;box-sizing:border-box;text-align:center;line-height:1;cursor:pointer}.offer-list .secondary-button{background:#fffdfa;border:1px solid #dcd9d1;color:#44534b}.offer-list .secondary-button:hover{background:#f4f2eb;border-color:#c9c5b9}.offer-list .danger-quiet{background:#fff8f4;border:1px solid #dfc4b7;color:#914d38}.offer-list .danger-quiet:hover{background:#fcefe9;border-color:#d1ada0}@media (max-width:900px){.financial-list{grid-template-columns:1fr}.financial-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:720px){.financial-actions{justify-content:flex-start}.financial-actions .new-appointment{width:auto;padding:0 12px;font-size:12px}.financial-grid{grid-template-columns:1fr;gap:8px}.financial-card{min-height:96px}.financial-table>div{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;padding:14px 16px!important}.financial-table strong{font-size:14px!important}.financial-table span,.financial-table time{display:inline-block!important;color:var(--muted)!important;font-size:11.5px!important}.financial-table b{font-size:15px!important;color:#2e5939!important}.financial-table>div>div{display:flex!important;align-items:center!important;gap:8px!important;margin-top:4px!important}.financial-table .danger-quiet,.financial-table .secondary-button,.financial-table button{height:34px!important;min-height:34px!important;font-size:11.5px!important;flex:1 1!important;justify-content:center!important}.offer-list>div{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:14px 16px!important}.offer-list .danger-quiet,.offer-list .secondary-button,.offer-list button{width:100%!important;height:36px!important;min-height:36px!important}}.calendar-controls-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding:14px 20px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.calendar-controls-group-left{flex-wrap:wrap}.calendar-controls-group-left,.calendar-controls-group-right{display:flex;gap:10px;align-items:center}.calendar-waitlist-badge{background:#c5a059;color:#1c3523;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700;margin-left:5px}.grid-head-title{font-size:12.5px;font-weight:600;line-height:1.25;color:var(--ink);word-break:break-word}.mode-toggle{display:flex;gap:4px;background:#eeece5;padding:3px;border-radius:7px}.mode-toggle button{border:0;background:transparent;padding:7px 14px;font-size:13px;font-weight:500;border-radius:5px;color:var(--muted);transition:all .15s ease}.mode-toggle button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600}.calendar-grid-container{position:relative;height:calc(100dvh - 250px);min-height:420px;overflow:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.02);scrollbar-gutter:stable}.calendar-grid-header{display:grid;grid-template-columns:60px repeat(var(--cols,7),minmax(150px,1fr));border-bottom:2px solid var(--line);background:#fbf9f4;position:-webkit-sticky;position:sticky;top:0;z-index:30}.grid-head-cell{padding:12px 14px;text-align:center;border-right:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink)}.grid-head-cell small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}.grid-time-column-head{width:60px;position:-webkit-sticky;position:sticky;left:0;z-index:32;background:#f7f4ed;box-shadow:6px 0 12px rgba(36,48,44,.06)}.calendar-body-grid{display:grid;grid-template-columns:60px repeat(var(--cols,7),minmax(150px,1fr));position:relative;min-height:calc(12 * var(--hour-height, 84px))}.grid-time-column{position:-webkit-sticky;position:sticky;left:0;z-index:24;border-right:1px solid #d7d3ca;background:#fdfbf7;box-shadow:6px 0 12px rgba(36,48,44,.05);font:500 11px/1 DM Mono,monospace;color:#6f7a74}.grid-time-hour{height:var(--hour-height,84px);border-bottom:1px dashed #e6e3da;padding:6px 8px 0 0;text-align:right;box-sizing:border-box}.grid-resource-column{position:relative;border-right:1px solid var(--line);background-size:100% calc(var(--hour-height,84px) / 4);background-image:linear-gradient(180deg,transparent calc(100% - 1px),rgba(95,112,102,.1))}.grid-resource-column:hover{background-color:rgba(235,243,234,.25)}.calendar-slot-click{position:absolute;inset:0;z-index:1;cursor:pointer}.calendar-appointment-card{position:absolute;left:5px;right:5px;z-index:2;border-radius:6px;padding:7px 34px 7px 9px;border-left:4px solid;box-shadow:0 2px 6px rgba(0,0,0,.06);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;transition:transform .14s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1),z-index .1s ease;text-align:left;box-sizing:border-box;min-height:42px}.calendar-appointment-card.is-short{padding:4px 34px 4px 7px;gap:2px}.calendar-appointment-card.is-medium{padding:5px 34px 5px 8px;gap:2px}.calendar-appointment-card.is-standard{padding:7px 34px 7px 9px;gap:2px}.calendar-appointment-card.is-long{padding:6px 34px 6px 8px}.app-card-compact-wrap,.app-card-long-wrap,.app-card-medium-wrap,.app-card-standard-wrap{width:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:2px}.app-card-header-row{display:flex;align-items:baseline;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;flex-shrink:0}.app-card-time{font:600 10px DM Mono,monospace;color:#4e5b53;opacity:.88;flex-shrink:0}.app-card-client{font-size:13px;margin:1px 0;line-height:1.22}.app-card-client,.app-card-client-inline{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#101c15;letter-spacing:-.015em;flex-shrink:0}.app-card-client-inline{font-size:12.5px;line-height:1.2}.app-card-service{font-size:11px;color:#49564e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;flex-shrink:0}.calendar-appointment-card.is-long .app-card-service{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;word-break:break-word;flex-shrink:0}.app-card-footer{gap:6px;font-size:10.5px;margin-top:1px;color:#5d6a62;line-height:1.2}.app-card-footer,.app-card-meta-pills{display:flex;align-items:center;flex-shrink:0}.app-card-meta-pills{flex-wrap:wrap;gap:4px;margin-top:2px}.app-card-mini-pill{font:600 9.5px DM Mono,monospace;padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.08);color:#344339;white-space:nowrap;line-height:1.3;flex-shrink:0}.app-card-mini-pill.price-pill{background:rgba(246,243,233,.9);color:#423d2b;font-weight:700}.app-card-mini-pill.status-planned{background:rgba(252,244,216,.9);color:#735914}.app-card-mini-pill.status-confirmed{background:rgba(227,239,223,.9);color:#2e5939}.app-card-mini-pill.status-checked-in,.app-card-mini-pill.status-checked_in{background:rgba(224,236,235,.95);color:#1c4b47;font-weight:600}.calendar-appointment-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(26,37,31,.18);z-index:20}.calendar-appointment-card:focus-visible{outline:3px solid #7f9c86;outline-offset:2px;z-index:22}.calendar-appointment-card.is-dragging{opacity:.28;transform:none;box-shadow:none}.calendar-drag-handle{position:absolute;top:4px;right:4px;width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(36,48,44,.16);border-radius:5px;background:rgba(255,253,250,.78);color:#425149;font:700 15px/1 DM Mono,monospace;cursor:-webkit-grab;cursor:grab;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;opacity:.72;transition:opacity .14s ease,background .14s ease,border-color .14s ease,transform .14s ease}.calendar-drag-handle:focus-visible,.calendar-drag-handle:hover{opacity:1;background:#fffdfa;border-color:#819488;transform:scale(1.04);outline:2px solid #7f9c86;outline-offset:1px}.calendar-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing;transform:scale(.96)}.is-calendar-dragging,.is-calendar-dragging *{cursor:-webkit-grabbing!important;cursor:grabbing!important;-moz-user-select:none!important;user-select:none!important;-webkit-user-select:none!important}.calendar-drop-preview{position:absolute;left:5px;right:5px;z-index:28;padding:7px 9px;border:3px solid;border-radius:7px;display:flex;flex-direction:column;justify-content:center;gap:2px;pointer-events:none;box-sizing:border-box;overflow:hidden;box-shadow:0 8px 24px rgba(36,48,44,.18);animation:calendarPreviewIn .12s ease-out}.calendar-drop-preview strong{font:700 11px/1.2 DM Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-drop-preview span{font-size:10px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-drop-preview.is-checking{border-color:var(--calendar-checking);background:var(--calendar-checking-bg);color:#725717}.calendar-drop-preview.is-valid{border-color:var(--calendar-valid);background:var(--calendar-valid-bg);color:#214d32}.calendar-drop-preview.is-invalid{border-color:var(--calendar-invalid);background:var(--calendar-invalid-bg);color:#7d2f20}.calendar-drag-overlay{position:fixed;z-index:100000;pointer-events:none;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:2px solid;border-radius:8px;background:#fffdfa;box-shadow:0 18px 44px rgba(26,37,31,.28);overflow:hidden;transform:rotate(.6deg);animation:calendarDraggedCardIn .12s ease-out}.calendar-drag-overlay>strong{font-size:13px;line-height:1.2;color:#18231d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-drag-overlay>span{font:700 11px/1.2 DM Mono,monospace;color:#4e5b53}.calendar-drag-overlay>small{font-size:10.5px;line-height:1.25;color:#58645d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-drag-overlay-status{display:flex;align-items:center;gap:6px;margin:-10px -12px 5px;padding:6px 9px;font-size:10.5px;font-weight:800;line-height:1.2}.calendar-drag-overlay-status span{width:17px;height:17px;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;font:800 12px/1 DM Sans,sans-serif}.calendar-drag-overlay.is-checking{border-color:var(--calendar-checking)}.calendar-drag-overlay.is-checking .calendar-drag-overlay-status{background:var(--calendar-checking-bg);color:#725717}.calendar-drag-overlay.is-checking .calendar-drag-overlay-status span{background:var(--calendar-checking)}.calendar-drag-overlay.is-valid{border-color:var(--calendar-valid)}.calendar-drag-overlay.is-valid .calendar-drag-overlay-status{background:var(--calendar-valid-bg);color:#214d32}.calendar-drag-overlay.is-valid .calendar-drag-overlay-status span{background:var(--calendar-valid)}.calendar-drag-overlay.is-invalid{border-color:var(--calendar-invalid)}.calendar-drag-overlay.is-invalid .calendar-drag-overlay-status{background:var(--calendar-invalid-bg);color:#7d2f20}.calendar-drag-overlay.is-invalid .calendar-drag-overlay-status span{background:var(--calendar-invalid)}@keyframes calendarPreviewIn{0%{opacity:.25;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes calendarDraggedCardIn{0%{opacity:.4;transform:scale(.96) rotate(0)}to{opacity:1;transform:scale(1) rotate(.6deg)}}.calendar-undo-toast{position:fixed;right:24px;bottom:24px;z-index:3000;min-width:min(380px,calc(100vw - 32px));padding:12px 12px 12px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #3c5146;border-radius:9px;background:#24302c;color:#fffdfa;box-shadow:0 16px 42px rgba(26,37,31,.28);animation:toastIn .18s ease-out}.calendar-undo-toast span{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#dce5df}.calendar-undo-toast strong{font-size:13px;color:#fffdfa}.calendar-undo-toast button{min-width:72px;height:38px;border:1px solid #819488;border-radius:6px;background:#fffdfa;color:#24302c;font-size:13px;font-weight:700;cursor:pointer}.calendar-undo-toast button:hover{background:#edf3ed}.calendar-undo-toast button:focus-visible{outline:3px solid #c9dfcd;outline-offset:2px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:12px;font:500 10px DM Mono,monospace}.status-planned{background:#fcf4d8;color:#735914}.status-confirmed{background:#e3efdf;color:#2e5939}.status-checked-in{background:#e0eceb;color:#1c4b47;font-weight:600}.status-completed{background:#e9ece8;color:#58695d}.status-cancelled{background:#fbe6df;color:#883e28}.calendar-hover-popover{position:fixed!important;width:320px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fffdfa;border:1px solid #d4cebe;border-radius:9px;box-shadow:0 16px 42px rgba(22,33,27,.22),0 3px 10px rgba(0,0,0,.08);z-index:99999;padding:13px 15px;display:flex;flex-direction:column;gap:10px;pointer-events:auto;cursor:pointer;animation:popoverFadeIn .12s ease-out;box-sizing:border-box}.calendar-hover-popover::-webkit-scrollbar{width:5px}.calendar-hover-popover::-webkit-scrollbar-thumb{background:#d4cebe;border-radius:4px}@keyframes popoverFadeIn{0%{opacity:0}to{opacity:1}}.calendar-hover-popover:hover{box-shadow:0 20px 48px rgba(22,33,27,.28),0 4px 12px rgba(0,0,0,.1)}.popover-header-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.popover-time-badge{font:600 11px DM Mono,monospace;color:#3b4640;background:#f2f0e8;padding:2px 7px;border-radius:4px}.popover-client-section{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #eeeae1;padding-bottom:8px}.popover-client-name{font-size:15px;font-weight:700;color:#111c15;letter-spacing:-.015em;margin:0;line-height:1.25}.popover-client-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;color:#5d6a62}.popover-treatment-section{display:flex;flex-direction:column;gap:3px}.popover-section-label{font:600 9.5px DM Mono,monospace;text-transform:uppercase;letter-spacing:.05em;color:#7b887f}.popover-treatment-title{font-size:12.5px;font-weight:600;color:#213227;line-height:1.35;margin:0}.popover-services-list{display:flex;flex-direction:column;gap:4px;background:#fbf9f4;border:1px solid #ede8dc;border-radius:6px;padding:6px 8px;margin-top:2px}.popover-service-item{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#3b4941}.popover-service-meta{font:500 10.5px DM Mono,monospace;color:#637268}.popover-resources-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;background:#f7f5ed;border-radius:6px;padding:8px 10px}.popover-resource-col{display:flex;flex-direction:column;gap:1px}.popover-resource-val{font-size:12px;font-weight:600;color:#1e2d24}.popover-notes-box{background:#fff8eb;border-left:3px solid #d4a34b;padding:6px 9px;border-radius:0 4px 4px 0;font-size:11.5px;color:#634d19;line-height:1.35}.popover-footer-bar{display:flex;justify-content:space-between;align-items:center;padding-top:6px;border-top:1px solid #eeeae1;font-size:11px;color:#6a776f}.popover-footer-bar .total-price{font:700 13px DM Mono,monospace;color:#1f3526}.popover-click-hint{font-size:10.5px;color:#4f705a;font-weight:600;display:flex;align-items:center;gap:4px}.services-builder-box{background:#fbfaf7;border:1px solid var(--line);border-radius:7px;padding:12px;margin-bottom:14px}.service-row-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #eeebe3}.service-row-item:last-child{border-bottom:0}.service-total-summary{display:flex;justify-content:space-between;padding-top:8px;margin-top:8px;border-top:1px solid var(--line);color:var(--ink)}.add-service-btn,.service-total-summary{align-items:center;font-size:12px;font-weight:600}.add-service-btn{display:inline-flex;gap:5px;color:var(--sage-deep);background:none;border:0;padding:4px 0;margin-top:6px}.add-service-btn:hover{text-decoration:underline}.devices-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px;max-height:150px;overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}.device-checkbox-label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:12px!important;font-weight:500!important;cursor:pointer;padding:7px 10px!important;border-radius:6px;border:1px solid var(--line);background:#fbfaf7;margin-bottom:0!important;color:var(--ink)!important;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.device-checkbox-label:hover{background:#f2f0e8;border-color:#c5c2b4}.device-checkbox-label:has(input:checked){background:#edf5eb!important;border-color:#9cb999!important;color:#24412a!important;font-weight:600!important}.device-checkbox-label input[type=checkbox]{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;margin:0!important;flex-shrink:0;cursor:pointer;accent-color:#487346}.device-checkbox-label span{font-size:11px;line-height:1.35;flex:1 1}.beautician-mode-bar{background:#24302c;color:#fffdf9;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-radius:8px;margin-bottom:20px}.beautician-mode-bar select{background:#374641;color:#fffdf9;border:1px solid #4a5c55;border-radius:6px;padding:6px 12px;font-size:13px}.beautician-timeline{display:flex;flex-direction:column;gap:14px}.beautician-card{background:var(--surface);border-radius:10px;padding:18px;box-shadow:0 3px 10px rgba(0,0,0,.03);border:1px solid var(--line);border-left:6px solid var(--sage-deep)}.beautician-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.beautician-time{font:700 16px DM Mono,monospace;color:var(--ink)}.beautician-card h3{margin:4px 0 2px;font:600 20px/1.2 Fraunces,serif}.beautician-service-tag{display:inline-block;background:#edf4eb;color:#43624e;padding:4px 10px;border-radius:14px;font-size:12px;font-weight:600;margin:4px 0 10px}.beautician-room-device{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-bottom:14px}.beautician-card-actions{display:flex;flex-wrap:wrap;gap:8px}.beautician-card-actions button{flex:1 1;min-height:40px;font-size:13px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600}.ai-summary-modal{width:min(100%,640px);background:#fffdfa;border-radius:12px;padding:26px;border:1px solid var(--line);box-shadow:0 25px 70px rgba(26,37,31,.3);max-height:calc(100vh - 40px);overflow-y:auto}.ai-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#e4ece3,#d7e4d5);color:#2e4a36;border:1px solid #b8ceb4;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ai-section{margin-top:18px;padding:14px;background:#fbfaf7;border:1px solid var(--line);border-radius:8px}.ai-section h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#586e5e;font-family:DM Mono,monospace}.ai-section ul{margin:0;padding-left:18px;font-size:13px;color:#394841;line-height:1.5}.ai-section ul li{margin-bottom:5px}.sms-center-box{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;margin-top:20px}.sms-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px;margin:14px 0}.sms-template-card{padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#fdfcf9;cursor:pointer;text-align:left;transition:all .15s ease}.sms-template-card:hover{border-color:var(--sage-deep);background:#f5f8f3}.sms-template-card.is-selected{border-color:var(--sage-deep);background:#edf4eb;box-shadow:0 0 0 2px #b9ceb6}.sms-preview-phone{background:#f5f4ee;border:2px solid #dedcd3;border-radius:12px;padding:16px;margin:14px 0;position:relative}.sms-bubble{background:#d7e7d6;color:#1c3523;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.45}.sms-counter{font:500 11px DM Mono,monospace;color:var(--muted);margin-top:8px;display:flex;justify-content:space-between}.campaign-card{background:#fffdfa;border:1px solid var(--line);border-radius:8px;padding:20px;margin-top:16px}.campaign-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.campaign-card-title{margin:4px 0 0;font:600 20px Fraunces,serif;color:var(--ink)}.campaign-card-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:14px}@media (max-width:768px){.campaign-card-grid{grid-template-columns:1fr}}.campaign-card label{display:grid;grid-gap:7px;gap:7px;color:#4b5951;font-size:12px;font-weight:600}.campaign-card input:not([type=checkbox]):not([type=radio]),.campaign-card select{width:100%;height:42px;padding:0 12px;border:1px solid #dcd9d1;border-radius:6px;background:#fff;color:var(--ink);font-size:14px;font-family:inherit;box-sizing:border-box}.campaign-card input[readonly]{background:#faf8f3;color:#435149;cursor:default}.campaign-textarea-label{display:grid;grid-gap:7px;gap:7px;color:#4b5951;font-size:12px;font-weight:600;margin-top:6px}.campaign-card textarea{width:100%;min-height:84px;padding:10px 12px;border:1px solid #dcd9d1;border-radius:6px;background:#fff;color:var(--ink);font-size:14px;font-family:inherit;line-height:1.45;resize:vertical;box-sizing:border-box}.campaign-card-actions{display:flex;justify-content:flex-end;margin-top:14px}.module-settings-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;margin-top:24px;width:100%}.module-list{display:flex;flex-direction:column;gap:14px;margin-top:18px}.module-item{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fffdfa;transition:all .15s ease;gap:16px}.module-item:hover{border-color:#bdceb9;background:#fdfefc}.module-item-info h4{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--ink)}.module-item-info p{margin:0;font-size:13px;color:var(--muted);line-height:1.4}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;margin:0!important}.toggle-slider{cursor:pointer;inset:0;background-color:#d1cfc7;border-radius:26px}.toggle-slider,.toggle-slider:before{position:absolute;transition:.25s ease}.toggle-slider:before{content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:white;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle-switch input:checked+.toggle-slider{background-color:#487346}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(22px)}.sms-template-card{position:relative;flex-direction:column;min-height:130px}.sms-template-card,.sms-template-header{display:flex;justify-content:space-between}.sms-template-header{align-items:flex-start;gap:8px}.sms-template-actions{display:flex;gap:4px;opacity:.8;transition:opacity .15s ease;margin-left:auto}.sms-template-card:hover .sms-template-actions{opacity:1}.template-action-btn{padding:3px 8px;border:1px solid #dcd9d1;border-radius:4px;background:#fff;font-size:11px;font-weight:500;color:#4b5951;cursor:pointer;transition:all .15s ease}.template-action-btn:hover{background:#edf5eb;border-color:#a7c2a4;color:#24412a}.template-action-btn.btn-delete:hover{background:#fff5f2;border-color:#e5b3a3;color:#933722}.template-variables{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}.variable-tag{padding:4px 9px;border:1px solid #c8dbc5;border-radius:12px;background:#f1f7ef;color:#2c4a33;font-size:11px;font-family:DM Mono,monospace;font-weight:500;cursor:pointer;transition:all .15s ease}.variable-tag:hover{background:#e1efe0;border-color:#9cb999}.import-sheet{width:min(100%,780px);background:#fffdfa;border-radius:12px;padding:26px;border:1px solid var(--line);max-height:calc(100vh - 40px);overflow-y:auto}.dropzone{border:2px dashed #b9ceb6;border-radius:8px;padding:28px;text-align:center;background:#f8faf6;cursor:pointer;transition:all .15s ease;margin:16px 0}.dropzone:hover{background:#eff5ed;border-color:var(--sage-deep)}.preview-table-wrapper{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:6px;margin:14px 0}.preview-table{width:100%;border-collapse:collapse;font-size:12px}.preview-table th{background:#f2f0e9;padding:8px 10px;text-align:left;position:-webkit-sticky;position:sticky;top:0;font-family:DM Mono,monospace}.preview-table td{padding:8px 10px;border-top:1px solid var(--line)}.grid-resource-column.drop-hover{background:rgba(185,206,182,.16)!important;outline:2px dashed var(--calendar-checking);outline-offset:-2px}.grid-resource-column.drop-hover.drop-valid{outline-color:var(--calendar-valid);background:rgba(185,206,182,.22)!important}.grid-resource-column.drop-hover.drop-invalid{outline-color:var(--calendar-invalid);background:rgba(239,190,174,.18)!important}.calendar-appointment-card:has(.calendar-drag-handle:active){opacity:.78}.medical-consent-sheet{width:min(100%,720px);background:#fffdfa;border-radius:12px;padding:26px;max-height:calc(100vh - 40px)}.medical-checklist,.medical-consent-sheet{border:1px solid var(--line);overflow-y:auto}.medical-checklist{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;max-height:220px;padding:12px;background:#faf8f3;border-radius:8px;margin:10px 0 16px}.medical-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink);line-height:1.4;cursor:pointer}.medical-item input{margin-top:2px}.signature-canvas{border:2px dashed #b8ceb4;border-radius:8px;background:#fff;width:100%;height:160px;touch-action:none;cursor:crosshair}.signature-tools{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:24px}.inventory-card{min-height:120px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);display:flex;flex-direction:column}.inventory-card strong{margin:10px 0 4px;font:600 26px/1 Fraunces,serif}.inventory-table-container{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:14px}.inventory-table{width:100%;border-collapse:collapse;font-size:13px}.inventory-table th{background:#f5f3ec;padding:11px 14px;text-align:left;font-family:DM Mono,monospace;font-size:11px;color:var(--muted);text-transform:uppercase}.inventory-table td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:middle}.stock-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font:600 11px DM Mono,monospace}.stock-low{background:#feebe7;color:#a13d29;border:1px solid #f8c9c0}.stock-ok{background:#eaf3e8;color:#2e5939}.resource-page-shell{min-height:100vh;background:var(--paper);color:var(--ink)}.resource-topbar{height:68px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;justify-content:space-between;align-items:center;position:-webkit-sticky;position:sticky;top:0;z-index:10}.resource-topbar-left{display:flex;align-items:center;gap:18px}.resource-topbar-right{display:flex;align-items:center;gap:14px}.back-button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:7px;background:#fffdfa;color:#4b5951;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s ease}.back-button:hover{background:#f2f0ea;color:var(--ink)}.resource-content{width:100%;max-width:none;margin:0;padding:28px 32px 64px;box-sizing:border-box}.resource-kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:24px 0}@media (max-width:860px){.resource-kpis{grid-template-columns:1fr 1fr}}.resource-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin:28px 0 20px;flex-wrap:wrap}.resource-tab-btn{padding:9px 18px;border:1px solid transparent;border-radius:20px;background:transparent;color:#5c6861;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.resource-tab-btn:hover{color:var(--ink);background:#f2efe7}.resource-tab-btn.is-active{background:#edf5eb;color:#24412a;border-color:#bedac1}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.resource-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fffdfa;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;gap:14px;transition:all .15s ease}.resource-card:hover{border-color:#bdceb9;box-shadow:0 4px 14px rgba(32,45,38,.05)}.resource-card.is-inactive{opacity:.65;background:#faf8f3}.resource-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.absence-item{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fffdfa;gap:16px;margin-bottom:10px}.absence-item:hover{border-color:#bdceb9}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:24px}.analytics-card{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);display:flex;flex-direction:column}.analytics-card strong{margin:10px 0 4px;font:600 26px/1 Fraunces,serif}.roi-table{width:100%;border-collapse:collapse;font-size:13px}.roi-table th{background:#f5f3ec;padding:10px 14px;text-align:left;font-family:DM Mono,monospace;font-size:11px;color:var(--muted);text-transform:uppercase}.roi-table td{padding:12px 14px;border-top:1px solid var(--line)}.payroll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:14px}.payroll-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.payroll-card h3{margin:0 0 10px;font:600 18px Fraunces,serif}.payroll-row{font-size:13px;padding:6px 0;border-bottom:1px dashed #eeebe3}.payroll-row,.payroll-total{display:flex;justify-content:space-between}.payroll-total{font-size:14px;font-weight:700;padding-top:10px;color:var(--ink)}@media (max-width:900px){.analytics-kpi-grid,.inventory-grid{grid-template-columns:repeat(2,1fr)}.medical-checklist{grid-template-columns:1fr}}@media (max-width:600px){.analytics-kpi-grid,.inventory-grid{grid-template-columns:1fr}}.notification-badge-btn{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}.notification-badge-btn:hover{background:#f3efe6}.badge-dot{position:absolute;top:-4px;right:-4px;background:#e04f32;color:#fff;border-radius:10px;font-size:10px;font-weight:700;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--surface)}.notifications-dropdown{width:min(100%,460px);background:#fffdfa;border-radius:12px;padding:20px;border:1px solid var(--line);box-shadow:0 16px 36px rgba(0,0,0,.12)}.notif-item{display:flex;gap:12px;padding:12px;border-radius:8px;border:1px solid var(--line);margin-bottom:8px;background:var(--surface);align-items:flex-start}.notif-item.is-urgent{border-left:4px solid #e04f32}.notif-item.is-warning{border-left:4px solid #e59934}.notif-item.is-info{border-left:4px solid var(--sage-deep)}.protocol-card{background:#faf8f3;border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:14px}.protocol-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:8px}.protocol-grid label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;flex-direction:column;gap:4px}.protocol-grid input,.protocol-grid textarea{font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.online-booking-modal{width:min(100%,640px);background:#fffdfa;border-radius:12px;padding:26px;border:1px solid var(--line);max-height:calc(100vh - 40px);overflow-y:auto}.step-indicator{display:flex;gap:8px;margin-bottom:20px}.step-pill{flex:1 1;padding:8px;text-align:center;border-radius:6px;font-size:12px;font-weight:600;background:#eeebe2;color:var(--muted)}.step-pill.is-active{background:var(--ink);color:#fff}.booking-service-card{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;cursor:pointer;transition:.15s ease;background:var(--surface)}.booking-service-card:hover{border-color:var(--ink);background:#fff}.booking-service-card.selected{border-color:var(--sage-deep);background:#f2f7f0}.receipt-modal-container{width:min(100%,720px);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px rgba(26,37,31,.28);max-height:calc(100vh - 40px);overflow-y:auto;margin:auto 0;display:flex;flex-direction:column}.receipt-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#f5f3ec;border-bottom:1px solid var(--line);border-radius:16px 16px 0 0;gap:12px}.receipt-toolbar-badge{display:inline-flex;align-items:center;gap:8px;font:500 11.5px DM Mono,monospace;color:#55625b;text-transform:uppercase;letter-spacing:.05em}.receipt-toolbar-badge .icon{width:15px;height:15px;color:var(--sage-deep)}.receipt-toolbar-actions{display:flex;align-items:center;gap:10px}.receipt-btn-secondary{height:38px;min-height:38px;padding:0 15px;border:1px solid #d4cfc5;border-radius:7px;background:#ffffff;color:#4a5750;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.04)}.receipt-btn-secondary:hover{background:#f0ede6;color:var(--ink);border-color:#b8b3a7}.receipt-btn-secondary .icon{width:14px;height:14px;flex:none}.receipt-btn-primary{height:38px;min-height:38px;padding:0 16px;border:1px solid var(--ink);border-radius:7px;background:var(--ink);color:#fffdf7;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:all .15s ease;box-shadow:0 1px 3px rgba(36,48,44,.15)}.receipt-btn-primary:hover{background:#35463f;border-color:#35463f;transform:translateY(-1px);box-shadow:0 3px 8px rgba(36,48,44,.2)}.receipt-btn-primary .icon{width:15px;height:15px;flex:none}.receipt-sheet{background:#ffffff;padding:34px 38px;font-family:DM Sans,sans-serif;color:var(--ink);line-height:1.5}.receipt-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.receipt-brand-section{display:flex;flex-direction:column;gap:6px}.receipt-brand-lockup{display:flex;align-items:center;gap:10px}.receipt-brand-mark{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#f8f6ef;display:grid;place-items:center;font:700 24px/1 Fraunces,serif;letter-spacing:-.1em;flex-shrink:0}.receipt-brand-name{font:700 24px/1 Fraunces,serif;letter-spacing:-.04em;color:var(--ink);margin:0}.receipt-brand-sub{font:500 10px/1.2 DM Mono,monospace;text-transform:uppercase;letter-spacing:.12em;color:#6b7771;margin:3px 0 0}.receipt-salon-meta{font-size:11.5px;color:#6c7772;line-height:1.45;margin-top:4px}.receipt-doc-section{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.receipt-doc-tag{display:inline-block;padding:4px 10px;border-radius:5px;background:#f0ede6;border:1px solid #ded9ce;font:700 11px DM Mono,monospace;color:#36443c;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.receipt-doc-title{margin:0;font:600 22px/1.1 Fraunces,serif;letter-spacing:-.03em;color:var(--ink)}.receipt-doc-number{font:600 13.5px DM Mono,monospace;color:var(--sage-deep);margin-top:4px}.receipt-doc-meta{font-size:11.5px;color:#727e77;margin-top:4px}.receipt-doc-ref{font:9.5px DM Mono,monospace;color:#98a29c;margin-top:2px}.receipt-divider{height:1px;background:linear-gradient(90deg,#dcd7cc,#ebe7de);margin:16px 0 20px}.receipt-parties-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:22px}.receipt-party-card{background:#faf8f4;border:1px solid #eae5db;border-radius:8px;padding:13px 16px}.receipt-party-label{font:500 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;color:#7a8680;margin-bottom:5px}.receipt-party-name{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:2px}.receipt-party-detail{font-size:12px;color:#637069}.receipt-method-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;background:#eef3ed;border:1px solid #d2ded0;color:#2b4c37;font-size:12px;font-weight:600;margin-bottom:4px}.receipt-table-wrapper{margin-bottom:20px;border:1px solid #eae5db;border-radius:8px;overflow:hidden}.receipt-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.receipt-table th{background:#f4f1ea;border-bottom:1px solid #dfdad0;padding:10px 14px;font:600 10.5px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#55625b}.receipt-table td{padding:12px 14px;border-bottom:1px solid #f0ede6;color:var(--ink)}.receipt-table tr:last-child td{border-bottom:none}.receipt-table tr:nth-child(2n) td{background:#fdfcf9}.receipt-summary-grid{display:grid;grid-template-columns:1fr 280px;grid-gap:16px;gap:16px;align-items:stretch;margin-bottom:22px}.receipt-slownie-box{background:#faf8f5;border:1px solid #eee9e0;border-radius:8px;padding:13px 16px;display:flex;flex-direction:column;justify-content:center}.receipt-slownie-label{font:500 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#7a8680;margin-bottom:4px}.receipt-slownie-val{font-size:12px;font-style:italic;color:var(--ink);line-height:1.4}.receipt-status-note{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#3b6647;margin-top:6px;font-weight:500}.receipt-total-card{background:#f2f6f1;border:1px solid #cfe0cd;border-radius:8px;padding:14px 18px;text-align:right;display:flex;flex-direction:column;justify-content:center}.receipt-total-label{font:600 10.5px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#496352}.receipt-total-amount{font:700 24px/1.1 Fraunces,serif;letter-spacing:-.03em;color:#1a3324;margin-top:4px}.receipt-total-sub{font-size:11px;color:#556c5e;margin-top:3px}.receipt-notice{display:flex;gap:10px;background:#f8f7f3;border:1px solid #e8e3d8;border-radius:6px;padding:10px 14px;font-size:11px;color:#6b7771;line-height:1.45;margin-bottom:24px}.receipt-notice-icon{flex:none;font-size:14px;color:#928362}.receipt-signatures{display:grid;grid-template-columns:1fr 1fr;grid-gap:36px;gap:36px;padding-top:10px}.receipt-signature-box{text-align:center;display:flex;flex-direction:column;align-items:center}.receipt-signature-line{width:100%;border-top:1px dashed #b5ae9f;margin-bottom:8px}.receipt-signature-title{font-size:11.5px;font-weight:600;color:#4f5a54}.receipt-signature-sub{font-size:10.5px;color:#828e88;margin-top:2px}@media (max-width:680px){.receipt-sheet{padding:20px 16px}.receipt-header{flex-direction:column;gap:14px}.receipt-doc-section{text-align:left;align-items:flex-start}.receipt-parties-grid,.receipt-summary-grid{grid-template-columns:1fr}.receipt-total-card{text-align:left}.receipt-signatures{grid-template-columns:1fr;gap:24px}}@media print{body *{visibility:hidden}.receipt-sheet,.receipt-sheet *{visibility:visible}.receipt-sheet{position:absolute;left:0;top:0;width:100%!important;max-width:100%!important;margin:0!important;padding:12mm 15mm!important;border:none!important;box-shadow:none!important;background:#ffffff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.modal-backdrop{position:static!important}.modal-backdrop,.receipt-modal-container{background:transparent!important;padding:0!important;overflow:visible!important}.receipt-modal-container{border:none!important;box-shadow:none!important;max-height:none!important}.no-print,.receipt-toolbar{display:none!important}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.login-card{width:min(100%,420px);padding:34px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:grid;grid-gap:16px;gap:16px}.login-card .brand{padding:0}.login-card h1{margin:0;font:600 32px/1 Fraunces,serif;letter-spacing:-.04em}.login-card label{display:grid;grid-gap:7px;gap:7px;color:#4b5951;font-size:13px;font-weight:600}.login-card input{height:44px;padding:0 12px;border:1px solid #dcd9d1;border-radius:7px;background:#fff;color:var(--ink);font-size:16px}.login-card .new-appointment{width:100%}.login-card small{color:var(--muted);font-size:11px}.login-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.login-page{padding:20px 14px}.login-card{padding:26px 20px!important}.login-role-grid{grid-template-columns:1fr}.login-access-grid{grid-template-columns:1fr!important}}.account-container{width:100%;max-width:none;margin:0}.account-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:24px;gap:24px;align-items:start}@media (max-width:960px){.account-grid{grid-template-columns:1fr}}.account-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px;box-shadow:0 1px 3px rgba(0,0,0,.03)}.account-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:14px}.account-card-title{margin:2px 0 0;font:600 20px/1.2 Fraunces,serif;letter-spacing:-.03em;color:var(--ink)}.account-card-desc{margin:4px 0 0;font-size:13px;color:var(--muted);line-height:1.45}.profile-hero{display:flex;align-items:center;gap:18px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.profile-avatar-large{width:68px;height:68px;border-radius:50%;background:#e2ddd3;border:2px solid #d4cdbf;color:var(--ink);display:grid;place-items:center;font:700 24px/1 Fraunces,serif;letter-spacing:-.05em;flex-shrink:0;position:relative}.profile-avatar-large .status-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#487346;border:2px solid #fff}.profile-hero-info h3{margin:0;font:600 22px/1.1 Fraunces,serif;letter-spacing:-.03em;color:var(--ink)}.profile-hero-info p{margin:4px 0 0;font-size:13px;color:var(--muted)}.profile-badge{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;border-radius:14px;background:#eaf1e8;color:#3b5f44;font-size:12px;font-weight:600;font-family:DM Mono,monospace}.account-info-list{display:grid;grid-gap:12px;gap:12px}.account-info-row{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#faf9f6;border:1px solid var(--line);border-radius:6px;font-size:13px;gap:12px}.account-info-label{color:var(--muted);font-size:12px;font-weight:500}.account-info-value{font-weight:600;color:var(--ink);text-align:right;word-break:break-all}.password-requirements{display:grid;grid-gap:6px;gap:6px;margin:14px 0 18px;padding:12px 14px;background:#faf9f5;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--muted)}.requirement-item{display:flex;align-items:center;gap:8px;font-size:12px}.requirement-item.valid{color:#2d6639;font-weight:600}.requirement-item.invalid{color:#8e9590}.session-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:12px;background:#e8efe7;color:#3b5c43;font-size:11px;font-weight:600}.password-input-wrap{position:relative;display:flex;align-items:center;width:100%}.password-input-wrap input{width:100%!important;padding-right:42px!important}.password-toggle-btn{position:absolute;right:8px;border:0;background:transparent;color:var(--muted);padding:6px;display:grid;place-items:center;border-radius:4px}.password-toggle-btn:hover{color:var(--ink);background:#eceae3}.profile-avatar-large img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-actions-bar{display:flex;align-items:center;gap:8px;margin-top:10px}.avatar-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid #dcd9d1;border-radius:6px;background:#fffdfa;color:#48574e;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.avatar-btn:hover{background:#f2efe7;border-color:#beb9ab;color:var(--ink)}.avatar-btn.btn-remove{color:#9c3f28;border-color:#eecbc1;background:#fffaf8}.avatar-btn.btn-remove:hover{background:#feebe5;border-color:#d99f91}.marketing-layout{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(340px,1fr);grid-gap:28px;gap:28px;align-items:start}@media (max-width:1040px){.marketing-layout{grid-template-columns:1fr}}.marketing-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.03)}.template-picker{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:22px}@media (max-width:640px){.template-picker{grid-template-columns:repeat(2,1fr)}}.template-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:1px solid var(--line);border-radius:8px;background:#faf9f6;color:#58655e;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:center}.template-btn:hover{background:#f3f0e8;border-color:#c9c5b9;color:var(--ink)}.template-btn.is-active{background:var(--ink);color:#fffdf8;border-color:var(--ink);box-shadow:0 2px 8px rgba(36,48,44,.18)}.format-bar{display:flex;gap:8px;margin-bottom:20px}.format-btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;border:1px solid var(--line);border-radius:7px;background:#faf9f6;color:#58655e;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.format-btn:hover{background:#f3f0e8;border-color:#c9c5b9;color:var(--ink)}.format-btn.is-active{background:#e8efe7;color:#2d5537;border-color:#a9c6ab;font-weight:700}.theme-selector{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.theme-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:#faf9f6;color:#49584f;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.theme-pill:hover{background:#f3f0e8;border-color:#c9c5b9}.theme-pill.is-active{background:#fff;border-color:var(--ink);color:var(--ink);font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.1)}.theme-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.preview-stage-wrap{position:-webkit-sticky;position:sticky;top:92px;display:flex;flex-direction:column;gap:16px}.preview-stage-card{background:#ece8df;border:1px solid #dad5c7;border-radius:12px;padding:24px;flex-direction:column;min-height:480px;position:relative;box-shadow:inset 0 2px 6px rgba(0,0,0,.04)}.preview-canvas-container,.preview-stage-card{display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-canvas-container{max-width:100%;max-height:560px;box-shadow:0 16px 40px rgba(28,36,32,.18);border-radius:8px;background:#fff}.preview-canvas-container canvas{max-width:100%;max-height:560px;height:auto;display:block}.caption-box{background:#faf9f5;border:1px solid var(--line);border-radius:8px;padding:16px;margin-top:20px}.caption-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.caption-text{font-size:13px;line-height:1.5;color:var(--ink);white-space:pre-wrap;font-family:DM Sans,sans-serif;background:#fff;border:1px solid #e7e3d8;border-radius:6px;padding:12px;max-height:140px;overflow-y:auto}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.portal-shell{min-height:100vh;background:#f8f5ef;display:flex;flex-direction:column;color:var(--ink)}.portal-header{background:rgba(255,253,250,.96);border-bottom:1px solid rgba(51,69,59,.12);position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portal-nav{max-width:1120px;margin:0 auto;padding:0 28px;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}.portal-account-actions,.portal-brand-wrap{display:flex;align-items:center;gap:14px}.portal-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.portal-brand>span:last-child{font:700 25px/1 Fraunces,serif;letter-spacing:-.05em}.portal-brand-context{padding-left:14px;border-left:1px solid var(--line);color:#6a706b;font-size:11px;font-family:DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.portal-client-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.portal-header-button{display:inline-flex;min-height:42px;align-items:center;padding:0 16px;border:1px solid #bfc7c0;border-radius:999px;background:#fffdfa;color:#2f4138;font-size:13px;font-weight:700;text-decoration:none}.portal-header-button:hover{background:#eef2ec;border-color:#7f9485}.portal-demo-bar{background:#eee7d8;border-bottom:1px solid #dcd2bd;padding:8px 24px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:#544c3d;font-size:12px}.portal-demo-bar>span:first-child{margin-right:4px;font-weight:700}.portal-demo-btn{min-height:36px;padding:5px 12px;border-radius:999px;border:1px solid #c9c2af;background:#fffdfa;color:var(--ink);font-size:12px;font-weight:650}.portal-demo-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.portal-main{padding:28px 28px 80px;flex:1 1}.portal-footer,.portal-main{max-width:1120px;margin:0 auto;width:100%}.portal-footer{padding:22px 28px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#737a75;font-size:12px}.portal-footer a{color:inherit;text-underline-offset:3px}.portal-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.portal-footer-actions button{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.portal-tabs-nav{display:flex;gap:4px;margin-bottom:30px;padding:4px;border:1px solid #d8dbd5;border-radius:999px;background:#eeece6;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.portal-tab-btn{min-height:40px;border:0;border-radius:999px;background:transparent;padding:9px 16px;font-size:13px;font-weight:650;color:#68716b;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.portal-tab-btn:hover{color:var(--ink);background:rgba(255,255,255,.55)}.portal-tab-btn.is-active{color:var(--ink);background:#fffdfa;box-shadow:0 1px 4px rgba(30,42,35,.1)}.portal-tab-badge{font-size:10px;padding:2px 6px;border-radius:10px;background:#d7e4d5;color:#2e4a36;font-family:DM Mono,monospace}.portal-standalone-auth{max-width:620px;margin:24px auto 0}.portal-standalone-auth>.text-button{margin-bottom:14px}.booking-flow{max-width:100%}.wizard-steps{max-width:680px;display:flex;align-items:center;margin:0 auto 42px;padding:0}.wizard-step-item{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#79807b;white-space:nowrap}.wizard-step-item.is-active{color:var(--ink)}.wizard-step-item.is-completed{color:#365f43}.wizard-step-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-family:DM Mono,monospace;border:1px solid #c7ccc7;background:#fffdfa}.wizard-step-item.is-active .wizard-step-num{background:#33453b;color:#fff;border-color:#33453b}.wizard-step-item.is-completed .wizard-step-num{background:#dfeade;color:#31563c;border-color:#aac2ac}.wizard-step-divider{flex:1 1;height:1px;margin:0 14px;background:#d2d6d1;min-width:34px}.portal-mobile-progress{display:none;margin-bottom:26px}.portal-mobile-progress>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:12px;color:#737a75}.portal-mobile-progress strong{color:var(--ink)}.portal-mobile-progress progress{display:block;width:100%;height:5px;border:0;border-radius:999px;overflow:hidden;accent-color:#526c5b}.portal-mobile-progress progress::-webkit-progress-bar{background:#dde1dc}.portal-mobile-progress progress::-webkit-progress-value{background:#526c5b}.portal-step-heading{max-width:760px;margin:0 0 26px}.portal-step-heading .eyebrow{margin:0 0 8px;color:#607769}.portal-step-heading h1{margin:0 0 8px;font:600 clamp(28px,4vw,42px)/1.08 Fraunces,serif;letter-spacing:-.025em;text-wrap:balance}.portal-step-heading>div>p:last-child,.portal-step-heading>p:last-child{margin:0;color:#68716b;font-size:14px;line-height:1.55}.portal-step-heading-with-search,.portal-term-heading{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.portal-step-heading-with-search>div,.portal-term-heading>div{max-width:700px}.portal-service-search{flex:0 0 300px}.portal-service-search input{width:100%;min-height:48px;padding:0 16px;border:1px solid #cfd4ce;border-radius:10px;background:#fffdfa;color:var(--ink)}.portal-service-search input::placeholder{color:#7c837e}.portal-category-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding-bottom:4px;overflow:visible}.portal-category-filter button{min-height:40px;padding:7px 14px;border:1px solid #d1d5d0;border-radius:999px;background:transparent;color:#626c65;font-size:12px;font-weight:650;white-space:nowrap}.portal-category-filter button.is-active,.portal-category-filter button:hover{border-color:#526c5b;background:#e7eee5;color:#2e4938}.portal-consultation-callout{margin-bottom:18px;padding:13px 16px;border:1px solid #d7d2c7;border-radius:10px;background:#f1ede5;display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-consultation-callout div{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:baseline}.portal-consultation-callout strong{font-size:13px}.portal-consultation-callout span{color:#68716b;font-size:12px}.service-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.service-card{min-height:218px;background:#fffdfa;border:1px solid #d6dad4;border-radius:12px;padding:20px;text-align:left;display:flex;flex-direction:column;align-items:stretch;color:var(--ink);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.service-card:hover{border-color:#91a497;transform:translateY(-2px);box-shadow:0 12px 28px rgba(43,58,49,.07)}.service-card.is-selected{border-color:#526c5b;background:#f5f8f3;box-shadow:0 0 0 1px #526c5b}.service-card-category{margin-bottom:12px;color:#6b806f;font:600 10px/1.2 DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.service-card-title{display:block;font:600 17px/1.28 Fraunces,serif;margin-bottom:9px;color:var(--ink)}.service-card-description{display:block;color:#68716b;font-size:12px;line-height:1.55}.service-card-meta{width:100%;display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#68716b;margin-top:auto;padding-top:16px;border-top:1px solid #e1e2dd}.service-card-price{font:650 17px/1 Fraunces,serif;color:var(--ink)}.portal-empty-state{min-height:120px;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;text-align:center;color:#68716b}.portal-empty-state strong{color:var(--ink)}.portal-back-button{min-height:40px;margin:0 0 18px;padding:0;border:0;background:transparent;color:#536a5c;font-size:13px;font-weight:700}.portal-back-button:hover{text-decoration:underline;text-underline-offset:4px}.portal-specialist-select{flex:0 0 280px;display:flex;flex-direction:column;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.portal-booking-notes small,.portal-specialist-select small{color:#7a817c;font-weight:500}.portal-specialist-select select{min-height:48px;padding:0 38px 0 13px;border:1px solid #cfd4ce;border-radius:10px;background:#fffdfa;color:var(--ink);font-size:13px}.date-selector-bar{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 13px;margin:0 0 18px;scrollbar-width:thin;scrollbar-color:#bec6bf transparent;scroll-snap-type:x proximity}.date-btn{flex:none;width:76px;min-height:86px;padding:11px 6px;border:1px solid #d4d8d3;border-radius:10px;background:#fffdfa;color:var(--ink);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;scroll-snap-align:start}.date-btn:hover{border-color:#91a497;background:#f2f5f0}.date-btn.is-selected{background:#33453b;color:#fff;border-color:#33453b;box-shadow:0 5px 14px rgba(51,69,59,.2)}.date-btn-weekday{font-size:10px;text-transform:uppercase;font-family:DM Mono,monospace;opacity:.82}.date-btn-day{font:650 21px/1 Fraunces,serif}.date-btn-month{font-size:10px;opacity:.82}.slots-container{min-height:190px;background:#fffdfa;border:1px solid #d8dcd6;border-radius:12px;padding:22px}.slots-groups{display:grid;grid-gap:24px;gap:24px}.slots-time-block{margin:0}.slots-block-label{margin:0 0 11px;font:600 10px/1.2 DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:#6e7771}.slots-buttons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));grid-gap:9px;gap:9px}.slot-pill-btn{min-height:44px;border:1px solid #cfd5cf;border-radius:8px;background:#f8f7f3;color:var(--ink);font:650 13px/1 DM Mono,monospace}.slot-pill-btn:hover{background:#e8f0e6;border-color:#8ca491}.slot-pill-btn.is-selected{background:#526c5b;color:#fff;border-color:#526c5b;box-shadow:0 3px 10px rgba(82,108,91,.25)}.portal-confirm-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);grid-gap:22px;gap:22px;align-items:start}.portal-confirm-grid.is-authenticated{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.summary-box{background:#f2efe8;border:1px solid #d8d6ce;border-radius:12px;padding:22px;margin-bottom:18px}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:11px 0;border-bottom:1px solid #deddd7;font-size:13px}.summary-row:last-child{border-bottom:0}.summary-row.is-total{padding-top:16px;align-items:baseline}.summary-row.is-total .summary-label{color:var(--ink);font-weight:700}.summary-row.is-total .summary-value{font:650 22px/1 Fraunces,serif}.summary-label{color:#6d756f;font-size:12px}.summary-value{max-width:68%;font-weight:650;color:var(--ink);text-align:right;line-height:1.45}.portal-booking-notes{display:flex;flex-direction:column;gap:8px;color:var(--ink);font-size:12px;font-weight:700}.portal-booking-notes textarea{width:100%;min-height:92px;resize:vertical;padding:12px 13px;border:1px solid #cfd4ce;border-radius:10px;background:#fffdfa;color:var(--ink);line-height:1.5}.portal-auth-card,.portal-confirm-card{border:1px solid #d2d7d1;border-radius:14px;background:#fffdfa;padding:24px;box-shadow:0 14px 34px rgba(43,58,49,.06)}.portal-auth-heading .eyebrow{margin:0 0 7px;color:#617769}.portal-auth-heading h3,.portal-confirm-card h2{margin:0 0 8px;font:600 24px/1.15 Fraunces,serif}.portal-auth-heading>p:last-child,.portal-confirm-card p{margin:0;color:#68716b;font-size:13px;line-height:1.55}.portal-auth-tabs{display:flex;gap:4px;margin:20px 0 14px;padding:4px;border-radius:9px;background:#efeee9}.portal-auth-tabs button{flex:1 1;min-height:40px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#6d756f;font-size:11px;font-weight:700}.portal-auth-tabs button.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(32,44,37,.1)}.portal-auth-feedback:empty{display:none}.portal-demo-code,.portal-form-error,.portal-form-message{margin:0 0 12px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.45}.portal-form-error{background:#fff0ed;border:1px solid #efc4ba;color:#8d3422}.portal-form-message{background:#edf5eb;border:1px solid #c3d7c2;color:#31573a}.portal-demo-code{background:#f2ede1;border:1px solid #d8c9ad;color:#665023}.portal-auth-form{display:grid;grid-gap:13px;gap:13px}.portal-auth-form>label:not(.portal-consent-row),.portal-form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.portal-auth-form input:not([type=checkbox]){width:100%;min-height:46px;padding:0 12px;border:1px solid #cfd4ce;border-radius:9px;background:#fff;color:var(--ink)}.portal-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.portal-consent-row{display:grid;grid-template-columns:18px 1fr;align-items:start;grid-gap:9px;gap:9px;color:#616a64;font-size:11px;line-height:1.45;cursor:pointer}.portal-consent-row input{width:18px;height:18px;margin:1px 0 0;accent-color:#526c5b}.portal-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.portal-auth-form .new-appointment,.portal-confirm-card .new-appointment{min-height:48px;padding:0 20px}.portal-auth-form>button.new-appointment{width:100%}.portal-auth-form button:disabled{opacity:.6;cursor:wait}.portal-confirm-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.portal-confirm-check{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#dfebde;color:#31583b;font-weight:800}.portal-confirm-card .new-appointment{width:100%;margin-top:8px}.portal-confirm-card small{color:#747c76;font-size:10px;line-height:1.5}.client-app-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:16px;display:grid;grid-template-columns:160px 1fr auto;grid-gap:20px;gap:20px;align-items:center}.client-app-datetime{display:flex;flex-direction:column;gap:4px}.client-app-date{font-weight:700;font-size:15px;color:var(--ink);font-family:Fraunces,serif}.client-app-time{font-family:DM Mono,monospace;font-size:12px;color:var(--muted)}.client-app-content{display:flex;flex-direction:column;gap:4px}.client-app-service{font-size:16px;font-weight:700;color:var(--ink)}.client-app-specialist{font-size:13px;color:var(--muted)}.voucher-card{background:linear-gradient(135deg,#faf7ef,#f4eee1);border:1.5px solid #dfd4be;border-radius:10px;padding:24px;position:relative;overflow:hidden}.voucher-code-badge{font-family:DM Mono,monospace;letter-spacing:.1em;background:#fff;padding:4px 10px;border-radius:6px;border:1px solid #d4c8ad;font-size:12px;font-weight:600}.package-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px}.package-progress-bar{height:8px;border-radius:4px;background:#e5e8e3;overflow:hidden;margin:12px 0 6px}.package-progress-fill{height:100%;border-radius:4px;background:var(--sage-deep);transition:width .3s ease}@media (max-width:900px){.service-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-confirm-grid,.portal-confirm-grid.is-authenticated{grid-template-columns:1fr}}@media (max-width:700px){.portal-nav{min-height:60px;padding:0 16px}.portal-brand-context,.portal-client-name{display:none}.portal-main{padding:20px 16px 56px}.portal-footer{padding:18px 16px 24px}.portal-demo-bar{justify-content:flex-start;padding:8px 16px;flex-wrap:nowrap;overflow-x:auto}.portal-demo-bar>span:first-child{flex:none}.portal-tabs-nav{width:100%;border-radius:10px;margin-bottom:24px}.portal-tab-btn{padding:8px 13px}.wizard-steps{display:none}.portal-mobile-progress,.portal-step-heading-with-search,.portal-term-heading{display:block}.portal-category-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.portal-service-search,.portal-specialist-select{display:flex;width:100%;margin-top:18px}.portal-service-search{max-width:none}.portal-step-heading h1{font-size:31px}.service-cards-grid{grid-template-columns:1fr}.service-card{min-height:190px}.portal-consultation-callout{align-items:flex-start;flex-direction:column;gap:9px}.portal-consultation-callout div{display:grid;grid-gap:4px;gap:4px}.date-selector-bar{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.slots-container{padding:18px 14px}.slots-buttons-grid{grid-template-columns:repeat(3,1fr);gap:8px}.slots-buttons-grid button{min-height:48px!important;font-size:13.5px!important;font-weight:600!important}.portal-main input,.portal-main select,.portal-main textarea{font-size:16px!important}.portal-auth-card,.portal-confirm-card{padding:20px 16px}.portal-auth-tabs{overflow-x:auto}.portal-auth-tabs button{min-width:100px;min-height:42px}.portal-form-grid{grid-template-columns:1fr}.summary-row{gap:12px}.summary-value{max-width:64%}.client-app-card{grid-template-columns:1fr;gap:12px}}@media (max-width:390px){.slots-buttons-grid{grid-template-columns:repeat(2,1fr)}.portal-step-heading h1{font-size:28px}.portal-account-actions{gap:8px}.portal-header-button{padding:0 12px}}.onboarding-page,.platform-page{min-height:100vh;background:var(--paper);color:var(--ink)}.onboarding-topbar,.platform-topbar{min-height:68px;padding:0 clamp(16px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:var(--surface)}.onboarding-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}.onboarding-brand>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--primary-foreground,#fffdfa);font:600 18px/1 Fraunces,serif}.onboarding-login-link{min-height:44px;padding:0 14px;display:inline-flex;align-items:center;color:var(--ink);font-size:13px;font-weight:600;text-decoration-thickness:1px;text-underline-offset:3px}.onboarding-layout{width:min(1180px,100%);margin:0 auto;padding:clamp(28px,6vw,72px) clamp(16px,4vw,40px);display:grid;grid-template-columns:minmax(250px,.68fr) minmax(0,1.6fr);grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:start}.onboarding-sidebar{position:-webkit-sticky;position:sticky;top:32px}.onboarding-sidebar h1{max-width:14ch;margin:8px 0 14px;font:600 clamp(30px,3.5vw,45px)/1.04 Fraunces,serif;letter-spacing:-.045em;-webkit-hyphens:none;hyphens:none}.onboarding-sidebar>p:not(.eyebrow){max-width:48ch;margin:0;color:var(--muted);font-size:14px;line-height:1.45}.onboarding-sidebar ol{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-gap:5px;gap:5px}.onboarding-sidebar li{min-height:54px;padding:7px 8px;display:flex;align-items:center;gap:12px;border-left:2px solid transparent;color:#858d88}.onboarding-sidebar li>span{width:30px;height:30px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--surface);font:600 11px/1 DM Mono,monospace}.onboarding-sidebar li div{display:grid;grid-gap:2px;gap:2px}.onboarding-sidebar li strong{font-size:13px}.onboarding-sidebar li small{font-size:10px}.onboarding-sidebar li.is-current{border-color:var(--accent);color:var(--ink)}.onboarding-sidebar li.is-complete{color:var(--sage-deep)}.onboarding-security-note{display:block;max-width:36ch;margin-top:30px;color:var(--muted);font-size:10px;line-height:1.5}.onboarding-card{min-width:0;padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:12px;background:var(--surface)}.onboarding-card section{display:grid;grid-gap:18px;gap:18px}.onboarding-card h2{margin:0;font:600 clamp(28px,4vw,38px)/1.08 Fraunces,serif;letter-spacing:-.04em;-webkit-hyphens:none;hyphens:none}.onboarding-lead{max-width:65ch;margin:-8px 0 6px;color:var(--muted);font-size:14px;line-height:1.45}.onboarding-card label{display:grid;grid-gap:7px;gap:7px;color:#4b5951;font-size:12px;font-weight:600}.onboarding-card label>small,.onboarding-hint{color:var(--muted);font-size:10px;font-weight:400;line-height:1.45}.onboarding-card input:not([type=checkbox]):not([type=radio]){width:100%;min-width:0;height:46px;padding:0 12px;border:1px solid #d7d5ce;border-radius:7px;background:#fff;color:var(--ink);font-size:16px;box-sizing:border-box}.onboarding-card input:focus{border-color:var(--accent)}.onboarding-grid{display:grid;grid-gap:14px;gap:14px}.onboarding-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-mobile-progress{display:none;margin-bottom:20px;color:var(--muted);font:600 10px/1 DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.onboarding-choice-grid,.onboarding-theme-grid{margin:0;padding:0;border:0}.onboarding-choice-grid legend,.onboarding-theme-grid legend{margin:0 0 9px;color:#4b5951;font-size:12px;font-weight:600}.onboarding-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.onboarding-choice-grid legend{grid-column:1/-1}.onboarding-choice-grid>label,.onboarding-theme-grid>label{min-height:84px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.onboarding-choice-grid>label{grid-template-columns:18px 1fr;align-content:center}.onboarding-choice-grid>label input{grid-row:1/3;margin:1px 0 0;accent-color:var(--accent)}.onboarding-choice-grid>label small,.onboarding-choice-grid>label strong{grid-column:2}.onboarding-choice-grid>label.is-selected,.onboarding-theme-grid>label.is-selected{border-color:var(--accent);background:var(--accent-soft)}.onboarding-slug-input{display:flex;align-items:center;border:1px solid #d7d5ce;border-radius:7px;background:#fff;overflow:hidden}.onboarding-slug-input input{border:0!important;border-radius:0!important}.onboarding-slug-input>span{padding:0 12px;color:var(--muted);font:500 12px/1 DM Mono,monospace;white-space:nowrap}.slug-status.available{color:#317046}.slug-status.taken{color:#9a422d}.onboarding-module-list{display:grid;grid-gap:8px;gap:8px}.onboarding-module-list>label{min-height:68px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.onboarding-module-list label>span{display:grid;grid-gap:4px;gap:4px}.onboarding-module-list input{width:20px;height:20px;accent-color:var(--accent)}.onboarding-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.onboarding-theme-grid legend{grid-column:1/-1}.onboarding-theme-grid>label{grid-template-columns:18px 1fr;align-content:start}.onboarding-theme-grid>label input{grid-row:1/4;margin:2px 0 0;accent-color:var(--accent)}.onboarding-theme-grid>label>:not(input){grid-column:2}.theme-swatches{height:16px;display:flex;overflow:hidden;border-radius:4px}.theme-swatches i{flex:1 1}.onboarding-theme-grid label strong{margin-top:3px}.onboarding-theme-grid label small{color:var(--muted);font-size:10px;font-weight:400}.onboarding-editor-section{display:grid;grid-gap:10px;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.onboarding-editor-section:first-of-type{padding-top:0;border-top:0}.onboarding-editor-section h3{margin:0;font:600 19px/1.15 Fraunces,serif}.onboarding-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.onboarding-section-title .text-button{min-height:44px;padding:0 8px}.onboarding-repeat-row{display:grid;grid-gap:9px;gap:9px;align-items:end}.onboarding-repeat-row.service{grid-template-columns:minmax(160px,1fr) 94px 110px auto}.onboarding-repeat-row.compact{grid-template-columns:1fr auto}.onboarding-repeat-row.employee{grid-template-columns:1fr 1fr 1.3fr auto}.onboarding-remove{min-height:44px;padding:0 10px;border:0;background:transparent;color:#914d38;font-size:11px;font-weight:600}.onboarding-hint{margin:-2px 0 4px}.onboarding-summary{margin:4px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.onboarding-summary>div{padding:15px 8px;border-bottom:1px solid var(--line)}.onboarding-summary dt{margin-bottom:5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.onboarding-summary dd{margin:0;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.onboarding-notice{padding:16px;border-left:3px solid var(--sage-deep);background:#f1f5ef}.onboarding-notice strong{font-size:12px}.onboarding-notice p{max-width:65ch;margin:5px 0 0;color:#58645d;font-size:12px;line-height:1.45}.onboarding-error:empty{display:none}.onboarding-error{margin:18px 0 0;padding:11px 12px;border:1px solid #efc4ba;border-radius:7px;background:#fff0ed;color:#8d3422;font-size:12px;line-height:1.45}.onboarding-actions{margin-top:28px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}.onboarding-actions button{min-width:112px;min-height:44px}.onboarding-actions .new-appointment:disabled{cursor:wait;opacity:.65}@media(max-width:820px){.onboarding-layout{grid-template-columns:1fr;padding-top:28px}.onboarding-sidebar{position:static}.onboarding-sidebar h1{max-width:18ch}.onboarding-security-note,.onboarding-sidebar ol{display:none}.onboarding-mobile-progress{display:block}.onboarding-card{padding:24px 16px}.onboarding-choice-grid,.onboarding-grid.three,.onboarding-grid.two,.onboarding-summary,.onboarding-theme-grid{grid-template-columns:1fr}.onboarding-repeat-row.employee,.onboarding-repeat-row.service{grid-template-columns:1fr 1fr}.onboarding-repeat-row .onboarding-remove{justify-self:start;padding:0}.onboarding-repeat-row.employee .onboarding-remove,.onboarding-repeat-row.service .onboarding-remove{grid-column:1/-1}.onboarding-slug-input{align-items:stretch;flex-direction:column}.onboarding-slug-input>span{padding:0 12px 10px}}@media(max-width:480px){.onboarding-topbar{padding:0 12px}.onboarding-brand{font-size:12px}.onboarding-layout{padding-left:12px;padding-right:12px}.onboarding-repeat-row.employee,.onboarding-repeat-row.service{grid-template-columns:1fr}.onboarding-repeat-row.employee .onboarding-remove,.onboarding-repeat-row.service .onboarding-remove{grid-column:auto}}.platform-login-page{min-height:100vh;padding:32px 16px;display:grid;place-items:center;background:var(--paper)}.platform-login-card{width:min(100%,430px);padding:34px;display:grid;grid-gap:18px;gap:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.platform-login-card>div h1{margin:7px 0 9px;font:600 32px/1.05 Fraunces,serif;letter-spacing:-.04em}.platform-login-card>div>p:not(.eyebrow){max-width:60ch;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.platform-login-card label{display:grid;grid-gap:7px;gap:7px;color:#4b5951;font-size:12px;font-weight:600}.platform-login-card input{width:100%;height:46px;padding:0 12px;border:1px solid #d7d5ce;border-radius:7px;background:#fff;color:var(--ink);font-size:16px;box-sizing:border-box}.platform-login-card .new-appointment{width:100%;min-height:44px}.platform-login-card>small{color:var(--muted);font-size:10px;line-height:1.5}.platform-topbar>div{display:flex;align-items:center;gap:14px}.platform-topbar>div>span{color:var(--muted);font-size:11px}.platform-content{width:min(1480px,100%);margin:0 auto;padding:clamp(28px,5vw,56px) clamp(14px,4vw,40px)}.platform-heading{margin-bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.platform-heading h1{margin:6px 0 8px;font:600 clamp(32px,4vw,44px)/1 Fraunces,serif;letter-spacing:-.045em}.platform-heading p:not(.eyebrow){max-width:65ch;margin:0;color:var(--muted);font-size:14px;line-height:1.45}.platform-heading>strong{padding:8px 12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.platform-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.platform-table{min-width:1100px}.platform-table th{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--muted);font:600 10px/1.2 DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em}.platform-table td{padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:12px}.platform-table tbody tr:last-child td{border-bottom:0}.platform-table td>small,.platform-table td>span,.platform-table td>strong{display:block}.platform-table td>strong{max-width:220px;margin-bottom:4px;font-size:13px}.platform-table td>small{margin-top:4px;color:var(--muted);font-size:9.5px;line-height:1.35}.platform-table td:last-child{text-align:right}.platform-table td:last-child button{min-width:76px;min-height:36px;height:36px!important;max-height:36px!important;font-size:11px!important}.platform-badge,.platform-status{width:max-content;padding:4px 8px;border-radius:12px;font:600 9.5px/1.2 DM Mono,monospace}.platform-badge.trial{background:#f4ecdc;color:#75591d}.platform-badge.active,.platform-status.active{background:#e5f1e3;color:#315b39}.platform-badge.past_due,.platform-status.suspended{background:#fff0ed;color:#8d3422}.platform-badge.cancelled{background:#ecebea;color:#5e625f}.platform-table td select{display:block;width:142px;min-height:34px;margin-top:7px;padding:0 28px 0 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:11px}.platform-table td select+select{margin-top:5px}@media(max-width:700px){.platform-topbar>div>span{display:none}.platform-content{padding-top:28px}.platform-heading{align-items:flex-start;flex-direction:column}.platform-login-card{padding:26px 20px}}.salon-login{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#fbf8f5}.salon-login-top{width:min(100%,420px);display:flex;justify-content:space-between;gap:12px;font-size:13px}.salon-login-top a{color:#746459;text-decoration:none;font-weight:500}.salon-login-top a:hover{color:#472f22}.salon-login .login-card{border-color:#e8ded4;box-shadow:0 12px 36px rgba(71,47,34,.06)}.salon-login-brand{display:flex;gap:12px}.salon-login-brand strong{display:block;font:600 18px/1.1 Fraunces,serif;color:#251c17}.salon-login-brand small{font-size:12px}.salon-login-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#472f22;color:#fff;font:700 18px/1 Fraunces,serif}.salon-login-lead{margin:-8px 0 4px;color:#746459;font-size:13.5px}.salon-login .new-appointment{height:46px;border:0;border-radius:8px;background:#472f22;color:#fff;font-weight:700;cursor:pointer}.salon-login .new-appointment:disabled{opacity:.7;cursor:wait}.topbar-menu{position:relative}.topbar-menu .topbar-nav-btn.is-open{background:#f1f0eb;border-color:#c8c5ba;color:var(--ink)}.topbar-menu-list{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;padding:6px;background:#fffdfa;border:1px solid #dcd9d1;border-radius:10px;box-shadow:0 14px 36px rgba(26,37,31,.14);z-index:60;display:grid;grid-gap:2px;gap:2px}.topbar-menu-list a,.topbar-menu-list button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:500 13px DM Sans,sans-serif;text-decoration:none;text-align:left;cursor:pointer}.topbar-menu-list a:hover,.topbar-menu-list button:hover{background:#f1f0eb}.topbar-menu-list .icon{width:16px;height:16px;color:#6b7771}.topbar-menu-list .is-danger,.topbar-menu-list .is-danger .icon{color:#a83232}.topbar-menu-head{padding:8px 10px 10px;border-bottom:1px solid #eceae3;margin-bottom:4px;display:grid;grid-gap:2px;gap:2px}.topbar-menu-head strong{font-size:13.5px}.topbar-menu-head small{font-size:11.5px;color:var(--muted)}.topbar-account-btn{width:38px;height:38px;border-radius:50%;border:1px solid #dcd9d1;background:#472f22;color:#fff;font:700 13px DM Sans,sans-serif;cursor:pointer;display:grid;place-items:center;flex:none}.topbar-account-btn.is-open,.topbar-account-btn:hover{box-shadow:0 0 0 3px #eadfd5}@media (max-width:860px){.topbar-menu:has(.topbar-nav-btn){display:none}}.studio-step{display:block;margin-bottom:10px}.studio-template-picker{grid-template-columns:repeat(4,1fr)}@media (max-width:640px){.studio-template-picker{grid-template-columns:repeat(2,1fr)}}.studio-template-icon{font-size:18px;line-height:1;font-family:Fraunces,serif}.studio-photo-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:6px;gap:6px;margin-bottom:8px}@media (max-width:640px){.studio-photo-grid{grid-template-columns:repeat(5,1fr)}}.studio-photo,.studio-photo-none{aspect-ratio:1;border-radius:7px;border:2px solid transparent;cursor:pointer;background-size:cover;background-position:50%;background-color:#efece5;padding:0;transition:transform .12s ease,border-color .12s ease}.studio-photo:hover{transform:scale(1.04)}.studio-photo-none.is-active,.studio-photo.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.studio-photo-none{font-size:10px;font-weight:600;color:#58655e;line-height:1.15}.studio-hint{margin:0 0 4px;font-size:11.5px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.studio-link{border:0;background:none;padding:0;color:#487346;font-size:11.5px;font-weight:600;cursor:pointer;text-decoration:underline}.studio-canvas-frame{position:relative;display:block;line-height:0}.studio-safe-zone{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,rgba(200,40,40,.28) 0 8px,rgba(200,40,40,.14) 8px 16px);color:#fff;font:700 10px/1 DM Sans,sans-serif;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.5)}.studio-safe-zone.is-top{top:0}.studio-safe-zone.is-bottom{bottom:0}.brand-logo{height:44px;width:auto;display:block}.brand-logo-icon{height:26px;width:auto;display:block}.mobile-brand-logo{height:22px;width:auto;display:block}.portal-brand-logo{height:40px;width:auto;display:block}.salon-login-brand{flex-direction:column;align-items:center;gap:6px;text-align:center}.salon-login-brand img{width:200px;height:auto;display:block}.salon-login-brand small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#746459}.salon-login .login-card h1,.salon-login-lead{text-align:center}.salon-login-name{font:600 26px/1.1 Fraunces,serif;letter-spacing:-.03em;color:#251c17}