:root{--color-ink:#241f18;--color-ink-soft:#6b6455;--color-ink-faint:#a39c8c;--color-paper:#fbf8f3;--color-paper-raised:#fff;--color-rule:#e7e0d2;--color-rule-strong:#d8cfbc;--color-accent:#a6741e;--color-accent-soft:#f1e4cc;--font-sans:-apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:auto;min-height:100%}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex;overflow-x:hidden}#root{flex-direction:column;display:flex}.admin-screen{max-width:1000px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.admin-header{border-bottom:2px solid var(--color-rule-strong);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.admin-brand{font-family:var(--font-serif,Georgia, serif);color:var(--color-ink);font-size:1.1rem;font-weight:600}.admin-whoami{color:var(--color-ink-faint);margin-left:.75rem;font-size:.85rem}.admin-tabs{flex-wrap:wrap;gap:4px;margin-bottom:1.25rem;display:flex}.admin-tab{border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink-soft);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:14px}.admin-tab:hover{border-color:var(--color-accent);color:var(--color-accent)}.admin-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint);border-bottom:2px solid var(--color-rule-strong);padding:.5rem .6rem;font-size:.72rem}.admin-table td{border-bottom:1px solid var(--color-rule);vertical-align:top;padding:.55rem .6rem}.admin-mono{font-family:var(--font-mono);font-size:.82rem}.admin-row-muted{color:var(--color-ink-faint)}.admin-tag{border:1px solid var(--color-rule-strong);color:var(--color-ink-faint);border-radius:4px;margin-left:.4rem;padding:.05rem .4rem;font-size:.7rem}.admin-badge{font-family:var(--font-mono);border:1px solid var(--color-rule-strong);color:var(--color-ink-soft);border-radius:999px;padding:.08rem .5rem;font-size:.72rem;display:inline-block}.admin-badge--active{color:#3f7a4e;border-color:#8fbf9c}.admin-badge--suspended,.admin-badge--blocked,.admin-badge--closed{color:#a3402e;border-color:#d8a99f}.admin-muted{color:var(--color-ink-faint)}.admin-error{color:#a3402e;font-size:.9rem}.admin-grant{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:8px;flex-wrap:wrap;gap:8px;margin-bottom:1rem;padding:.9rem;display:flex}.admin-input{font-family:var(--font-sans);border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);border-radius:7px;padding:.45rem .6rem;font-size:.9rem}.admin-grant .admin-input{flex:8rem}.admin-btn{background:var(--color-accent);color:var(--color-paper);cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.admin-btn:hover{background:#8f6119}.admin-btn:disabled{opacity:.6;cursor:default}.admin-btn-ghost{background:var(--color-paper);color:var(--color-ink-soft);border:1px solid var(--color-rule-strong)}.admin-btn-ghost:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-paper)}.admin-btn-danger:hover{color:#a3402e;border-color:#a3402e}.admin-login{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.admin-login-card{background:var(--color-paper-raised);border:1px solid var(--color-rule-strong);border-radius:12px;width:100%;max-width:380px;padding:1.75rem}.admin-login-title{color:var(--color-ink);margin:0 0 .35rem;font-size:1.15rem}.admin-login-sub{color:var(--color-ink-faint);margin:0 0 1.25rem;font-size:.85rem}.admin-login-form{flex-direction:column;gap:.6rem;display:flex}.admin-login-form label{color:var(--color-ink-soft);font-size:.8rem}.admin-devcode{font-family:var(--font-mono);background:var(--color-accent-soft);color:var(--color-accent);border-radius:6px;margin:0;padding:.4rem .6rem;font-size:.85rem}.admin-note{border-left:2px solid var(--color-accent);color:var(--color-ink-soft);margin:0 0 12px;padding:8px 12px;font-size:13px;line-height:1.45}.admin-billing{border-left:2px solid var(--color-accent);background:var(--color-paper-raised);padding:12px 14px}.admin-billing-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.admin-billing-actions{flex-direction:column;gap:8px;margin-top:10px;display:flex}.admin-billing-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-billing-row .admin-input{max-width:220px}.admin-plan-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:10px;margin-bottom:1rem;padding:.9rem;display:grid}.admin-field{color:var(--color-ink-faint);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.admin-field-wide{grid-column:1/-1}.admin-plan-form-actions{grid-column:1/-1;gap:8px;display:flex}.admin-support{flex-direction:column;gap:.75rem;display:flex}.admin-cell-sub{color:var(--color-ink-soft);font-size:.8rem}.admin-link{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;text-decoration:underline}.admin-ticket{flex-direction:column;gap:.6rem;display:flex}.admin-ticket-title{margin:0;font-size:1.05rem}.admin-messages{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.admin-message{background:var(--color-paper);border:1px solid var(--color-rule);border-left:3px solid var(--color-rule-strong);border-radius:8px;flex-direction:column;gap:.25rem;padding:.6rem .9rem;display:flex}.admin-message--support{background:var(--color-accent-soft);border-left-color:var(--color-accent)}.admin-message-body{white-space:pre-wrap;line-height:1.5}.admin-form{flex-direction:column;gap:.6rem;display:flex}.admin-form-actions{flex-wrap:wrap;gap:.6rem;display:flex}.admin-textarea{resize:vertical;min-height:4.5rem;font:inherit;line-height:1.45}.auth-screen{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:32px;display:flex}.auth-title{color:var(--color-ink);margin:0;font-size:20px;font-weight:600}.auth-subtitle{color:var(--color-ink-soft);margin:-8px 0 0;font-size:14px}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--color-ink-soft);font-size:13px}.auth-input{font:inherit;font-family:var(--font-mono);border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);border-radius:8px;padding:10px 12px}.auth-input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.auth-radio-group{flex-direction:column;gap:8px;display:flex}.auth-radio-option{color:var(--color-ink);align-items:center;gap:8px;font-size:14px;display:flex}.auth-button{font:inherit;background:var(--color-accent);color:var(--color-paper);cursor:pointer;text-align:center;border:none;border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none}.auth-button:disabled{opacity:.6;cursor:default}.auth-button-secondary{color:var(--color-accent);background:0 0;align-self:flex-start;padding:4px;font-weight:500;text-decoration:underline}.auth-error{color:#a3342a;margin:0;font-size:13px}.auth-hint{color:var(--color-ink-faint);margin:0;font-size:12px}.membership-list{flex-direction:column;gap:10px;display:flex}.membership-card{border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);cursor:pointer;text-align:left;font:inherit;border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.membership-card:hover{border-color:var(--color-accent)}.membership-card strong{font-size:15px}.membership-card span{color:var(--color-ink-soft);font-size:13px}.home-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.home-info{text-align:center;color:var(--color-ink)}.home-info p{color:var(--color-ink-soft);margin:4px 0}@media (width<=720px){.auth-button,a.auth-button,button.auth-button-secondary,a.auth-button-secondary{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.auth-button-secondary{border:1px solid var(--color-rule-strong);border-radius:8px;padding:10px 14px;text-decoration:none}.auth-input,select.auth-input,textarea.auth-input{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{width:22px;height:22px}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){align-items:center;gap:10px;min-height:44px;display:inline-flex}}.icon{vertical-align:-.125em;flex-shrink:0}.auth-button .icon,.auth-button-secondary .icon{margin-right:6px}.env-banner{z-index:50;text-align:center;letter-spacing:.02em;color:var(--color-paper);background:var(--color-accent);padding:5px 12px;font-size:12.5px;font-weight:600;position:sticky;top:0}.billing-banner{background:var(--color-accent-soft,#f1e4cc);border-bottom:1px solid var(--color-accent);color:var(--color-ink);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.billing-banner--stop{background:#fcebeb;border-bottom-color:#a32d2d}.billing-banner-mark{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);white-space:nowrap;font-size:11px;font-weight:600}.billing-banner--stop .billing-banner-mark{color:#a32d2d}.billing-banner-text{color:var(--color-ink-soft)}.billing-banner-link{color:var(--color-ink);white-space:nowrap;margin-left:auto;font-size:12px}.bell{position:relative}.bell-button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:3px 8px;font-size:16px;line-height:1;position:relative}.bell-button:hover{border-color:var(--color-rule-strong)}.bell-count{background:var(--color-accent);color:#fff8ec;text-align:center;border-radius:8px;min-width:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-2px;right:-2px}.bell-panel{z-index:30;border:1px solid var(--color-rule);background:var(--color-paper-raised);border-radius:10px;width:min(320px,100vw - 32px);max-height:60vh;padding:12px 14px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.bell-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.bell-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.bell-item{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--color-ink-soft);background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex}.bell-item:hover{background:var(--color-accent-soft)}.bell-item--unread{border-left:3px solid var(--color-accent);color:var(--color-ink)}.bell-item-label{font-size:13px;font-weight:500}.bell-item-subject{font-size:12px}.bell-item-when{color:var(--color-ink-faint);font-size:11px}@media (width<=720px){.bell-button{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.bell-panel{width:auto;max-width:none;position:fixed;top:auto;left:12px;right:12px}}.staff-nav{background:var(--color-paper-raised);border-bottom:1px solid var(--color-rule-strong);align-items:center;gap:12px;padding:8px 16px;display:flex;position:relative}.staff-nav-brand{font-family:var(--font-serif,Georgia, serif);color:var(--color-ink);font-size:17px;font-weight:700;display:none}.staff-nav-burger{border:1px solid var(--color-rule-strong);background:var(--color-paper);width:44px;height:44px;color:var(--color-ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;font-size:18px;display:none}.staff-nav-burger:hover{border-color:var(--color-accent);color:var(--color-accent)}.staff-nav-collapse{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.staff-nav-links{flex-wrap:wrap;gap:4px;display:flex}.staff-nav-link{color:var(--color-ink-soft);white-space:nowrap;border-radius:7px;padding:6px 12px;font-size:14px;text-decoration:none}.staff-nav-link:hover{background:var(--color-accent-soft);color:var(--color-accent)}.staff-nav-link--active,.staff-nav-link--active:hover{background:var(--color-accent);color:var(--color-paper)}.staff-nav-right{align-items:center;gap:10px;display:flex}.staff-nav-user{color:var(--color-ink-faint);font-size:13px}.staff-nav-logout{border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink-soft);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:13px}.staff-nav-logout:hover{border-color:var(--color-accent);color:var(--color-accent)}.staff-nav-install{position:relative}.staff-nav-install-btn{border:1px solid var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);cursor:pointer;white-space:nowrap;border-radius:7px;padding:6px 12px;font-size:13px;font-weight:600}.staff-nav-install-btn:hover{background:var(--color-accent);color:var(--color-paper)}.staff-nav-hint{z-index:20;width:max-content;max-width:min(280px,100vw - 24px);color:var(--color-ink-soft);background:var(--color-paper-raised);border:1px solid var(--color-rule-strong);border-radius:8px;padding:8px 11px;font-size:12.5px;line-height:1.45;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #0000001f}.staff-nav-help{color:var(--color-ink-soft);white-space:nowrap;font-size:.9rem;text-decoration:none}.staff-nav-help:hover{color:var(--color-accent);text-decoration:underline}@media (width<=820px){.staff-nav-brand{display:block}.staff-nav-burger{display:inline-flex}.staff-nav-collapse{z-index:30;flex:initial;background:var(--color-paper-raised);border-bottom:1px solid var(--color-rule-strong);flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px 14px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 24px #00000024}.staff-nav-collapse--open{display:flex}.staff-nav-links{flex-direction:column;gap:2px}.staff-nav-link{padding:10px 12px;font-size:15px}.staff-nav-right{border-top:1px solid var(--color-rule);flex-direction:column;align-items:stretch;gap:10px;margin-top:8px;padding-top:10px}.staff-nav-user{color:var(--color-ink-soft);order:-1}.staff-nav-install{position:static}.staff-nav-hint{width:auto;max-width:100%;box-shadow:none;margin-top:6px;position:static}}.staff-nav-report{color:var(--color-accent);white-space:nowrap;border:1px solid var(--color-accent);border-radius:6px;padding:3px 10px;font-size:.9rem;text-decoration:none}.staff-nav-report:hover{background:var(--color-accent);color:var(--color-paper)}.staff-nav-tabs{display:none}.staff-nav-bell-outer{order:3;margin-left:8px;display:inline-flex}@media (width<=820px){.staff-nav-bell-outer{order:0;margin-left:auto}.staff-nav-burger{gap:6px;width:auto;margin-left:0;padding:0 12px;font-size:14px}.staff-nav-tabs{left:0;right:0;bottom:env(safe-area-inset-bottom,0px);z-index:25;background:var(--color-paper-raised);border-top:1px solid var(--color-rule-strong);grid-template-columns:repeat(4,1fr);height:52px;display:grid;position:fixed;box-shadow:0 -6px 18px #00000014}.staff-nav-tab{text-align:center;height:100%;color:var(--color-ink-soft);border-top:2px solid #0000;justify-content:center;align-items:center;padding:4px 2px;font-size:12.5px;text-decoration:none;display:flex}.staff-nav-tab--active{color:var(--color-accent);border-top-color:var(--color-accent);font-weight:600}body{padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}.staff-nav-report{order:-2}}@media (width<=820px) and (orientation:landscape){.staff-nav-tabs{height:44px}body{padding-bottom:calc(44px + env(safe-area-inset-bottom,0px))}}@media (width<=820px){.staff-nav-collapse .staff-nav-links{display:none}.staff-nav-right{border-top:none;margin-top:0;padding-top:0}}.support-banner{z-index:50;background:var(--color-accent-soft,#f1e4cc);border-bottom:1px solid var(--color-accent);color:var(--color-ink);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex;position:sticky;top:0}.support-banner-mark{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);font-size:11px;font-weight:600}.support-banner-text{color:var(--color-ink-soft)}.support-banner-exit{border:1px solid var(--color-accent);color:var(--color-ink);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:4px 10px;font-size:12px}.support-banner-exit:hover{background:var(--color-paper-raised)}.confirm-backdrop{z-index:60;background:#1c191573;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-box{background:var(--color-paper);border:1px solid var(--color-rule-strong);border-radius:12px;width:min(26rem,100%);padding:20px;box-shadow:0 12px 40px #1c191540}.confirm-title{font-family:var(--font-serif,var(--font-sans));color:var(--color-ink);margin:0 0 8px;font-size:1.05rem}.confirm-text{color:var(--color-ink-faint);margin:0 0 16px;font-size:.9rem;line-height:1.45}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-danger{background:#a3402e}button.is-locked,a.is-locked,.is-locked{background:var(--color-rule);border-color:var(--color-rule-strong);color:var(--color-ink-faint);cursor:not-allowed;opacity:.7;pointer-events:auto}a.is-locked{text-decoration:none}.section-tabs{border-bottom:1px solid var(--color-rule);flex-wrap:wrap;gap:4px;margin:0 0 1.25rem;display:flex}.section-tab{color:var(--color-ink-soft);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:14px;text-decoration:none}.section-tab:hover{color:var(--color-ink)}.section-tab--active{color:var(--color-ink);border-bottom-color:var(--color-accent);font-weight:500}@media (width<=560px){.section-tabs{gap:2px}.section-tab{align-items:center;min-height:44px;padding:0 10px;font-size:13px;display:inline-flex}}.availability-screen{flex-direction:column;flex:1;gap:20px;width:100%;max-width:640px;margin:0 auto;padding:24px;display:flex}.availability-header{grid-template-columns:1fr auto;align-items:center;gap:8px 16px;display:grid}.availability-header .auth-title{order:2;grid-column:1/-1}.availability-back{color:var(--color-accent);order:1;font-size:14px;text-decoration:none}.availability-back:hover{text-decoration:underline}.availability-header .auth-button{order:3;grid-area:2/2;justify-self:end}.availability-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:14px;padding:24px;display:flex}.availability-form-title{color:var(--color-ink);margin:0;font-size:16px;font-weight:600}.availability-row{gap:14px;display:flex}.availability-row .auth-field{flex:1;min-width:0}.availability-form-actions{align-items:center;gap:12px;display:flex}.availability-readonly{color:var(--color-ink);margin:0;font-size:14px}.availability-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.availability-card{border:1px solid var(--color-rule-strong);background:var(--color-paper-raised);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.availability-info{flex-direction:column;gap:3px;min-width:0;display:flex}.availability-info strong{color:var(--color-ink);align-items:center;gap:8px;font-size:15px;display:flex}.availability-info span{color:var(--color-ink-soft);font-size:13px;font-family:var(--font-mono)}.availability-validity{color:var(--color-ink-faint)!important;font-size:12px!important}.availability-room{font-family:var(--font-sans);color:var(--color-ink-faint);border:1px solid var(--color-rule-strong);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.availability-actions{flex-shrink:0;gap:4px;display:flex}.availability-delete{color:#a3342a}.availability-days{flex-wrap:wrap;gap:6px;display:flex}.availability-day{border:1px solid var(--color-rule-strong);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:14px;display:inline-flex}.availability-day--on{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.availability-day input{margin:0}.availability-hint{color:var(--color-ink-faint);margin:6px 0 0;font-size:12px}.availability-break{margin:4px 0}.availability-check{cursor:pointer;align-items:center;gap:7px;font-size:14px;display:inline-flex}.availability-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-screen{flex-direction:column;flex:1;gap:16px;width:100%;min-width:0;max-width:1180px;margin:0 auto;padding:20px 24px;display:flex}.cal-header{grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;gap:10px 18px;display:grid}.cal-header>*{min-width:0}.cal-back{color:var(--color-accent);grid-area:1/1;font-size:14px;text-decoration:none}.cal-back:hover{text-decoration:underline}.cal-title-group{grid-area:2/1;align-items:baseline;gap:12px;display:flex}.cal-studio{letter-spacing:-.01em;font-size:20px;font-weight:600}.cal-subtitle{color:var(--color-ink-faint);font-size:13px}.cal-nav{flex-wrap:nowrap;grid-area:2/2;justify-content:center;justify-self:center;align-items:center;gap:10px;display:flex}.cal-navbtn{border:1px solid var(--color-rule);background:var(--color-paper-raised);width:30px;height:30px;color:var(--color-ink-soft);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.cal-navbtn:hover{background:#f1ece0}.cal-period{text-align:center;flex:0 210px;min-width:0;font-size:15px;font-weight:500}.cal-period:first-letter{text-transform:uppercase}.cal-today{border:1px solid var(--color-rule);background:var(--color-paper-raised);color:var(--color-ink-soft);font:inherit;cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px}.cal-today:hover{background:#f1ece0}.cal-header-right{flex-wrap:wrap;grid-area:2/3;justify-content:flex-end;align-items:center;gap:10px;display:flex}.cal-viewtoggle{border:1px solid var(--color-rule);border-radius:8px;display:flex;overflow:hidden}.cal-viewtoggle button{font:inherit;cursor:pointer;color:var(--color-ink-soft);background:0 0;border:none;padding:7px 16px;font-size:13px;font-weight:500}.cal-viewtoggle button:hover{background:#f1ece0}.cal-viewtoggle .cal-view-active{background:var(--color-accent-soft);color:#7a5313}.cal-primary{background:var(--color-accent);color:#fff8ec;font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600}.cal-primary:hover{background:#8f6119}.cal-list-error{margin:0}.cal-body{align-items:flex-start;gap:18px;min-width:0;display:flex}.cal-sidebar{border:1px solid var(--color-rule);background:var(--color-paper-raised);border-radius:12px;flex-shrink:0;width:210px;padding:16px 16px 18px}.cal-side-title{color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:600}.cal-side-title:not(:first-child){margin-top:20px}.cal-mini{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-mini-wd{color:var(--color-ink-faint);text-align:center;padding-bottom:4px;font-size:10px}.cal-mini-cell{aspect-ratio:1;font-family:var(--font-mono);color:var(--color-ink-soft);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:flex}.cal-mini-day{cursor:pointer}.cal-mini-day:hover{background:var(--color-accent-soft);color:var(--color-ink)}.cal-mini-today{color:var(--color-accent);font-weight:600}.cal-mini-selected{background:var(--color-accent);color:#fff8ec;font-weight:600}.cal-mini-selected:hover{background:var(--color-accent);color:#fff8ec}.cal-filter{flex-direction:column;gap:9px;display:flex}.cal-filter-row{cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}.cal-filter-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.cal-filter-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cal-filter-empty{color:var(--color-ink-faint);font-size:13px}.cal-legend{flex-direction:column;gap:8px;display:flex}.cal-legend-row{color:var(--color-ink-soft);align-items:center;gap:9px;font-size:12px;display:flex}.cal-legend-sw{box-sizing:border-box;border-radius:4px;flex-shrink:0;width:14px;height:14px}.cal-legend-booked{border:1px solid var(--color-rule-strong);background:var(--color-paper-raised)}.cal-legend-attended{background:#eef3ec;border:1px solid #3e5640}.cal-legend-requested{border:1px dashed var(--color-ink-faint);background:var(--color-paper-raised)}.cal-legend-cancelled{background:#fcebeb;border:1px dashed #a32d2d}.cal-gridwrap{border:1px solid var(--color-rule);background:var(--color-paper-raised);border-radius:12px;flex:1;min-width:0;overflow:auto}.cal-grid{padding:12px 16px 16px;display:flex}.cal-grid-day .cal-canvas{min-width:480px}.cal-grid-week .cal-canvas{min-width:700px}.cal-axis{flex-shrink:0;width:48px}.cal-axis-body{position:relative}.cal-axis-label{font-family:var(--font-mono);color:var(--color-ink-faint);font-size:11px;position:absolute;right:8px}.cal-canvas{flex:1;display:flex}.cal-col{border-left:1px solid var(--color-rule);flex:1;min-width:0;position:relative}.cal-col-today{background:#fbf3e3}.cal-col-head{border-bottom:1px solid var(--color-rule-strong);box-sizing:border-box;align-items:center;gap:6px;height:34px;padding:0 10px;display:flex}.cal-col-head-week{justify-content:center}.cal-axis-head{border-bottom:none}.cal-col-dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}.cal-col-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.cal-wd{color:var(--color-ink-faint);text-transform:uppercase;font-size:11px}.cal-wd-num{font-family:var(--font-mono);font-size:12px}.cal-col-today .cal-wd,.cal-col-today .cal-wd-num{color:var(--color-accent);font-weight:700}.cal-col-body{background-image:repeating-linear-gradient(to bottom, var(--color-rule) 0, var(--color-rule) 1px, transparent 1px, transparent var(--hour-px)), repeating-linear-gradient(to bottom, #f0ebdf 0, #f0ebdf 1px, transparent 1px, transparent calc(var(--hour-px) / 2));position:relative}.cal-col-empty{text-align:center;color:var(--color-ink-faint);font-size:11px;position:absolute;top:14px;left:0;right:0}.cal-card{box-sizing:border-box;border:1px solid var(--color-rule-strong);border-left:3px solid var(--color-ink-faint);background:var(--color-paper-raised);text-align:left;cursor:pointer;font:inherit;border-radius:7px;flex-direction:column;gap:1px;padding:5px 8px;display:flex;position:absolute;overflow:hidden}.cal-card:hover{box-shadow:0 1px 4px #241f181f}.cal-card-title{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;line-height:1.25;overflow:hidden}.cal-card-sub{color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.cal-card-time{font-family:var(--font-mono);color:var(--color-ink-faint);white-space:nowrap;font-size:10px}.cal-card-attended{background:#eef3ec;border-color:#3e5640}.cal-card-requested{border-style:dashed;border-color:var(--color-ink-faint)}.cal-card-cancelled{background:#fcebeb;border:1px dashed #a32d2d;border-left:3px solid #a32d2d}.cal-card-cancelled .cal-card-title{color:#791f1f;text-decoration:line-through}.cal-card-cancelled .cal-card-sub{color:#a32d2d}.cal-card-selected{outline:2px solid var(--color-accent);outline-offset:-1px;box-shadow:0 1px 6px #241f182e}.cal-card-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cal-card-dragging{cursor:grabbing;z-index:10;opacity:.95;box-shadow:0 6px 16px #241f183d}.cal-card-resize{cursor:ns-resize;touch-action:none;height:9px;position:absolute;bottom:0;left:0;right:0}.cal-card-resize:after{content:"";background:var(--color-ink-faint);opacity:0;border-radius:2px;width:22px;height:2px;margin:3px auto 0;display:block}.cal-card-draggable:hover .cal-card-resize:after{opacity:.55}.cal-now{border-top:1.5px dashed var(--color-accent);z-index:5;pointer-events:none;position:absolute;left:-1px;right:0}.cal-now-dot{background:var(--color-accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-3px}.cal-loading{margin:0;padding:10px 16px}.cal-modal-backdrop{z-index:50;background:#241f1859;justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.cal-modal{width:100%;max-width:440px;margin:auto 0;box-shadow:0 12px 40px #241f184d}.cal-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:14px;padding:20px 24px;display:flex}.cal-form-title{color:var(--color-ink);align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;display:flex}.cal-row{flex-wrap:wrap;gap:12px;display:flex}.cal-row .auth-field{flex:1;min-width:120px}.cal-form-actions{align-items:center;gap:12px;display:flex}.cal-detail{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.cal-detail-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.cal-badge{color:#a32d2d;border:1px solid #e2b8b8;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.cal-detail-meta{color:var(--color-ink-soft);margin:0;font-size:13px}.cal-bookings{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cal-booking{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.cal-booking-actions{gap:6px;display:flex}.cal-detail-actions{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.cal-reschedule{flex-direction:column;gap:12px;width:100%;display:flex}.cal-cancel{color:#a3342a}@media (width<=720px){.cal-body{flex-direction:column}.cal-sidebar{box-sizing:border-box;width:100%}}.cal-sidebar-toggle{background:var(--color-paper);color:var(--color-ink-soft);border:1px solid var(--color-rule-strong);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:13px;display:none}.cal-sidebar-toggle:hover,.cal-sidebar-toggle[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.cal-legend-bar{border:1px solid var(--color-rule);background:var(--color-paper-raised);color:var(--color-ink-soft);border-radius:10px;flex-wrap:wrap;gap:8px 18px;margin-top:12px;padding:10px 14px;font-size:12.5px;display:flex}.cal-legend-item{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}@media (orientation:portrait){.cal-sidebar{display:none}.cal-body--sidebar-open .cal-sidebar{display:block}.cal-sidebar-toggle{display:inline-flex}}.cal-block{z-index:1;border:1px dashed var(--color-rule-strong);background-color:color-mix(in srgb, var(--color-ink-faint) 14%, transparent);background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--color-ink-faint) 22%, transparent) 0, color-mix(in srgb, var(--color-ink-faint) 22%, transparent) 5px, transparent 5px, transparent 10px);pointer-events:none;border-radius:5px;position:absolute;left:2px;right:2px;overflow:hidden}.cal-block-label{color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;padding:2px 5px;font-size:10.5px;display:block;overflow:hidden}.cal-mini-day{border:1px solid var(--color-rule);flex-direction:column;gap:2px;position:relative;overflow:hidden}.cal-mini-num{position:relative}.cal-mini-off{color:var(--color-ink-faint);background-image:repeating-linear-gradient(-45deg,#0000 0 3px,#a39c8c29 3px 4px)}.cal-mini-fill:before{content:"";height:var(--cal-load,0%);background:var(--color-accent-soft);border-top:1px solid #a6741e73;position:absolute;bottom:0;left:0;right:0}.cal-mini-hatch-1{background-image:repeating-linear-gradient(45deg,#0000 0 7px,#a6741e8c 7px 8px)}.cal-mini-hatch-2{background-image:repeating-linear-gradient(45deg,#0000 0 4px,#a6741e99 4px 5px)}.cal-mini-hatch-3{background-image:repeating-linear-gradient(45deg,#0000 0 2px,#a6741ea6 2px 3px)}.cal-mini-hatch-4{background-image:repeating-linear-gradient(45deg,#a6741e2e 0 1px,#a6741eb3 1px 2px)}.cal-mini-density{background-color:rgba(166, 116, 30, var(--cal-alpha,0))}.cal-mini-pips{gap:2px;height:3px;display:flex}.cal-mini-pip{background:var(--color-accent);border-radius:50%;width:3px;height:3px}.cal-mini-selected .cal-mini-pip{background:#fff8ec}.cal-load-legend{flex-direction:column;gap:4px;margin-top:10px;display:flex}.cal-load-legend-caption{text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint);font-size:10px}.cal-load-scale{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.cal-load-scale>span{border:1px solid var(--color-rule);border-radius:3px;height:14px}.cal-load-scale-labels{color:var(--color-ink-faint);justify-content:space-between;font-size:10px;display:flex}.cal-load-legend-off{color:var(--color-ink-faint);align-items:center;gap:6px;font-size:11px;display:flex}.cal-load-legend-off>.cal-mini-off{border:1px solid var(--color-rule);border-radius:3px;width:14px;height:14px}.cal-reschedule-panel{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-left:3px solid var(--color-accent);border-radius:8px;margin:0 0 10px;padding:10px 12px}.cal-reschedule-title{color:var(--color-ink);margin:0 0 8px;font-size:.9rem}.cal-reschedule-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cal-reschedule-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.cal-reschedule-muted{color:var(--color-ink-faint);font-size:.8rem}.cal-reschedule-options{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.cal-reschedule-option{font-family:var(--font-mono);border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.8rem}.cal-reschedule-option.is-picked{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.cal-reschedule-actions{gap:8px;display:flex}.cal-seats{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:8px;margin:8px 0;padding:8px 10px}.cal-seats-line{color:var(--color-ink);margin:0 0 8px;font-size:.85rem}.cal-seats-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-seats-form .auth-input{flex:10rem}.cal-waitlist{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.cal-waitlist li{justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-payment{border-top:1px dashed var(--color-rule);flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;font-size:.8rem;display:flex}.cal-payment-line{color:var(--color-ink);margin:0}.cal-payment-note{color:var(--color-ink-faint)}.cal-payment-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-payment-form .auth-input{flex:0 7rem}.cal-linklike{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.cal-income{border:1px solid var(--color-rule);border-left:3px solid var(--color-accent);background:var(--color-paper-raised);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:18px;margin-top:8px;padding:8px 12px;font-size:.85rem;display:flex}.cal-income-item{align-items:baseline;gap:6px;display:flex}.cal-income-label{color:var(--color-ink-faint)}.cal-income-note{color:var(--color-ink-faint);font-size:.78rem}.cal-income-link{color:var(--color-accent);margin-left:auto}.cal-repeat{cursor:pointer;align-items:center;gap:.45rem;font-size:.9rem;display:flex}.cal-series-note{margin:.25rem 0}.cal-visit-row-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-visit-row-controls select{flex:160px;min-width:0}.cal-add-service{align-self:flex-start;margin:-4px 0 4px}.cal-visit-total{margin:0 0 8px}.cal-visit-block{border:1px dashed var(--color-rule-strong);border-radius:8px;flex-direction:column;gap:8px;margin:10px 0;padding:10px;display:flex}.cal-visit-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-visit-add select{flex:180px;min-width:0}@media (width<=560px){.cal-nav{flex-wrap:wrap;justify-content:center;row-gap:6px}.cal-period{text-align:center;flex-basis:100%}}.cal-gridwrap{flex:1 1 0;min-width:0;max-width:100%}@media (width<=720px){.cal-gridwrap{flex:auto;width:100%}}@media (width<=560px){.cal-header-right{flex-wrap:wrap;justify-content:flex-start;row-gap:6px}.cal-screen,.cal-main{min-width:0}.cal-header{grid-template-columns:1fr}.cal-header>*{grid-area:auto/1!important}.cal-nav,.cal-header-right{justify-content:flex-start;justify-self:stretch}.cal-period{text-align:left;flex-basis:auto}}.cal-taskblock{border:1px dashed var(--color-accent);border-left:3px solid var(--color-accent);background:var(--color-accent-soft);color:#7a5313;font:inherit;text-align:left;cursor:pointer;border-radius:6px;padding:2px 6px;font-size:11px;position:absolute;left:2px;right:2px;overflow:hidden}.cal-taskblock--done{opacity:.55;border-style:solid}.cal-col-body--clickable{cursor:cell}.cal-slotmenu-backdrop{z-index:40;position:fixed;inset:0}.cal-slotmenu{z-index:41;border:1px solid var(--color-rule-strong);background:var(--color-paper-raised);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:fixed;transform:translate(-8px,-8px);box-shadow:0 6px 20px #281e0f2e}.cal-slotmenu-time{font-family:var(--font-mono);color:var(--color-ink-soft);font-size:13px}.cal-slotmenu .auth-button{white-space:nowrap;padding:6px 12px;font-size:13px}.cal-client-search{margin-bottom:8px}@media (width<=720px){.cal-navbtn{width:44px;height:44px;font-size:18px}.cal-today,.cal-sidebar-toggle,.cal-primary{min-height:44px}.cal-viewtoggle button{min-height:44px;padding:0 18px}}.cal-booking-contact{flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:13px;display:flex}.cal-booking-phone{color:var(--color-accent);font-variant-numeric:tabular-nums;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.cal-booking-nophone{color:var(--color-ink-faint)}.cal-booking-card{color:var(--color-ink-soft)}.cal-booking-note{border-left:2px solid var(--color-accent);color:var(--color-ink-soft);padding:2px 0 2px 8px;font-size:13px}@media (width<=720px){.cal-booking-phone,.cal-booking-card{align-items:center;min-height:44px;display:inline-flex}}.cal-listwrap{flex-direction:column;flex:1 1 0;gap:18px;min-width:0;display:flex;overflow:auto}.cal-list-day{flex-direction:column;gap:6px;display:flex}.cal-list-date{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint);border-bottom:1px solid var(--color-rule);margin:0;padding-bottom:4px;font-size:13px;font-weight:600}.cal-list-date-today{color:var(--color-accent);border-bottom-color:var(--color-accent)}.cal-list-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cal-list-item{background:var(--color-paper);border:1px solid var(--color-rule);width:100%;font:inherit;text-align:left;cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;padding:10px 12px 10px 0;display:flex;overflow:hidden}.cal-list-stroke{flex:0 0 4px;align-self:stretch}.cal-list-time{font-family:var(--font-mono,monospace);color:var(--color-ink-soft);font-variant-numeric:tabular-nums;flex:none;padding-top:1px;font-size:13px}.cal-list-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.cal-list-client{color:var(--color-ink);font-weight:600}.cal-list-meta,.cal-list-status{color:var(--color-ink-faint);font-size:12px}.cal-list-status{flex:none;padding-top:2px}.cal-list-attended{background:var(--color-success-bg,#7896641f)}.cal-list-requested{border-style:dashed}.cal-list-cancelled{opacity:.55}.cal-list-cancelled .cal-list-client{text-decoration:line-through}.cal-list-empty{color:var(--color-ink-faint);font-size:14px}@media (width<=720px){.cal-list-item{flex-wrap:wrap;min-height:56px}.cal-list-status{flex-basis:100%;padding-left:14px}}.cal-label-short{display:none}@media (width<=720px){.cal-studio{display:none}.cal-subtitle{font-size:15px}.cal-header{gap:8px 10px}.cal-screen{gap:12px;padding:12px 14px}.cal-label-full{display:none}.cal-label-short{display:inline}.cal-header-right{gap:6px 8px}.cal-viewtoggle button,.cal-primary,.cal-today,.cal-sidebar-toggle{padding:8px 10px;font-size:13px}.cal-viewtoggle button,.cal-primary,.cal-today,.cal-sidebar-toggle,.cal-navbtn{min-height:44px}}@media (width<=560px){.cal-nav{flex-wrap:nowrap;justify-content:flex-start}.cal-period{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:13px;overflow:hidden}.cal-navbtn{padding-left:6px;padding-right:6px}}@media (width<=720px){.cal-income-link{align-items:center;min-height:44px;display:inline-flex}}.cal-block--free{border-color:var(--color-rule);opacity:.75;background-color:#0000;background-image:none}.cal-block--outside{border-left:3px solid var(--color-accent);opacity:.9}.cal-detail--modal{width:100%;max-width:520px;margin:auto 0;box-shadow:0 12px 40px #241f184d}@media (width<=720px){.cal-modal-backdrop{padding:16px 10px}.cal-detail--modal{padding:16px 14px}.cal-header-right{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cal-viewtoggle{width:100%}.cal-viewtoggle button{flex:1;padding-left:4px;padding-right:4px}.cal-actions{grid-column:1/-1}.cal-actions .cal-primary{flex:1}}.cal-actions{align-items:center;gap:8px;display:flex}.clients-screen{flex-direction:column;flex:1;gap:20px;width:100%;max-width:640px;margin:0 auto;padding:24px;display:flex}.clients-header{grid-template-columns:1fr auto;align-items:center;gap:8px 16px;display:grid}.clients-header .auth-title{order:2;grid-column:1/-1}.clients-back{color:var(--color-accent);order:1;font-size:14px;text-decoration:none}.clients-back:hover{text-decoration:underline}.clients-header .auth-button{order:3;grid-area:2/2;justify-self:end}.clients-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:14px;padding:24px;display:flex}.clients-form-title{color:var(--color-ink);margin:0;font-size:16px;font-weight:600}.clients-form-actions{align-items:center;gap:12px;display:flex}.clients-textarea{resize:vertical;font-family:inherit}.clients-readonly{color:var(--color-ink);font-family:var(--font-mono);margin:0;font-size:14px}.clients-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.client-card{border:1px solid var(--color-rule-strong);background:var(--color-paper-raised);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.client-info{flex-direction:column;gap:3px;min-width:0;display:flex}.client-info strong{color:var(--color-ink);align-items:center;gap:8px;font-size:15px;display:flex}.client-info span{color:var(--color-ink-soft);font-size:13px;font-family:var(--font-mono)}.client-notes{text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden;font-family:var(--font-sans)!important;color:var(--color-ink-faint)!important}.client-badge{font-family:var(--font-sans);color:var(--color-ink-faint);border:1px solid var(--color-rule-strong);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.client-badge-sub{color:var(--color-accent);border-color:var(--color-accent)}.client-actions{flex-shrink:0;gap:4px;display:flex}.client-delete{color:#a3342a}.relations-panel{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:18px;padding:24px;display:flex}.relations-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.relations-group{flex-direction:column;gap:10px;display:flex}.relations-group-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.relations-group-title{color:var(--color-ink);margin:0;font-size:14px;font-weight:600}.relations-form{border:1px solid var(--color-rule);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.relations-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.relation-card{border:1px solid var(--color-rule-strong);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.relation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.relation-info{flex-direction:column;gap:3px;min-width:0;display:flex}.relation-info strong{color:var(--color-ink);align-items:center;gap:8px;font-size:14px;display:flex}.relation-info span{color:var(--color-ink-soft);font-size:12px}.relation-badge{color:var(--color-ink-faint);border:1px solid var(--color-rule-strong);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.clients-notes-warning{border-left:2px solid var(--color-accent);color:var(--color-ink-soft);margin:6px 0 0;padding-left:8px;font-size:12px;line-height:1.45}.subscription-attach{border-left:2px solid var(--color-accent);background:var(--color-paper-raised);flex-direction:column;gap:6px;margin-top:8px;padding:10px 12px;display:flex}.subscription-attach-item{color:var(--color-ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.clients-consent{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.clients-consent input{flex-shrink:0;margin-top:3px}.clients-consent-label{color:var(--color-ink);font-size:14px;display:block}.clients-consent-hint{color:var(--color-ink-soft);margin-top:2px;font-size:12px;line-height:1.45;display:block}.relation-consent{color:var(--color-ink-soft);font-size:12px;display:block}.clients-check{color:var(--color-ink);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.pay-unpaid{border:1px solid var(--color-rule);border-left:3px solid var(--color-accent);background:var(--color-paper-raised);border-radius:8px;padding:12px 14px}.pay-unpaid-list{flex-direction:column;gap:6px;max-height:280px;margin:8px 0;padding:0;list-style:none;display:flex;overflow-y:auto}.subscription-empty-why{margin:4px 0 0;padding-left:18px}.subscription-empty-why li{margin:2px 0}.client-card{flex-wrap:wrap}.client-info{flex:220px}.client-actions{flex-wrap:wrap}.client-card>.relations-panel,.client-card>.subscriptions-panel{flex-basis:100%;width:100%;min-width:0}@media (width<=560px){.client-card{align-items:flex-start}.client-actions{width:100%}.client-actions .auth-button{flex:auto}.relations-panel,.subscriptions-panel{padding:14px}.client-info strong,.client-notes{overflow-wrap:anywhere}}.client-merge{border:1px dashed var(--color-rule-strong);border-radius:8px;flex-basis:100%;width:100%;min-width:0;margin-top:6px;padding:10px}.client-merge-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.client-merge-row .auth-input{flex:200px;min-width:0}.clients-merge-note{color:var(--color-accent)}.subscription-rejected{margin-top:8px}.subscription-family{color:var(--color-accent);font-size:13px}.subscription-participants{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.subscription-participants li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.subscription-family-pick{align-items:center}.client-phone{color:var(--color-accent);text-decoration:none}.client-phone:hover{text-decoration:underline}.clients-empty{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.clients-more{justify-content:center;margin-top:14px;display:flex}.client-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.client-actions-more{border-top:1px dashed var(--color-rule);margin-top:8px;padding-top:8px}.client-phone{align-items:center;gap:6px;display:inline-flex}@media (width<=720px){.client-phone{min-height:40px}}.client-badge-family{border-color:var(--color-accent);color:var(--color-accent)}.client-family{font:inherit;color:var(--color-accent);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.client-family:hover{text-decoration:underline}.client-modal-backdrop{z-index:50;background:#241f1859;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.client-modal{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:640px;margin:auto 0;padding:20px 24px;display:flex;box-shadow:0 12px 40px #241f184d}.client-modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.client-tabs{border-bottom:1px solid var(--color-rule);flex-wrap:wrap;gap:4px;display:flex}.client-tab{font:inherit;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-size:14px}.client-tab:hover{color:var(--color-accent)}.client-tab--on{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.client-modal-body{flex-direction:column;gap:14px;display:flex}.client-overview{flex-direction:column;gap:16px;display:flex}.client-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;display:grid}.client-facts div{flex-direction:column;gap:2px;display:flex}.client-facts-wide{grid-column:1/-1}.client-facts dt{color:var(--color-ink-faint);font-size:12px}.client-facts dd{margin:0;font-size:14px}.client-danger{border-top:1px solid var(--color-rule);flex-direction:column;gap:8px;padding-top:12px;display:flex}.clients-form--inline{box-shadow:none;background:0 0;border:none;padding:0}@media (width<=720px){.client-modal-backdrop{padding:12px 10px}.client-modal{padding:16px 14px}.client-facts{grid-template-columns:minmax(0,1fr)}}.crm-screen{max-width:920px;margin:0 auto;padding:2rem 1.25rem 4rem}.crm-header{margin-bottom:1.5rem}.crm-back{color:var(--color-ink-soft);font-family:var(--font-mono);margin-bottom:.75rem;font-size:.85rem;text-decoration:none;display:inline-block}.crm-back:hover{color:var(--color-accent)}.crm-muted{color:var(--color-ink-faint);font-size:.9rem}.crm-error{color:#a3402e;font-size:.9rem}.crm-birthdays{background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:8px;margin-bottom:1.25rem;padding:.9rem 1.25rem}.crm-birthdays-head{margin-bottom:.5rem}.crm-birthdays-title{color:var(--color-ink);font-weight:600}.crm-birthday-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.crm-birthday-btn{text-align:left;cursor:pointer;width:100%;color:var(--color-ink);background:0 0;border:none;border-radius:5px;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.3rem .4rem;display:flex}.crm-birthday-btn:hover{background:var(--color-paper)}.crm-birthday-name{font-weight:600}.crm-birthday-when{font-family:var(--font-mono);color:var(--color-ink-soft);font-size:.8rem}.crm-controls{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.crm-field{flex-direction:column;gap:.35rem;display:flex}.crm-field-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint);font-size:.72rem}.crm-select,.crm-days-input{font-family:var(--font-sans);border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);border-radius:6px;padding:.4rem .55rem;font-size:.9rem}.crm-gap{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.crm-days-input{text-align:center;width:3.5rem}.crm-dash{color:var(--color-ink-faint)}.crm-apply{width:auto;margin:0;padding:.4rem .9rem;font-size:.85rem}.crm-checkbox{color:var(--color-ink-soft);align-items:center;gap:.45rem;font-size:.9rem;display:flex}.crm-table{border-collapse:collapse;width:100%;font-size:.92rem}.crm-table th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint);border-bottom:2px solid var(--color-rule-strong);padding:.5rem .6rem;font-size:.72rem}.crm-table td{border-bottom:1px solid var(--color-rule);vertical-align:top;padding:.6rem}.crm-num{text-align:right;font-family:var(--font-mono)}.crm-row{cursor:pointer}.crm-row:hover{background:var(--color-accent-soft)}.crm-name{color:var(--color-ink);font-weight:600;display:block}.crm-phone{font-family:var(--font-mono);color:var(--color-ink-faint);font-size:.78rem;display:block}.crm-badge{font-family:var(--font-mono);color:var(--color-ink-soft);background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:4px;margin-left:.5rem;padding:.08rem .4rem;font-size:.72rem;display:inline-block}.crm-badge--birthday{color:var(--color-accent);border-color:var(--color-accent)}.crm-panel{background:var(--color-paper-raised);border:1px solid var(--color-rule-strong);border-radius:10px;margin-top:1.75rem;padding:1.25rem 1.5rem 1.75rem}.crm-panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.crm-panel-title{color:var(--color-ink);margin:0;font-size:1.15rem}.crm-close{width:auto;margin:0;padding:.35rem .9rem;font-size:.82rem}.crm-summary{border-bottom:1px solid var(--color-rule);flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.crm-stat{flex-direction:column;gap:.15rem;display:flex}.crm-stat-value{font-family:var(--font-mono);color:var(--color-ink);font-size:1.05rem}.crm-stat-label{color:var(--color-ink-faint);font-size:.78rem}.crm-grid-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.crm-year-switch{gap:.35rem;display:flex}.crm-year-btn{font-family:var(--font-mono);border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink-soft);cursor:pointer;border-radius:5px;padding:.2rem .6rem;font-size:.82rem}.crm-year-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.crm-year-grid{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:8px;grid-template-columns:repeat(12,1fr);gap:4px;padding:.75rem;display:grid;overflow-x:auto}.crm-month-col{flex-direction:column;align-items:center;gap:.3rem;min-width:32px;display:flex}.crm-weeks{flex-direction:column;gap:3px;width:100%;display:flex}.crm-cell{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:2px;height:12px}.crm-cell--l1{background:var(--color-accent-soft);border-color:var(--color-accent-soft)}.crm-cell--l2{background:var(--color-accent);border-color:var(--color-accent);opacity:.7}.crm-cell--l3{background:var(--color-accent);border-color:var(--color-accent)}.crm-month-label{font-family:var(--font-mono);color:var(--color-ink-faint);font-size:.68rem}.crm-history-list{margin:1.25rem 0 0;padding:0;list-style:none}.crm-history-item{border-bottom:1px solid var(--color-rule);grid-template-columns:14px 7rem 1fr auto auto;align-items:center;gap:.6rem;padding:.45rem .2rem;font-size:.88rem;display:grid}.crm-history-item--muted{color:var(--color-ink-faint)}.crm-dot{border:1px solid var(--color-rule-strong);border-radius:50%;width:8px;height:8px}.crm-dot--on{background:var(--color-accent);border-color:var(--color-accent)}.crm-history-date{font-family:var(--font-mono);font-size:.8rem}.crm-history-staff{color:var(--color-ink-faint);font-size:.82rem}.crm-history-status{font-family:var(--font-mono);color:var(--color-ink-soft);text-align:right;font-size:.75rem}@media (width<=640px){.crm-history-item{grid-template-columns:12px 1fr auto;row-gap:.15rem}.crm-history-staff{display:none}}.crm-revenue{border:1px solid var(--color-rule);border-left:3px solid var(--color-accent);background:var(--color-paper-raised);border-radius:8px;padding:12px 14px}.crm-subtitle{color:var(--color-ink);margin:0 0 8px;font-size:.9rem}.crm-revenue-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.crm-revenue-list li{align-items:baseline;gap:10px;display:flex}.crm-revenue-list strong{font-family:var(--font-mono);color:var(--color-accent);margin-left:auto}.crm-screen{width:100%;min-width:0}@media (width<=560px){.crm-screen{padding:1.25rem .75rem 3rem}.crm-year-grid{grid-template-columns:repeat(12,minmax(26px,1fr))}}.crm-table-wrap{width:100%;min-width:0;overflow-x:auto}@media (width<=720px){.crm-select,.crm-days-input{min-height:44px;font-size:16px}}.start-screen{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.start-lead{color:var(--color-ink-soft);margin:0 0 1.5rem;line-height:1.55}.start-quiz{flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;display:flex}.start-question{border:1px solid var(--color-rule);border-radius:10px;margin:0;padding:12px 16px 14px}.start-question legend{color:var(--color-ink);padding:0 6px;font-size:14px}.start-option{color:var(--color-ink-soft);cursor:pointer;align-items:center;gap:8px;padding:5px 0;font-size:14px;display:flex}.start-option:hover{color:var(--color-ink)}.start-progress{margin-bottom:1.5rem}.start-progress-text{color:var(--color-ink-soft);margin-bottom:6px;font-size:13px;display:block}.start-progress-bar{background:var(--color-rule);border-radius:3px;height:6px;overflow:hidden}.start-progress-fill{background:var(--color-accent);height:100%;transition:width .2s;display:block}.start-done{border-left:2px solid var(--color-accent);color:var(--color-ink);margin:0 0 1.5rem;padding-left:10px;line-height:1.5}.start-steps{flex-direction:column;gap:12px;margin:0 0 2rem;padding:0;list-style:none;display:flex}.start-step{border:1px solid var(--color-rule);background:var(--color-paper-raised);border-radius:10px;padding:14px 16px}.start-step--done{opacity:.72}.start-step-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.start-step-num{border:1px solid var(--color-rule-strong);width:24px;height:24px;color:var(--color-ink-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.start-step--done .start-step-num{border-color:var(--color-accent);color:var(--color-accent)}.start-step-title{color:var(--color-ink);font-weight:500}.start-step-badge{color:var(--color-ink-faint);border:1px solid var(--color-rule);border-radius:999px;padding:1px 8px;font-size:11px}.start-step-why,.start-step-what{color:var(--color-ink-soft);margin:0 0 8px;font-size:13px;line-height:1.5}.start-step-btn{padding:7px 14px;font-size:13px;text-decoration:none;display:inline-block}.start-footer{border-top:1px solid var(--color-rule);flex-wrap:wrap;gap:1.25rem;padding-top:1rem;display:flex}.start-link{font:inherit;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;text-decoration:none}.start-link:hover{color:var(--color-ink)}.help-screen{max-width:820px;color:var(--color-ink);margin:0 auto;padding:1.5rem 1.25rem 4rem}.help-topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.help-brand{color:var(--color-ink);font-size:1.05rem;font-weight:700}.help-back{border:1px solid var(--color-rule-strong);cursor:pointer;color:var(--color-ink);font:inherit;background:0 0;border-radius:8px;padding:.4rem .85rem}.help-back:hover{background:var(--color-paper-raised)}.help-title{margin:0 0 .35rem;font-size:1.9rem}.help-lead{color:var(--color-ink-soft);margin:0 0 1.75rem;line-height:1.55}.help-toc{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:10px;margin-bottom:2rem;padding:1rem 1.25rem}.help-toc h2{color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .6rem;font-size:.85rem}.help-toc ol{columns:2;column-gap:2rem;margin:0;padding-left:1.2rem;line-height:1.7}.help-toc li{break-inside:avoid}.help-toc a{color:var(--color-accent);text-decoration:none}.help-toc a:hover{text-decoration:underline}.help-section{border-top:1px solid var(--color-rule);margin-bottom:1.5rem;padding-top:1.5rem;scroll-margin-top:1rem}.help-section h2{margin:0 0 .5rem;font-size:1.35rem}.help-section h3{color:var(--color-ink);margin:1rem 0 .3rem;font-size:1.02rem}.help-section p{margin:.4rem 0;line-height:1.6}.help-section ul{margin:.4rem 0;padding-left:1.3rem;line-height:1.6}.help-section li{margin:.25rem 0}@media (width<=600px){.help-toc ol{columns:1}}.help-note{border-left:2px solid var(--color-accent);color:var(--color-ink-soft);padding-left:.75rem}@media (width<=720px){.help-back{align-items:center;min-height:44px;display:inline-flex}}.services-screen{flex-direction:column;flex:1;gap:20px;width:100%;max-width:640px;margin:0 auto;padding:24px;display:flex}.services-header{grid-template-columns:1fr auto;align-items:center;gap:8px 16px;display:grid}.services-header .auth-title{order:2;grid-column:1/-1}.services-back{color:var(--color-accent);order:1;font-size:14px;text-decoration:none}.services-back:hover{text-decoration:underline}.services-header .auth-button{order:3;grid-area:2/2;justify-self:end}.services-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:14px;padding:24px;display:flex}.services-form-title{color:var(--color-ink);margin:0;font-size:16px;font-weight:600}.services-form-actions{align-items:center;gap:12px;display:flex}.services-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.service-card{border:1px solid var(--color-rule-strong);background:var(--color-paper-raised);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.service-info{flex-direction:column;gap:3px;min-width:0;display:flex}.service-info strong{color:var(--color-ink);align-items:center;gap:8px;font-size:15px;display:flex}.service-info span{color:var(--color-ink-soft);font-size:13px;font-family:var(--font-mono)}.service-badge{font-family:var(--font-sans);color:var(--color-ink-faint);border:1px solid var(--color-rule-strong);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.service-actions{flex-shrink:0;gap:4px;display:flex}.service-delete{color:#a3342a}.services-form-row{gap:.75rem;display:flex}.services-form-row .auth-field{flex:1}.services-fieldset{border:1px solid var(--line,#d8cfc0);border-radius:8px;margin:.5rem 0;padding:.75rem 1rem}.services-fieldset legend{color:var(--ink-soft,#6b6152);padding:0 .4rem;font-size:.85rem}.pp-link{word-break:break-all;background:var(--color-paper-raised);border:1px solid var(--color-rule);font-family:var(--font-mono);border-radius:8px;margin:.3rem 0;padding:.6rem .8rem}.pp-slug-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.pp-slug-prefix{color:var(--color-ink-soft);font-family:var(--font-mono);font-size:.85rem}.pp-slug-row .auth-input{flex:1;min-width:160px}.pp-switch{flex-direction:column;gap:8px;margin-top:4px;display:flex}.pp-switch-option{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.pp-switch-option input:disabled,.pp-switch-option input:disabled+span{cursor:default;opacity:.6}.subs-intro{max-width:70ch;margin:0 0 14px}.subs-done{color:var(--color-accent);margin:0 0 14px}.service-card:has(.subs-sell){flex-wrap:wrap}.subs-sell{flex-basis:100%;margin-top:6px}.services-name-warning{border-left:3px solid var(--color-accent);margin-top:6px;padding-left:10px}.services-empty{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.pp-qr{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;display:flex}.pp-qr-image svg{background:#fff;border-radius:8px;width:180px;height:180px;padding:6px}.clients-search{margin:12px 0 4px}.clients-search .auth-input{width:100%}.legal-draft{border:1px dashed var(--color-accent);background:var(--color-paper-raised);color:var(--color-ink);border-radius:10px;margin:0 0 1rem;padding:.85rem 1rem;line-height:1.5}.legal-meta{color:var(--color-ink-soft);margin:0 0 2rem;font-size:.9rem;line-height:1.5}.legal-nav{border-top:1px solid var(--color-rule);flex-wrap:wrap;gap:1.25rem;margin-top:2.5rem;padding-top:1.25rem;display:flex}.legal-nav a{color:var(--color-ink-soft);border-bottom:1px solid var(--color-rule-strong);text-decoration:none}.legal-nav a:hover{color:var(--color-ink)}.legal-links{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:1.5rem;font-size:.85rem;display:flex}.legal-links a{color:var(--color-ink-soft)}.consent-block{flex-direction:column;gap:.6rem;margin:1rem 0;display:flex}.consent-item{color:var(--color-ink-soft);align-items:flex-start;gap:.55rem;font-size:.88rem;line-height:1.45;display:flex}.consent-item input{flex-shrink:0;margin-top:.2rem}.my-screen{flex-direction:column;flex:1;gap:18px;width:100%;max-width:640px;margin:0 auto;padding:24px;display:flex}.my-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.my-subtitle{color:var(--color-ink-soft);margin:4px 0 0;font-size:13px}.my-logout{flex-shrink:0}.my-subjects{flex-wrap:wrap;gap:8px;display:flex}.my-chip{font:inherit;border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink-soft);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:13px}.my-chip-active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-ink)}.my-actions-bar{display:flex}.my-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:14px;padding:24px;display:flex}.my-form-title{color:var(--color-ink);margin:0;font-size:16px;font-weight:600}.my-field{color:var(--color-ink);flex-direction:column;gap:6px;font-size:14px;display:flex}.my-field select,.my-field input,.my-reschedule input{font:inherit;font-family:var(--font-mono);border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);border-radius:8px;padding:10px 12px}.my-field select:focus,.my-field input:focus,.my-reschedule input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.my-hint{color:var(--color-ink-soft);margin:0;font-size:13px}.my-form-buttons{align-items:center;gap:12px;display:flex}.my-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.my-card{border:1px solid var(--color-rule-strong);border-left:3px solid var(--color-accent);background:var(--color-paper-raised);border-radius:8px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.my-card-requested{border-left-style:dashed}.my-card-cancelled,.my-card-no_show{opacity:.55;border-left-color:var(--color-rule-strong)}.my-card-main{flex-direction:column;gap:3px;min-width:0;display:flex}.my-card-time{color:var(--color-ink);font-size:15px;font-family:var(--font-mono)}.my-card-service{color:var(--color-ink);font-size:15px;font-weight:600}.my-card-staff{color:var(--color-ink-soft);font-size:13px}.my-card-status{color:var(--color-ink-faint);font-size:12px}.my-card-person{letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);align-self:flex-start;font-size:12px}.my-guardians{border-left:2px solid var(--color-accent);background:var(--color-paper);color:var(--color-ink-soft);margin:0;padding:8px 12px;font-size:13px}.my-class-person{max-width:320px}.my-card-actions{border-top:1px solid var(--color-rule);flex-wrap:wrap;gap:4px 14px;padding-top:10px;display:flex}.my-link{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.my-reschedule{border-top:1px solid var(--color-rule);flex-wrap:wrap;align-items:center;gap:10px;padding-top:10px;display:flex}.my-empty{color:var(--color-ink-soft);font-size:14px}.my-error{color:#a3342a;margin:0;font-size:14px}.my-header-actions{align-items:center;gap:1rem;display:flex}.my-help-link{color:var(--color-ink-soft);white-space:nowrap;font-size:.9rem;text-decoration:none}.my-help-link:hover{color:var(--color-accent);text-decoration:underline}.my-tenants{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.my-join{margin-bottom:14px}.my-join-form{flex-wrap:wrap;gap:8px;display:flex}.my-join-input{border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);font:inherit;border-radius:8px;flex:260px;padding:8px 10px}.my-link-button{color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.my-tabs{gap:8px;margin-bottom:12px;display:flex}.my-slots{flex-direction:column;gap:10px;max-height:320px;padding:4px 2px;display:flex;overflow-y:auto}.my-slot-day{flex-direction:column;gap:6px;display:flex}.my-slot-date{color:var(--color-ink-soft);font-size:12px}.my-slot-row{flex-wrap:wrap;gap:6px;display:flex}.my-slot{border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:8px;padding:6px 10px}.my-slot:hover{border-color:var(--color-accent)}.my-slot-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.my-card-history{opacity:.9}.my-subs{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.my-sub{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-left:3px solid var(--color-accent);border-radius:8px;flex-direction:column;flex:14rem;gap:2px;padding:10px 12px;display:flex}.my-sub-name{font-size:.95rem}.my-sub-left{font-family:var(--font-mono);color:var(--color-accent);font-size:.9rem}.my-sub-note{color:var(--color-ink-faint);font-size:.8rem}.my-reschedule-actions{align-items:center;gap:10px;margin-top:8px;display:flex}.my-card-meta{color:var(--color-ink-faint);font-size:.8rem}.my-status{color:var(--color-accent);white-space:nowrap;font-size:.8rem}.my-push{margin:.5rem 0}.my-add-service{align-self:flex-start;margin:-4px 0 8px}.my-report-link{color:var(--color-accent);border:1px solid var(--color-accent);border-radius:6px;padding:3px 10px}.my-report-link:hover{background:var(--color-accent);color:var(--color-paper);text-decoration:none}@media (width<=720px){.my-header{flex-direction:column;align-items:stretch;gap:12px}.my-header-actions{flex-wrap:wrap;gap:8px 12px}.my-help-link,.my-report-link,.my-link-button{align-items:center;min-height:44px;display:inline-flex}.my-chip{min-height:44px;padding:8px 16px;font-size:14px}.my-field select,.my-field input{min-height:44px;font-size:16px}.my-link{align-items:center;min-height:44px;display:inline-flex}}.pb-screen{background:var(--color-paper);min-height:100vh;color:var(--color-ink);justify-content:center;align-items:flex-start;padding:2rem 1rem 4rem;display:flex}.pb-card{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:14px;width:100%;max-width:560px;padding:1.5rem 1.5rem 2rem}.pb-center{text-align:center}.pb-header{margin-bottom:1.5rem}.pb-title{margin:0 0 .2rem;font-size:1.6rem}.pb-h2{margin:0 0 .6rem;font-size:1.05rem}.pb-muted{color:var(--color-ink-soft);margin:0}.pb-note{background:var(--color-accent-soft);border-radius:10px;margin:0;padding:.9rem 1rem;line-height:1.5}.pb-section{border-top:1px solid var(--color-rule);margin-top:1.5rem;padding-top:1.5rem}.pb-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.pb-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pb-service{text-align:left;background:var(--color-paper);border:1px solid var(--color-rule);cursor:pointer;width:100%;font:inherit;color:inherit;border-radius:10px;flex-direction:column;gap:.15rem;padding:.75rem 1rem;display:flex}.pb-service:hover{border-color:var(--color-rule-strong)}.pb-service:disabled{cursor:default;opacity:.6}.pb-service:disabled:hover{border-color:var(--color-rule)}.pb-service--active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent) inset}.pb-service-name{font-weight:600}.pb-row{gap:.75rem;margin-bottom:1rem;display:flex}.pb-field{flex-direction:column;flex:1;gap:.25rem;display:flex}.pb-input{box-sizing:border-box;border:1px solid var(--color-rule-strong);width:100%;font:inherit;background:var(--color-paper);color:var(--color-ink);border-radius:8px;padding:.55rem .7rem}.pb-slots{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem;display:grid}.pb-slot{border:1px solid var(--color-rule-strong);cursor:pointer;font:inherit;background:var(--color-paper);color:var(--color-ink);border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .3rem;display:flex}.pb-slot:hover{border-color:var(--color-accent)}.pb-slot--active{background:var(--color-accent);color:var(--color-paper);border-color:var(--color-accent)}.pb-slot-master{opacity:.75;font-size:.72rem}.pb-form{flex-direction:column;gap:.6rem;margin-top:.75rem;display:flex}.pb-btn{cursor:pointer;font:inherit;background:var(--color-accent);color:var(--color-paper);border:none;border-radius:8px;padding:.65rem 1rem;font-weight:600}.pb-btn:disabled{opacity:.6;cursor:default}.pb-btn-secondary{color:var(--color-ink);border:1px solid var(--color-rule-strong);background:0 0;margin-top:1rem}.pb-error{color:#a3342a;margin:0}.pb-summary{margin:1rem 0;line-height:1.6}.pb-check{background:var(--color-accent);width:56px;height:56px;color:var(--color-paper);border-radius:50%;margin:0 auto .75rem;font-size:1.8rem;line-height:56px}.support-screen{flex-direction:column;gap:1rem;max-width:760px;display:flex}.support-actions{flex-wrap:wrap;gap:.75rem;display:flex}.support-form{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.support-textarea{resize:vertical;min-height:5rem;font:inherit;line-height:1.45}.support-empty{color:var(--color-ink-soft);font-size:.95rem}.support-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.support-card{text-align:left;background:var(--color-paper);border:1px solid var(--color-rule);border-left:3px solid var(--color-rule-strong);cursor:pointer;width:100%;font:inherit;color:inherit;border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.support-card:hover{border-color:var(--color-rule-strong)}.support-card--open{border-left-color:var(--color-accent)}.support-card--answered{border-left-color:#3e5640}.support-card--closed{opacity:.6}.support-card-subject{font-weight:600}.support-card-meta{color:var(--color-ink-soft);font-size:.85rem}.support-thread{flex-direction:column;gap:1rem;display:flex}.support-thread-head{flex-direction:column;gap:.25rem;display:flex}.support-thread-title{margin:0;font-size:1.15rem}.support-messages{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.support-message{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;flex-direction:column;gap:.3rem;padding:.75rem 1rem;display:flex}.support-message--support{background:var(--color-accent-soft);border-left:3px solid var(--color-accent)}.support-message--me{border-left:3px solid var(--color-rule-strong)}.support-message-author{color:var(--color-ink-soft);font-size:.8rem}.support-message-body{white-space:pre-wrap;line-height:1.5}.tasks-screen{flex-direction:column;gap:1rem;padding:1rem;display:flex}.tasks-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.tasks-empty{background:var(--color-paper);border:1px dashed var(--color-rule-strong);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem;display:flex}.tasks-board{align-items:flex-start;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.tasks-column{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;flex-direction:column;flex:0 0 260px;gap:.5rem;min-height:8rem;padding:.75rem;display:flex}.tasks-column--target{border-color:var(--color-accent);background:var(--color-accent-soft)}.tasks-column-head{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:baseline;gap:.5rem;padding-bottom:.4rem;display:flex}.tasks-column-name{font-weight:600}.tasks-column-count{font-family:var(--font-mono);color:var(--color-ink-soft);font-size:.8rem}.tasks-card{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-left:3px solid var(--color-rule-strong);cursor:grab;touch-action:none;border-radius:8px;flex-direction:column;gap:.2rem;padding:.6rem .7rem;display:flex}.tasks-card--dragging{opacity:.5;cursor:grabbing}.tasks-card--overdue{border-left-color:#9d3b3b}.tasks-card-title{line-height:1.35}.tasks-card-meta{color:var(--color-ink-soft);font-size:.8rem}.tasks-card-due{font-family:var(--font-mono);color:var(--color-ink-soft);font-size:.78rem}.tasks-card-due--overdue{color:#9d3b3b}.tasks-add{border:1px dashed var(--color-rule-strong);font:inherit;color:var(--color-ink-soft);cursor:pointer;background:0 0;border-radius:8px;padding:.45rem}.tasks-add:hover{border-color:var(--color-accent);color:var(--color-ink)}.tasks-setup,.tasks-form{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;flex-direction:column;gap:.75rem;max-width:900px;padding:1rem;display:flex}.tasks-setup-title{margin:0;font-size:1rem}.tasks-setup-list{flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.tasks-setup-list li{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tasks-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.tasks-row .auth-field{flex:12rem}.tasks-narrow{max-width:8rem}.tasks-textarea{resize:vertical;font:inherit;line-height:1.45}.tasks-header-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.tasks-mine{color:var(--color-ink-soft);cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.tasks-card-assignee{color:var(--color-accent);font-size:.78rem}.tasks-card-repeat{color:var(--color-accent);font-size:11px}.tasks-rule-paused{opacity:.6}.tasks-rule-actions{flex-wrap:wrap;gap:10px;display:flex}.tasks-rule-days,.tasks-rule-time{max-width:120px}.tasks-card-planned{color:var(--color-ink-faint);font-size:11px}.tasks-card-unplanned{color:var(--color-accent);font-size:11px}.tasks-card--unplanned{border-left:3px solid var(--color-accent)}.tasks-blocks{border-top:1px solid var(--color-rule);margin-top:12px;padding-top:12px}.tasks-search{max-width:260px}@media (width<=720px){.tasks-search{flex:100%;max-width:none}}.notif-list{flex-direction:column;gap:.75rem;max-width:760px;margin:0;padding:0;list-style:none;display:flex}.notif-item{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.notif-main{flex-direction:column;flex:20rem;gap:.2rem;display:flex}.notif-row{cursor:pointer;align-items:center;gap:.5rem;display:flex}.notif-label{font-weight:600}.notif-audience{border:1px solid var(--color-rule-strong);color:var(--color-ink-soft);border-radius:999px;padding:.1rem .4rem;font-size:.75rem}.notif-hint{margin:0}.notif-lead{color:var(--color-ink-soft);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.notif-lead select{width:auto}.notif-device{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;max-width:760px;padding:1rem}.push-toggle{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.push-toggle-on{align-items:center;gap:.75rem;display:flex}.push-toggle-status{font-weight:600}.pwa-install{z-index:40;background:var(--color-paper-raised);border:1px solid var(--color-rule-strong);max-width:520px;margin:0 auto;margin-bottom:env(safe-area-inset-bottom,0);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 6px 24px #241f182e}.pwa-install-text{min-width:180px;color:var(--color-ink);flex:1;font-size:13px;line-height:1.4}.pwa-install-actions{align-items:center;gap:10px;display:flex}.pwa-install-btn{padding:8px 14px;font-size:13px}.pwa-install-later{color:var(--color-ink-soft);font:inherit;cursor:pointer;background:0 0;border:none;padding:6px;font-size:13px}.pwa-install-later:hover{color:var(--color-ink)}.pwa-install-title{color:var(--color-ink);margin-bottom:2px;font-size:13px;display:block}@media (width<=720px){.pwa-install-later{align-items:center;min-height:44px;padding:0 12px;display:inline-flex}}.offline-banner{z-index:60;text-align:center;color:#fff8ec;background:#8a6a2f;padding:5px 12px;font-size:12.5px;font-weight:600;position:sticky;top:0}.billing-screen{max-width:900px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.billing-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:1.25rem;display:grid}.billing-card{border:1px solid var(--color-rule);background:var(--color-paper-raised);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.billing-card--stop{border-color:#a32d2d}.billing-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-faint,var(--color-ink-soft));font-size:12px}.billing-card-value{font-size:20px;font-weight:500}.billing-card-hint{color:var(--color-ink-soft);font-size:12px}.billing-note{border-left:2px solid var(--color-accent);background:var(--color-paper-raised);color:var(--color-ink-soft);margin-bottom:1.25rem;padding:12px 14px;font-size:13px;line-height:1.5}.billing-note--stop{border-left-color:#a32d2d}.billing-subtitle{margin:1.5rem 0 .75rem;font-size:16px;font-weight:500}.billing-table{border-collapse:collapse;width:100%;font-size:13px}.billing-table th{text-align:left;border-bottom:1px solid var(--color-rule-strong);text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-soft);padding:6px 8px;font-size:11px}.billing-table td{border-bottom:1px solid var(--color-rule);vertical-align:top;padding:8px}.billing-comment{color:var(--color-ink-soft);font-size:12px;display:block}.billing-in{color:#3e5640;font-variant-numeric:tabular-nums}.billing-out{font-variant-numeric:tabular-nums}.billing-contact{margin-top:1.5rem}.settings-screen{max-width:900px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.settings-lead{color:var(--color-ink-soft);margin:0 0 1rem;line-height:1.55}.settings-note{border-left:2px solid var(--color-accent);color:var(--color-ink-soft);margin:0 0 1.5rem;padding-left:10px;font-size:13px;line-height:1.5}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.settings-card{border:1px solid var(--color-rule);background:var(--color-paper-raised);color:inherit;border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;display:flex}.settings-card:hover{border-color:var(--color-rule-strong)}.settings-card-title{color:var(--color-ink);font-weight:500}.settings-card-text{color:var(--color-ink-soft);font-size:13px;line-height:1.45}.settings-start{border:1px solid var(--color-accent);background:var(--color-paper-raised);color:inherit;border-radius:10px;flex-direction:column;gap:6px;margin-bottom:1.5rem;padding:14px 16px;text-decoration:none;display:flex}.settings-block{border:1px solid var(--color-rule);background:var(--color-paper-raised);border-radius:10px;margin-bottom:1.5rem;padding:14px 16px}.settings-block-title{margin:0 0 6px;font-size:15px;font-weight:500}.settings-block-text{color:var(--color-ink-soft);margin:0 0 12px;font-size:13px;line-height:1.5}.settings-choices{flex-direction:column;gap:8px;display:flex}.settings-choice{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.settings-choice input{flex-shrink:0;margin-top:3px}.settings-choice-label{color:var(--color-ink);font-size:14px;display:block}.settings-choice-hint{color:var(--color-ink-soft);font-size:12px;line-height:1.45;display:block}.settings-rename{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.settings-rename .auth-input{flex:220px;min-width:0}.unavail-screen{flex-direction:column;flex:1;gap:16px;width:100%;max-width:640px;margin:0 auto;padding:24px;display:flex}.unavail-header{grid-template-columns:1fr auto;align-items:center;gap:8px 16px;display:grid}.unavail-back{color:var(--color-accent);order:1;font-size:14px;text-decoration:none}.unavail-back:hover{text-decoration:underline}.unavail-header .auth-title{order:2;grid-column:1/-1}.unavail-header .auth-button{order:3;grid-area:2/2;justify-self:end}.unavail-lead{margin:0}.unavail-form{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:12px;flex-direction:column;gap:14px;padding:24px;display:flex}.unavail-form-title{color:var(--color-ink);margin:0;font-size:16px;font-weight:600}.unavail-row{flex-wrap:wrap;gap:12px;display:flex}.unavail-row .auth-field{flex:1;min-width:130px}.unavail-readonly{color:var(--color-ink-soft);margin:0;padding:10px 0;font-size:14px}.unavail-form-actions{align-items:center;gap:12px;display:flex}.unavail-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.unavail-card{border:1px solid var(--color-rule-strong);border-left:3px solid var(--color-ink-faint);background:var(--color-paper-raised);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.unavail-card-break{border-left-color:var(--color-accent)}.unavail-card-personal{border-left-color:#5c7a5e}.unavail-info{flex-direction:column;gap:3px;min-width:0;display:flex}.unavail-info strong{color:var(--color-ink);align-items:center;gap:8px;font-size:15px;display:flex}.unavail-badge{font-family:var(--font-sans);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.unavail-badge-break{color:#7a5313;background:var(--color-accent-soft)}.unavail-badge-personal{color:#3e5640;background:#eef3ec}.unavail-when{color:var(--color-ink-soft);font-size:13px;font-family:var(--font-mono)}.unavail-label{color:var(--color-ink-faint);font-size:12px}.unavail-actions{flex-shrink:0;gap:4px;display:flex}.unavail-delete{color:#a3342a}.unavail-back{color:var(--color-ink-soft);margin-bottom:.75rem;font-size:14px;text-decoration:none;display:inline-block}.unavail-back:hover{color:var(--color-ink)}.unavail-days{flex-wrap:wrap;gap:6px;display:flex}.unavail-day{border:1px solid var(--color-rule-strong);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:14px;display:inline-flex}.unavail-day--on{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.unavail-day input{margin:0}@media (width<=720px){.unavail-back{align-items:center;min-height:44px;display:inline-flex}}.unavail-family{border:1px solid var(--color-rule);background:var(--color-paper-raised);border-radius:10px;margin-bottom:18px;padding:14px 16px}.unavail-family-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.unavail-family-item{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.unavail-family-name{font-weight:500}.unavail-family-count{margin:0}.unavail-family-add{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.unavail-family-input{max-width:220px}.unavail-check{cursor:pointer;align-items:center;gap:8px;display:flex}@media (width<=720px){.unavail-family-input{flex:100%;max-width:none}}.unavail-share-title{color:var(--color-ink-soft);margin:14px 0 4px;font-size:13px;font-weight:600}
