:root{font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#202824;background:#f4f6f4;font-synthesis:none;text-rendering:optimizeLegibility;--surface: #ffffff;--surface-soft: #f8faf8;--line: #dfe5e1;--line-strong: #ccd5d0;--ink: #202824;--muted: #69736e;--brand: #176b52;--brand-dark: #105641;--brand-soft: #e9f4ef;--blue: #2c66a8;--blue-soft: #eaf1f9;--amber: #ac681c;--amber-soft: #fbf1df;--red: #b84242;--red-soft: #fbeaea;--shadow: 0 4px 18px rgba(28, 45, 36, .07)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f4}button,input,select,textarea{font:inherit}input,textarea,select{font-size:16px}@supports (-webkit-overflow-scrolling: touch){input,textarea,select{font-size:16px!important}}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.loading{min-height:220px;display:grid;place-items:center}.loading span{width:25px;height:25px;border:3px solid #d8e4de;border-top-color:var(--brand);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:224px;display:flex;flex-direction:column;background:#fbfcfb;border-right:1px solid var(--line)}.sidebar-brand{height:72px;display:flex;align-items:center;gap:11px;padding:0 20px;border-bottom:1px solid var(--line)}.sidebar-brand strong,.login-brand strong{display:block;font-size:15px}.sidebar-brand>div:last-child{min-width:0}.sidebar-brand strong{font-size:12px;white-space:nowrap}.sidebar-brand span,.login-brand span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.sidebar-project-export{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:11px;cursor:pointer}.sidebar-project-export:hover{border-color:var(--accent);color:var(--accent)}.sidebar-project-export:disabled{opacity:.6;cursor:wait}.brand-mark{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px}.brand-mark.small{width:34px;height:34px}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:4px;padding:16px 12px}.sidebar-nav button{height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;color:#59635e;background:transparent;border:0;border-radius:6px;text-align:left}.sidebar-nav button:hover{color:var(--ink);background:#f0f4f1}.sidebar-nav button.active{color:var(--brand-dark);background:var(--brand-soft);font-weight:650;box-shadow:inset 3px 0 var(--brand)}.sidebar-user{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:9px;min-height:68px;padding:12px 14px;border-top:1px solid var(--line)}.sidebar-user strong,.sidebar-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:13px}.sidebar-user span{margin-top:2px;color:var(--muted);font-size:11px}.avatar{width:34px;height:34px;display:grid;place-items:center;color:var(--brand-dark);background:var(--brand-soft);border-radius:50%;font-size:13px;font-weight:700}.workspace{width:calc(100% - 224px);min-height:100vh;display:flex;flex-direction:column;margin-left:224px}.topbar{position:sticky;top:0;z-index:12;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-title{display:flex;align-items:center;gap:9px;font-size:14px}.topbar-project-area{display:flex;align-items:center;gap:10px;margin-left:auto}.hospital-income-summary{min-width:178px;display:grid;gap:3px;padding:5px 9px;background:#f8faf8;border:1px solid var(--line);border-radius:6px}.hospital-income-summary>div{min-width:0;display:grid;grid-template-columns:73px minmax(0,1fr);align-items:baseline;column-gap:6px;line-height:1.15}.hospital-income-summary span{color:var(--muted);font-size:9px;white-space:nowrap}.hospital-income-summary strong{min-width:0;overflow:hidden;color:var(--brand-dark);font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.hospital-income-summary small{grid-column:2;margin-top:1px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.project-switcher{position:relative}.project-context{min-height:46px;display:flex;align-items:center;gap:9px;padding:5px 8px 5px 10px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:6px}.project-context:hover,.project-context[aria-expanded=true]{background:var(--surface-soft);border-color:var(--line)}.project-context strong,.project-context span{display:block;text-align:right}.project-context strong{font-size:12px}.project-context span{max-width:280px;margin-top:2px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.project-context>svg{color:var(--muted)}.project-dot{width:8px;height:8px;border-radius:50%;background:#28a56e;box-shadow:0 0 0 4px #e3f4eb}.project-menu-scrim{position:fixed;inset:0;z-index:30;background:transparent;border:0}.project-menu{position:absolute;z-index:31;top:calc(100% + 7px);right:0;width:min(360px,calc(100vw - 24px));padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px #19231e2b}.project-menu-label{padding:6px 9px 7px;color:var(--muted);font-size:10px;font-weight:700}.project-search{min-height:34px;display:flex;align-items:center;gap:7px;margin:0 2px 6px;padding:0 9px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:6px}.project-search:focus-within{border-color:#8eb7a4;box-shadow:0 0 0 2px #50916e1f}.project-search input{width:100%;min-width:0;height:32px;padding:0;color:var(--ink);background:transparent;border:0;outline:0;font-size:12px}.project-menu>button{width:100%;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;padding:7px 9px;color:var(--ink);background:transparent;border:0;border-radius:6px;text-align:left}.project-menu>button:hover,.project-menu>button.selected{background:var(--brand-soft)}.project-menu>button strong,.project-menu>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-menu>button strong{font-size:12px}.project-menu>button small{margin-top:4px;color:var(--muted);font-size:10px}.project-menu>button>svg{color:var(--brand)}.project-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:5px;padding-top:7px;border-top:1px solid var(--line)}.project-menu-actions button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;color:#48544e;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:11px}.project-menu-actions button:hover{color:var(--brand-dark);background:var(--brand-soft);border-color:#9fc8b5}.readonly-project-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;color:#8a5a00;background:#fff4d9;border:1px solid #efd18d;border-radius:999px;font-size:10px;font-weight:700}.project-tree{display:grid;gap:4px;max-height:min(62vh,540px);overflow:auto;padding:0 2px 4px}.project-tree details{border:1px solid transparent;border-radius:6px}.project-tree details[open]{background:#f8faf9;border-color:#e3e9e5}.project-tree summary{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;color:#425048;cursor:pointer;font-size:11px;font-weight:700;list-style:none}.project-tree summary::-webkit-details-marker{display:none}.project-tree summary>svg{transition:transform .18s ease}.project-tree details[open]>summary>svg{transform:rotate(180deg)}.project-tree details details{margin:0 5px 5px;background:#fff}.project-tree details details>summary{min-height:32px;color:var(--ink);font-weight:650}.project-tree details details button{width:calc(100% - 10px);min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;margin:0 5px 4px;padding:6px 8px;color:var(--ink);background:transparent;border:0;border-radius:5px;text-align:left}.project-tree details details button:hover,.project-tree details details button.selected{background:var(--brand-soft)}.project-tree button strong,.project-tree button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tree button strong{font-size:12px}.project-tree button small{margin-top:2px;color:var(--muted);font-size:10px}.drawer-readonly-fields{min-width:0;margin:0;padding:0;border:0}.drawer-readonly-fields :disabled{opacity:1;cursor:default}.mobile-menu{display:none!important}.page-content{width:min(100%,1500px);flex:1;margin:0 auto;padding:27px 30px 48px}.ai-chat-page{min-width:0}.ai-chat-scope{min-height:44px;display:flex;align-items:center;gap:9px;margin:-5px 0 14px;padding:9px 12px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #c8dfd4;border-radius:7px}.ai-chat-scope>svg{flex:0 0 auto}.ai-chat-scope span{min-width:0;font-size:12px}.ai-chat-scope strong{font-weight:750}.ai-chat-usage{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-left:auto}.ai-chat-usage-label{color:var(--brand-dark);font-size:10px;font-weight:750;white-space:nowrap}.ai-chat-usage-item{display:inline-flex;align-items:baseline;gap:4px;padding:5px 8px;color:var(--muted);background:#fff;border:1px solid #c8dfd4;border-radius:5px;font-size:10px;white-space:nowrap}.ai-chat-usage-item strong{color:var(--brand-dark);font-size:12px;font-variant-numeric:tabular-nums}.ai-chat-usage-item.exhausted{color:#9b4b3e;background:#fff8f6;border-color:#e7b9ae}.ai-chat-usage-item.exhausted strong{color:#a33f2f}.ai-chat-scope small{margin-left:auto;color:var(--muted);font-size:10px}.ai-chat-scope .ai-chat-usage+small{margin-left:0}.ai-chat-panel{min-height:min(680px,calc(100vh - 230px));display:grid;grid-template-columns:220px minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.ai-chat-history{min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#f7faf8}.ai-chat-history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--line);color:var(--ink);font-size:13px}.ai-chat-history-heading .icon-button{width:28px;height:28px}.ai-chat-history-list{min-height:0;display:flex;flex-direction:column;gap:4px;padding:8px;overflow-y:auto}.ai-chat-history-list>.muted{padding:10px 6px;font-size:11px}.ai-chat-history-item{display:flex;align-items:stretch;gap:3px;min-width:0;border-radius:6px}.ai-chat-history-item.active{background:var(--brand-soft)}.ai-chat-history-item>button:first-child{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 7px;color:var(--ink);background:transparent;border:0;text-align:left;cursor:pointer}.ai-chat-history-item>button:first-child:hover{background:#176b5214}.ai-chat-history-item strong{width:100%;overflow:hidden;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ai-chat-history-item small{color:var(--muted);font-size:10px}.ai-chat-history-item>.icon-button{align-self:center;flex:0 0 auto;width:28px;height:28px;margin-right:3px;opacity:.65}.ai-chat-history-item>.icon-button:hover{opacity:1}.ai-chat-main{min-width:0;min-height:0;display:flex;flex-direction:column}.ai-chat-toolbar-title{display:flex;align-items:center;gap:8px}.ai-history-toggle{display:none}.ai-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid var(--line)}.ai-chat-toolbar>span{color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.ai-chat-toolbar>div{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.ai-chat-toolbar .secondary{min-height:32px;padding-inline:10px;font-size:11px}.ai-chat-messages{flex:1;display:flex;flex-direction:column;gap:12px;min-height:320px;padding:18px;overflow-y:auto;background:#fbfcfb}.ai-chat-message{max-width:min(86%,760px);display:flex;align-items:flex-start;gap:9px}.ai-chat-message.user{align-self:flex-end;flex-direction:row-reverse}.ai-chat-message-label{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;color:var(--brand-dark);background:var(--brand-soft);border-radius:50%;font-size:10px;font-weight:750}.ai-chat-message.user .ai-chat-message-label{color:#fff;background:var(--brand)}.ai-chat-message p{min-width:0;margin:0;padding:10px 12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.ai-chat-message.user p{color:#fff;background:var(--brand);border-color:var(--brand)}.ai-chat-message.pending p{color:var(--muted);background:var(--surface-soft)}.ai-chat-composer{display:grid;gap:9px;padding:13px 15px 15px;border-top:1px solid var(--line);background:var(--surface)}.ai-chat-composer textarea{width:100%;min-height:78px;padding:10px 11px;resize:vertical;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;line-height:1.55;outline:0}.ai-chat-composer textarea:focus{border-color:#61927c;box-shadow:0 0 0 3px #176b521a}.ai-chat-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-chat-composer-footer>span{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.ai-chat-composer-footer .primary{min-width:92px}.ai-quota-modal-backdrop{z-index:130}.ai-quota-modal{width:min(430px,100%)}.ai-quota-modal .modal-heading{align-items:center}.ai-quota-modal .modal-heading>svg{flex:0 0 auto;color:#b15b4c}.ai-quota-modal .modal-actions{justify-content:flex-end}.ai-policy-chat-toggle{color:var(--brand-dark);font-weight:650}.today-view{height:calc(100vh - 147px);height:calc(100dvh - 147px);min-height:320px;display:flex;flex-direction:column}.today-view>.loading{flex:1 1 auto;min-height:0}.today-sticky-zone{position:sticky;top:72px;z-index:10;margin-top:-27px;padding-top:27px;background:#f4f6f4}.page-heading{min-height:56px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-heading h1{margin:0;font-size:22px;line-height:1.25}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.heading-actions{display:flex;align-items:center;gap:10px}.spreadsheet-import{position:relative}.spreadsheet-import input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.spreadsheet-import.disabled{cursor:not-allowed;opacity:.48}.primary,.secondary{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-radius:6px;font-weight:650;font-size:13px;white-space:nowrap}.primary{color:#fff;background:var(--brand);border:1px solid var(--brand)}.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.secondary{color:var(--ink);background:var(--surface);border:1px solid var(--line-strong)}.secondary:hover{color:var(--brand-dark);border-color:#84aa98;background:var(--brand-soft)}.secondary.compact{min-height:30px;padding:0 10px;font-size:12px}.wide{width:100%}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;padding:0;color:#52605a;background:transparent;border:1px solid transparent;border-radius:6px}.icon-button:hover{color:var(--brand-dark);background:var(--brand-soft)}.date-stepper{height:38px;display:flex;align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px}.date-stepper-input{position:relative;width:132px;height:36px;display:flex;align-items:center;border-inline:1px solid var(--line)}.date-stepper-input input{width:100%;height:36px;padding:0 6px;color:var(--ink);background:transparent;border:0;outline:0}.date-stepper-display{display:none;margin:0;padding:0;color:var(--ink);background:transparent;border:0;font:inherit}.today-mobile-date-stepper{display:none}.summary-strip{min-height:88px;display:grid;grid-template-columns:repeat(4,minmax(100px,132px)) minmax(260px,1fr);align-items:center;margin-bottom:18px;padding:13px 18px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.summary-strip>div:not(.onsite-meta){min-height:54px;display:flex;flex-direction:column;justify-content:center;padding:0 18px;border-right:1px solid var(--line)}.summary-strip>div:first-child{padding-left:0}.summary-strip span{color:var(--muted);font-size:11px}.summary-strip strong{margin-top:5px;color:var(--ink);font-size:23px}.onsite-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--muted)}.onsite-meta svg{color:var(--brand);margin-left:10px}.data-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-heading{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0;font-size:15px}.panel-heading>div>span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.member-legend{display:flex;gap:12px}.member-legend span{display:flex!important;align-items:center;gap:5px;margin:0!important;color:var(--muted)}.member-legend i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.member-legend span:nth-child(2) i{background:var(--amber)}.today-view .schedule-panel{min-height:0;display:flex;flex:1 1 auto;flex-direction:column}.today-view .schedule-panel>.schedule-list{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.today-view .schedule-panel>.empty-state{flex:1 1 auto}.schedule-list{padding:0}.schedule-row{min-height:84px;display:grid;grid-template-columns:70px minmax(200px,1.35fr) minmax(190px,1.6fr) 100px 78px minmax(150px,auto);align-items:center;gap:16px;position:relative;padding:14px 18px;border-bottom:1px solid #dfe7e3}.appointment-fullscreen{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;color:var(--brand-dark);background:#fff;border:1px solid var(--line-strong);border-radius:5px}.appointment-fullscreen:hover{background:var(--brand-soft);border-color:#86b4a0}.schedule-row:fullscreen{width:100%;min-height:100vh;box-sizing:border-box;grid-template-columns:100px minmax(220px,.75fr) minmax(300px,1.3fr) minmax(112px,.35fr) minmax(90px,auto) minmax(220px,auto);align-content:start;gap:24px 22px;padding:32px 48px 48px;overflow:auto;background:#f5f8f6;font-size:16px}.schedule-row:fullscreen:before{top:38px;width:5px;height:76px}.schedule-row:fullscreen .appointment-fullscreen{position:static;width:44px;height:44px;border-radius:7px;opacity:1}.schedule-row:fullscreen .appointment-fullscreen svg{width:21px;height:21px}.schedule-row:fullscreen>time{font-size:24px;line-height:1.1}.schedule-row:fullscreen>time span{margin-top:7px;font-size:14px}.schedule-row:fullscreen>.client-cell{gap:14px}.schedule-row:fullscreen .client-initial{width:52px;height:52px;border-radius:8px;font-size:20px}.schedule-row:fullscreen>.client-cell strong{font-size:22px}.schedule-row:fullscreen>.client-cell span{margin-top:6px;font-size:15px}.schedule-row:fullscreen .strategy-cell>div>span,.schedule-row:fullscreen .detail-section-label,.schedule-row:fullscreen .remark-block>span{font-size:13px}.schedule-row:fullscreen .strategy-cell button{min-height:36px;gap:6px;padding:0 11px;font-size:14px}.schedule-row:fullscreen .strategy-cell button svg{width:17px;height:17px}.schedule-row:fullscreen .strategy-cell p{margin-top:7px;overflow:visible;font-size:16px;line-height:1.55;white-space:normal;word-break:break-word}.schedule-row:fullscreen .assignee{gap:7px;font-size:14px}.schedule-row:fullscreen .assignee svg{width:19px;height:19px}.schedule-row:fullscreen .status-badge{min-height:34px;padding:4px 12px;font-size:14px}.schedule-row:fullscreen .row-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px}.schedule-row:fullscreen .row-actions .compact{min-height:42px;gap:6px;padding:0 14px;font-size:15px}.schedule-row:fullscreen .row-actions .compact svg{width:18px;height:18px}.schedule-row:fullscreen .row-actions .icon-button{width:42px;height:42px}.schedule-row:fullscreen .row-actions .icon-button svg{width:19px;height:19px}.schedule-row:fullscreen .appointment-details{grid-template-columns:minmax(0,1.55fr) minmax(460px,1fr);gap:24px;margin-top:4px;padding-top:24px}.schedule-row:fullscreen .detail-toolbar{min-height:42px;margin-bottom:12px}.detail-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.schedule-row:fullscreen .detail-toolbar .secondary{min-height:38px;gap:6px;padding:0 12px;font-size:14px}.schedule-row:fullscreen .detail-toolbar .secondary svg{width:17px;height:17px}.schedule-row:fullscreen .detail-toolbar .primary{min-height:38px;gap:6px;padding:0 12px;font-size:14px}.schedule-row:fullscreen .customer-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.schedule-row:fullscreen .customer-detail-grid>.customer-detail-wide{grid-column:span 2}.schedule-row:fullscreen .customer-detail-grid>div,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field{min-width:0;min-height:82px;padding:13px 15px;border:1px solid var(--line);border-radius:7px}.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field{display:flex;flex-direction:column;gap:7px;background:#fff;cursor:text}.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-emphasis{background:#fff0d3;border-color:#e8a244;box-shadow:inset 3px 0 #d97706}.schedule-row:fullscreen .customer-detail-grid span{font-size:12px}.schedule-row:fullscreen .customer-detail-grid strong{margin-top:8px;font-size:16px;line-height:1.45}.schedule-row:fullscreen .customer-detail-field input,.schedule-row:fullscreen .customer-detail-field select{width:100%;min-width:0;height:40px;padding:0 10px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;outline:0;font-size:16px}.schedule-row:fullscreen .customer-detail-field input:focus,.schedule-row:fullscreen .customer-detail-field select:focus{border-color:#61927c;box-shadow:0 0 0 3px #176b521a}.schedule-row:fullscreen .customer-detail-field input.derived-field{color:#53615a;background:#f1f4f2;cursor:default}.schedule-row:fullscreen .customer-detail-field select:disabled{color:#53615a;background:#f1f4f2;cursor:default}.schedule-row:fullscreen .onsite-family-details{margin-top:20px}.schedule-row:fullscreen .onsite-family-details>div{gap:12px}.schedule-row:fullscreen .onsite-family-details dl{gap:11px;padding:13px 15px;border-radius:7px}.schedule-row:fullscreen .onsite-family-details dt{padding:4px 7px;border-radius:5px;font-size:12px}.schedule-row:fullscreen .onsite-family-details strong{font-size:15px}.schedule-row:fullscreen .onsite-family-details span,.schedule-row:fullscreen .onsite-family-details em,.schedule-row:fullscreen .onsite-family-details small,.schedule-row:fullscreen .onsite-family-details p{margin-top:5px;font-size:13px}.schedule-row:fullscreen .onsite-family-details .family-product-detail{grid-template-columns:52px minmax(0,1fr);gap:6px;padding:6px 8px;border-left-width:3px}.schedule-row:fullscreen .appointment-gift-list{gap:12px}.schedule-row:fullscreen .appointment-gift{min-height:108px;grid-template-columns:24px minmax(0,1fr) auto;column-gap:10px;row-gap:5px;padding:13px 15px;border-radius:7px}.schedule-row:fullscreen .appointment-gift>svg:first-child{width:21px;height:21px}.schedule-row:fullscreen .appointment-gift>svg:last-child:not(:first-child){width:22px;height:22px}.schedule-row:fullscreen .appointment-gift small{font-size:12px}.schedule-row:fullscreen .appointment-gift strong{margin-top:6px;font-size:16px;line-height:1.4}.schedule-row:fullscreen .appointment-gift em{font-size:12px}.schedule-row:fullscreen .appointment-notes{grid-template-columns:minmax(330px,.8fr) minmax(480px,1.8fr) auto;align-items:end;gap:18px;margin-top:4px;padding-top:24px}.schedule-row:fullscreen .previous-remark{min-height:224px;padding:17px 19px;border-radius:7px}.schedule-row:fullscreen .previous-remark>span{font-size:14px}.schedule-row:fullscreen .remark-block p{max-height:250px;font-size:16px;line-height:1.7}.schedule-row:fullscreen .current-remark textarea{min-height:224px;max-height:none;padding:15px 17px;border-radius:7px;font-size:18px;line-height:1.65}.schedule-row:fullscreen .remark-save{min-height:48px;gap:7px;padding:0 17px;font-size:15px}.schedule-row:nth-child(odd){background:#fff}.schedule-row:nth-child(2n){background:#f1f6f8}.schedule-row:last-child{border-bottom:0}@keyframes schedule-locate-flash{0%,to{box-shadow:inset 0 0 0 0 transparent}18%,48%,78%{box-shadow:inset 0 0 0 3px #e99b2f,0 0 18px #d9770661}}.schedule-row.locate-highlight{position:relative;z-index:1;animation:schedule-locate-flash 2s ease-in-out}.schedule-row:before{content:"";position:absolute;top:20px;left:0;width:3px;height:42px;background:#a9b4ae;border-radius:0 2px 2px 0}.schedule-row.status-completed:before{background:var(--brand)}.schedule-row.status-checked_in:before{background:var(--blue)}.schedule-row>time{color:var(--ink);font-size:15px;font-weight:750}.schedule-row>time span{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:500}.client-cell,.table-client{display:flex;align-items:center;gap:10px;min-width:0}.client-cell strong,.client-cell span,.table-client strong,.table-client small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-cell strong,.table-client strong{font-size:13px}.schedule-row>.client-cell strong{color:#0d6278;font-size:14px;font-weight:800}.client-cell span,.table-client small{margin-top:3px;color:var(--muted);font-size:11px}.client-initial{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;color:var(--brand-dark);background:var(--brand-soft);border-radius:6px;font-size:12px;font-weight:750}.client-initial.large{width:42px;height:42px;font-size:16px}.strategy-cell{min-width:0}.strategy-cell>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.strategy-cell>div>span{color:var(--muted);font-size:10px}.strategy-cell button{min-height:25px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #a9cdbd;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap}.strategy-cell button:hover{border-color:var(--brand);background:#dceee6}.strategy-cell p{margin:3px 0 0;overflow:hidden;color:#3b4741;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assignee{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.status-badge,.client-status,.category-tag{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap}.status-badge.scheduled{color:#606b65;background:#eff2f0}.status-badge.confirmed{color:var(--blue);background:var(--blue-soft)}.status-badge.checked_in{color:#1f6c69;background:#e4f4f2}.status-badge.completed{color:var(--brand-dark);background:var(--brand-soft)}.status-badge.no_show,.status-badge.cancelled{color:var(--red);background:var(--red-soft)}.row-actions{display:flex;justify-content:flex-end;gap:6px}.appointment-details{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(390px,1fr);align-items:start;gap:16px;padding-top:11px;border-top:1px dashed var(--line)}.customer-details{min-width:0}.detail-toolbar{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.detail-toolbar .detail-section-label{margin:0}.customer-detail-grid{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.customer-detail-grid>.customer-detail-wide{grid-column:span 2}.customer-detail-grid>div{min-width:0;min-height:48px;padding:7px 9px;background:#fff;border:1px solid var(--line);border-radius:5px}.customer-detail-grid>div.customer-detail-emphasis{background:#fff0d3;border-color:#e8a244;box-shadow:inset 3px 0 #d97706}.customer-detail-grid>div.customer-detail-emphasis span{color:#93550a}.customer-detail-grid>div.customer-detail-emphasis strong{color:#773c05;font-weight:800}.wechat-contact-tone-0{--wechat-contact-bg: #e5f4ed;--wechat-contact-border: #9ccdb5;--wechat-contact-accent: #278060;--wechat-contact-ink: #176348}.wechat-contact-tone-1{--wechat-contact-bg: #e6f2fb;--wechat-contact-border: #9fc8e1;--wechat-contact-accent: #337da8;--wechat-contact-ink: #245c80}.wechat-contact-tone-2{--wechat-contact-bg: #fff3d9;--wechat-contact-border: #e6c478;--wechat-contact-accent: #ae760d;--wechat-contact-ink: #80550a}.wechat-contact-tone-3{--wechat-contact-bg: #ffeaea;--wechat-contact-border: #e7acaa;--wechat-contact-accent: #b65c58;--wechat-contact-ink: #8d433f}.wechat-contact-tone-4{--wechat-contact-bg: #eeeefa;--wechat-contact-border: #b9b9dd;--wechat-contact-accent: #676ba5;--wechat-contact-ink: #4d5084}.wechat-contact-tone-5{--wechat-contact-bg: #e8f4f4;--wechat-contact-border: #9fcaca;--wechat-contact-accent: #357f80;--wechat-contact-ink: #276061}.customer-detail-grid>div[class*=wechat-contact-tone-],.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field[class*=wechat-contact-tone-],.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field[class*=wechat-contact-tone-]{background:var(--wechat-contact-bg);border-color:var(--wechat-contact-border);box-shadow:inset 3px 0 var(--wechat-contact-accent)}.customer-detail-grid>div[class*=wechat-contact-tone-] span,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field[class*=wechat-contact-tone-] span,.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field[class*=wechat-contact-tone-] span{color:var(--wechat-contact-ink)}.customer-detail-grid>div[class*=wechat-contact-tone-] strong{color:var(--wechat-contact-ink);font-weight:800}.customer-detail-grid span,.customer-detail-grid strong{display:block}.customer-detail-grid span{color:var(--muted);font-size:10px}.customer-detail-grid strong{margin-top:5px;overflow-wrap:anywhere;font-size:11px;line-height:1.35}.onsite-family-details{margin-top:12px}.onsite-family-details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.onsite-family-details dl{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin:0;padding:8px 9px;background:#fff;border:1px solid var(--line);border-radius:5px}.onsite-family-details dt{align-self:start;padding:2px 5px;color:var(--brand-dark);background:var(--brand-soft);border-radius:4px;font-size:10px;font-weight:650}.onsite-family-details dd{min-width:0;margin:0}.onsite-family-details strong,.onsite-family-details span,.onsite-family-details em,.onsite-family-details small{display:block;overflow-wrap:anywhere}.onsite-family-details strong{font-size:11px}.onsite-family-details span,.onsite-family-details em,.onsite-family-details small,.onsite-family-details p{margin:3px 0 0;color:var(--muted);font-size:10px;font-style:normal}.onsite-family-details .family-product-detail{display:grid;grid-template-columns:43px minmax(0,1fr);gap:4px;padding:4px 5px;color:#405048;background:#f4f8f6;border-left:2px solid #9dc9b6;line-height:1.45}.family-product-detail b{color:var(--brand-dark);font-weight:700}.appointment-gifts{min-width:0}.detail-section-label{display:block;margin-bottom:6px;color:var(--muted);font-size:10px}.appointment-gift-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.appointment-gift{min-width:0;min-height:54px;display:grid;grid-template-columns:17px minmax(0,1fr) auto;grid-template-areas:"icon name check" "icon status status";align-items:center;column-gap:6px;row-gap:2px;padding:6px 8px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;text-align:left}button.appointment-gift:hover{border-color:#7fa793;background:#f8fbf9}.appointment-gift>svg:first-child{grid-area:icon;color:var(--muted)}.appointment-gift>svg:last-child:not(:first-child){grid-area:check}.appointment-gift span,.appointment-gift small,.appointment-gift strong{min-width:0;display:block}.appointment-gift>span{grid-area:name}.appointment-gift small{color:var(--muted);font-size:9px}.appointment-gift strong{margin-top:3px;overflow-wrap:anywhere;font-size:10px;line-height:1.3}.appointment-gift em{grid-area:status;color:var(--muted);font-size:9px;font-style:normal;white-space:nowrap}.appointment-gift.exchanged{color:#795b18;background:#fff8e7;border-color:#e5c56c;box-shadow:inset 3px 0 #d6a52e}.appointment-gift.exchanged>svg,.appointment-gift.exchanged em{color:#b27a12}.appointment-gift.redeemed{color:var(--brand-dark);background:var(--brand-soft);border-color:#92bea9;box-shadow:inset 3px 0 var(--brand)}.appointment-gift.redeemed>svg,.appointment-gift.redeemed em{color:var(--brand)}.appointment-gift.redeemed strong{font-weight:750}.appointment-gift.unavailable{grid-template-columns:17px minmax(0,1fr);grid-template-areas:"icon name";color:var(--muted);background:var(--surface-soft);border-style:dashed}.appointment-notes{grid-column:1 / -1;display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.45fr) auto;align-items:end;gap:10px;margin-top:1px;padding-top:10px;border-top:1px dashed var(--line)}.remark-block{min-width:0;display:flex;flex-direction:column;gap:5px}.remark-block>span{color:var(--muted);font-size:10px}.previous-remark{min-height:86px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:6px}.previous-remark>span{font-size:11px;font-weight:650}.remark-block p{max-height:96px;margin:0;overflow:auto;color:#3b4741;font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.current-remark textarea{width:100%;min-height:57px;max-height:110px;padding:7px 9px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;outline:0;resize:vertical;line-height:1.45}.current-remark textarea:focus{border-color:#61927c;box-shadow:0 0 0 3px #176b521a}.remark-save{align-self:end;margin-bottom:1px}.filter-bar{display:flex;align-items:center;gap:9px;margin-bottom:12px}.filter-bar select,.filter-bar input,.field input,.field select,.field textarea{color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;outline:0}.filter-bar select{min-width:116px;height:38px;padding:0 9px}.multi-filter{position:relative;display:inline-flex;flex:0 0 auto}.filter-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:7px;min-width:116px;max-width:154px;height:38px;padding:0 9px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;font:inherit;font-size:12px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.filter-trigger:hover,.filter-trigger[aria-expanded=true]{border-color:#61927c}.filter-trigger svg{flex:0 0 auto;color:var(--muted)}.multi-filter-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:25;min-width:190px;max-height:260px;padding:6px;overflow:auto;background:#fff;border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 10px 28px #19231e29}.multi-filter-select-all{display:block;width:100%;margin-bottom:4px;padding:6px 8px;color:var(--brand-dark);background:var(--brand-soft);border:0;border-radius:4px;text-align:left;font-size:12px;cursor:pointer}.multi-filter-option{display:flex;align-items:center;gap:7px;min-height:30px;padding:4px 7px;color:var(--ink);font-size:12px;cursor:pointer}.multi-filter-option:hover{background:#f4f8f5}.multi-filter-option input{margin:0;accent-color:var(--brand)}.multi-filter-empty{display:block;padding:9px 7px;color:var(--muted);font-size:12px}.search-input{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;background:#fff;border:1px solid var(--line-strong);border-radius:6px}.search-input:focus-within,.filter-bar select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#61927c;box-shadow:0 0 0 3px #176b521a}.search-input svg{flex:0 0 auto;color:var(--muted)}.search-input input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:0}.search-input.grow{flex:1;min-width:190px}.table-scroll{overflow:auto}.mobile-client-ledger,.mobile-family-list,.mobile-department-list,.mobile-gift-list,.phone-actions{display:none}.table-phone-row,.profile-phone-row,.detail-phone-row{display:flex;align-items:center;gap:7px;min-width:0}.table-phone-row>span,.table-phone-row>small,.profile-phone-row>strong,.detail-phone-row>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:861px)and (pointer:fine){.table-phone-row .phone-actions,.profile-phone-row .phone-actions,.detail-phone-row .phone-actions{position:relative;display:inline-flex;flex:0 0 auto;gap:4px}.phone-actions .phone-action{width:16px;height:16px;display:inline-grid;place-items:center;padding:0;color:var(--brand-dark);background:#fff;border:1px solid #9fc8b5;border-radius:3px;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease,transform .12s ease}.phone-actions .phone-action svg{width:10px;height:10px}.phone-actions .phone-action[href^="tel:"]{display:none}.phone-actions .phone-action:active{background:var(--brand-soft);border-color:var(--brand);transform:scale(.94)}.phone-copy-toast{position:absolute;right:0;bottom:calc(100% + 5px);z-index:6;padding:4px 7px;color:#fff;background:#24342d;border-radius:4px;box-shadow:0 4px 12px #19231e33;font-size:10px;line-height:1.2;pointer-events:none;white-space:nowrap;animation:phone-copy-toast-in .16s ease-out}}table{width:100%;border-collapse:collapse;font-size:12px}th{height:42px;padding:0 14px;color:var(--muted);background:#f8faf8;border-bottom:1px solid var(--line);text-align:left;font-size:11px;font-weight:650;white-space:nowrap}td{height:58px;max-width:220px;padding:7px 14px;border-bottom:1px solid #e9eeeb;color:#3c4742}tbody tr{cursor:pointer}tbody tr:hover td{background:#f8fbf9}tbody tr:last-child td{border-bottom:0}.table-edit{width:30px;height:30px;border-color:var(--line)}.table-edit:hover{color:var(--brand);border-color:#94b7a7;background:var(--brand-soft)}.table-client{min-width:135px}.category-tag{min-width:25px;min-height:23px;padding:0 7px}.category-tag.c-A{color:#126448;background:#e4f3ec}.category-tag.c-B{color:#285c9a;background:#e8f0f8}.category-tag.c-C{color:#93601c;background:#f9efd9}.category-tag.c-D{color:#68716d;background:#eff2f0}.core-report-state{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:2px 7px;color:#68716d;background:#eff2f0;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap}.core-report-state.on{color:var(--brand-dark);background:var(--brand-soft)}.client-status.uncontacted{color:#68716d;background:#eff2f0}.client-status.following{color:var(--blue);background:var(--blue-soft)}.client-status.served{color:var(--brand-dark);background:var(--brand-soft)}.client-status.paused{color:var(--amber);background:var(--amber-soft)}.truncate-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-ledger-table{min-width:1460px}.client-ledger-table .client-department-cell{width:180px;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.core-client-table{min-width:1120px}.strategy-ledger-cell{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remark-ledger-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-ledger-table:not(.core-client-table) .remark-ledger-cell,.client-ledger-table:not(.core-client-table) .strategy-ledger-cell{min-width:270px;max-width:270px}.remark-ledger-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remark-preview{display:flex!important;align-items:center;gap:4px;min-width:0}.remark-preview-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remark-preview .text-button{flex:0 0 auto;padding:0;border:0;background:transparent;color:var(--brand-dark);font-size:12px;cursor:pointer}.drawer-remark-list{display:grid;gap:8px}.drawer-remark-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.drawer-remark-row>span:first-child{color:var(--muted);font-size:13px}.drawer-remark-row .remark-preview{min-height:30px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface-muted)}.remark-detail-modal{max-width:min(640px,calc(100vw - 32px))}.remark-detail-content{min-height:120px;max-height:50vh;overflow:auto;white-space:pre-wrap;word-break:break-word;line-height:1.65;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface-muted)}.strategy-detail-modal{width:min(820px,100%)}.strategy-detail-editor{width:100%;min-height:360px;max-height:65vh;padding:14px 16px;color:var(--ink);background:var(--surface-muted);border:1px solid var(--line);border-radius:6px;outline:0;resize:vertical;line-height:1.7;white-space:pre-wrap}.strategy-detail-editor:focus{border-color:#61927c;box-shadow:0 0 0 3px #176b521a}.pagination{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;color:var(--muted);border-top:1px solid var(--line);font-size:11px}.pagination>div{display:flex;align-items:center;gap:7px}.pagination .icon-button{width:30px;height:30px;border-color:var(--line)}.empty-state{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:13px}.empty-state svg{color:#97a59e}.muted{color:var(--muted)}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;z-index:60;display:flex;background:#19231e66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-backdrop{align-items:flex-start;justify-content:center;padding:6vh 16px 24px;overflow-y:auto}.modal{width:min(620px,100%);padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px #19231e3d}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-heading h2{margin:0;font-size:18px}.modal-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.overview-backdrop{z-index:70;padding:0;align-items:stretch}.overview-modal{width:100vw;max-width:none;height:100dvh;max-height:none;display:flex;flex-direction:column;border-radius:0}.overview-toolbar{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;color:var(--muted);font-size:12px}.overview-week-stepper{display:flex;align-items:center;gap:7px}.overview-week-stepper label{min-height:34px;display:flex;align-items:center;gap:7px;padding:0 9px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:6px}.overview-week-stepper label span{color:var(--muted);font-size:11px}.overview-week-stepper input{width:132px;height:30px;padding:0;color:var(--ink);background:transparent;border:0;outline:0;font-size:16px}.overview-search{min-width:0;display:flex;align-items:center;gap:6px;margin-left:auto}.overview-search .search-input{width:220px;height:34px}.overview-search .search-input input{font-size:16px}.overview-mobile-actions{display:contents}.overview-grid-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:7px}.overview-grid-scroll>.loading{min-height:210px}.appointment-overview-grid{width:100%;min-width:0;table-layout:fixed;font-size:12px}.appointment-overview-grid th,.appointment-overview-grid td{vertical-align:top;border-right:1px solid #dfe7e3}.appointment-overview-grid thead th{position:sticky;top:0;z-index:2;height:58px;padding:7px 9px;color:#111827;background:#edf5f0;text-align:center;font-size:17px;font-weight:750}.appointment-overview-grid thead th:first-child{width:66px;z-index:3}.appointment-overview-grid thead th strong,.appointment-overview-grid thead th span{display:block}.appointment-overview-grid thead th small{display:block;margin-top:3px;color:var(--brand-dark);font-size:12px;font-weight:700}.appointment-overview-grid thead th strong{color:#111827;font-size:17px;font-weight:750}.appointment-overview-grid thead th span{margin-top:3px;color:#111827;font-size:14px;font-weight:750}.appointment-overview-grid tbody>tr>th{position:sticky;left:0;z-index:1;width:66px;height:64px;padding:8px 7px;color:#111827;background:#f8faf8;border-right:1px solid var(--line-strong);text-align:center;font-size:17px;font-weight:750;font-variant-numeric:tabular-nums}.appointment-overview-grid td{min-width:138px;height:64px;padding:5px;background:#fff}.appointment-overview-grid tbody tr:nth-child(2n) td{background:#fbfcfb}.overview-appointment{width:100%;display:grid;gap:4px;margin-bottom:5px;padding:9px 10px;color:#111827;background:#fff;border:1px solid #dfe7e3;border-left:4px solid #c7d2cc;border-radius:5px;cursor:pointer;font:inherit;line-height:1.35;overflow-wrap:anywhere;text-align:left}.overview-appointment:last-child{margin-bottom:0}.overview-appointment strong{color:#111827;font-size:17px;font-weight:750}.overview-appointment .overview-department,.overview-appointment .overview-client-name{color:#111827}.overview-appointment small.overview-wechat-contact{color:var(--wechat-contact-ink, #5f7469);font-size:11px}.overview-appointment .overview-gifts{color:#4b5563;font-size:11px;line-height:1.35}.overview-appointment:hover{filter:brightness(.97)}.overview-appointment:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes overview-search-flash{0%,to{box-shadow:0 0 0 0 transparent}18%,48%,78%{box-shadow:0 0 0 3px #e99b2f,0 0 16px #d9770673}}.overview-appointment.search-highlight{animation:overview-search-flash 2s ease-in-out}.overview-appointment.completed{color:#111827;background:#fff;border-left-color:#94a39c}.overview-appointment.cancelled,.overview-appointment.no_show{color:#111827;background:#fff;border-left-color:#d07970}.overview-appointment.has-wechat-contact{color:#111827;background:#fff;border-left-color:var(--wechat-contact-accent)}.overview-appointment.has-wechat-contact small{color:var(--wechat-contact-ink)}.overview-client-drawer{z-index:80}.appointment-time-modal-backdrop{z-index:120}.appointment-time-modal{width:min(560px,100%)}.client-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:180px;margin:9px 0 18px;overflow-y:auto}.client-picker button{min-height:53px;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:7px 9px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;text-align:left}.client-picker button:hover,.client-picker button.selected{border-color:#69a087;background:var(--brand-soft)}.client-picker strong,.client-picker small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-picker strong{font-size:12px}.client-picker small{margin-top:3px;color:var(--muted);font-size:10px}.client-picker button>svg{color:var(--brand)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.field.full{grid-column:1 / -1}.field-label-with-action{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-label-with-action>.text-button{min-height:24px;padding:0 4px;color:var(--brand-dark);background:transparent;border:0;font-size:12px;font-weight:700;cursor:pointer}.field-label-with-action>.text-button:hover{color:var(--brand);text-decoration:underline}.field input,.field select{width:100%;height:38px;padding:0 10px}.time-picker{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px}.time-picker select{min-width:0}.time-picker>span{color:var(--muted);font-size:16px;font-weight:750}.field textarea{width:100%;min-height:82px;padding:9px 10px;resize:vertical;line-height:1.5}.field input.derived-field{color:#53615a;background:#f1f4f2;cursor:default}.check-field{min-height:38px;display:flex;align-items:center;gap:7px;color:var(--ink);font-size:12px}.check-field input{width:16px;height:16px;accent-color:var(--brand)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.drawer-backdrop{justify-content:flex-end}.drawer{width:min(570px,100%);display:flex;flex-direction:column;background:var(--surface);box-shadow:-14px 0 45px #19231e29}.schedule-row:fullscreen .fullscreen-client-drawer{z-index:80}.schedule-row:fullscreen .fullscreen-client-drawer .drawer{width:min(680px,100%)}.drawer-heading{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.drawer-heading>div{min-width:0;display:flex;align-items:center;gap:11px}.drawer-heading h2{margin:0;font-size:17px}.drawer-heading p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.drawer-body{flex:1;padding:18px;overflow-y:auto}.profile-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:7px;overflow:hidden}.profile-grid>div{min-height:62px;padding:11px 13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.profile-grid>div:nth-child(2n){border-right:0}.profile-grid>div:nth-last-child(-n+2){border-bottom:0}.profile-grid span,.profile-grid strong{display:block}.profile-grid span{color:var(--muted);font-size:10px}.profile-grid strong{margin-top:6px;font-size:12px}.drawer-section{margin-top:22px}.drawer-section h3{margin:0 0 11px;font-size:13px}.drawer-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.drawer-section-heading h3{margin:0}.drawer-actions{min-height:66px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.timeline{display:flex;flex-direction:column}.timeline>div{min-height:54px;display:grid;grid-template-columns:14px 1fr;gap:8px;position:relative}.timeline>div:before{content:"";position:absolute;top:14px;bottom:-1px;left:4px;width:1px;background:var(--line-strong)}.timeline>div:last-child:before{display:none}.timeline i{width:9px;height:9px;margin-top:4px;border:2px solid var(--brand);border-radius:50%;background:#fff;z-index:1}.timeline strong,.timeline span{display:block}.timeline strong{font-size:11px}.timeline span{margin-top:4px;color:var(--muted);font-size:11px}.gift-cell{min-width:180px}.gift-client-link{display:inline;padding:0;color:var(--brand-dark);background:transparent;border:0;font:inherit;font-weight:750;text-align:left;text-decoration:none;cursor:pointer}.gift-client-link:hover,.gift-client-link:focus-visible{color:var(--brand);text-decoration:underline;outline:none}.gift-type-summary{margin:12px 0;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:7px}.gift-type-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.gift-type-summary-heading strong{color:var(--ink);font-size:13px}.gift-type-summary-heading span{color:var(--muted);font-size:11px}.gift-type-summary>.muted{margin:0}.gift-type-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}.gift-type-summary-grid>article{min-width:0;padding:10px 11px;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px}.gift-type-summary-grid strong{display:block;overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.gift-type-summary-grid>article>div{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:7px;color:var(--muted);font-size:11px}.gift-type-summary-grid b{margin-left:3px;color:var(--brand-dark);font-size:14px}.gift-cell>strong{display:block;margin-bottom:6px;font-size:11px}.gift-cell>div{display:flex;gap:4px}.gift-cell button{min-height:25px;padding:0 7px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:5px;font-size:10px}.gift-cell button.on{color:var(--brand-dark);background:var(--brand-soft);border-color:#9fc8b5;font-weight:650}.gift-stack{min-width:180px;display:grid;gap:8px}.gift-stack .gift-cell+.gift-cell{padding-top:8px;border-top:1px dashed var(--line)}.core-gift-cell{min-width:120px}.core-gift-cell>span{display:block;color:var(--brand-dark);font-size:11px;line-height:1.5}.core-gift-cell>span+span{margin-top:2px}.core-gift-button{min-width:120px;display:grid;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:4px;margin:0 0 4px;padding:4px 6px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:5px;text-align:left}.core-gift-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.core-gift-button em{grid-column:2;color:var(--muted);font-size:9px;font-style:normal}.core-gift-button:hover{color:var(--brand-dark);border-color:#92bea9;background:#f8fbf9}.core-gift-button.exchanged{color:#795b18;background:#fff8e7;border-color:#e5c56c;box-shadow:inset 3px 0 #d6a52e}.core-gift-button.exchanged em{color:#b27a12}.core-gift-button.redeemed{color:var(--brand-dark);background:var(--brand-soft);border-color:#92bea9;box-shadow:inset 3px 0 var(--brand)}.core-gift-button.redeemed em{color:var(--brand)}.core-gift-button:disabled{cursor:wait;opacity:.7}.gift-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.gift-selector-grid>div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px}.gift-selector-grid>div>strong{display:block;margin-bottom:8px;font-size:11px}.gift-selector-grid>div>div{display:grid;gap:6px}.gift-option{min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:5px 7px;color:var(--ink);background:var(--surface-soft);border-radius:5px;font-size:11px}.gift-option input{width:15px;height:15px;flex:0 0 auto;accent-color:var(--brand)}.gift-option span{overflow-wrap:anywhere}.family-table{min-width:1160px}.id-number-cell{min-width:180px;font-variant-numeric:tabular-nums}.purchase-state{min-width:38px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;color:var(--muted);background:#eff2f0;border-radius:999px;font-size:10px;font-weight:650}.purchase-state.purchased{color:var(--brand-dark);background:var(--brand-soft)}.family-editor-backdrop{z-index:80}.family-modal{width:min(660px,100%)}.schedule-row:fullscreen .family-editor-backdrop,.schedule-row.mobile-fullscreen .family-editor-backdrop{z-index:130}.selected-client{min-height:40px;display:flex;align-items:center;gap:8px;padding:8px 10px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #bdd8cb;border-radius:6px}.family-client-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:170px;margin-top:7px;overflow-y:auto}.family-client-options button{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:5px;text-align:left}.family-client-options button:hover,.family-client-options button.selected{border-color:#8caf9f;background:var(--brand-soft)}.family-client-options strong,.family-client-options small{display:block}.family-client-options small{margin-top:3px;color:var(--muted);font-size:9px}.match-field{position:relative}.autocomplete-field{position:relative;width:100%}.client-match-options{position:absolute;z-index:8;top:calc(100% + 5px);left:0;right:0;display:grid;gap:4px;max-height:190px;padding:5px;overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 12px 28px #19231e24}.client-match-options button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:7px 9px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:5px;text-align:left}.client-match-options button:hover,.client-match-options button:focus-visible{background:var(--brand-soft);border-color:#bdd8cb;outline:none}.client-match-options strong,.client-match-options small{display:block}.client-match-options small{margin-top:3px;color:var(--muted);font-size:10px}.duplicate-client-warning{margin-top:16px;padding:13px 14px;color:#7a3d12;background:#fff7e8;border:1px solid #efc98f;border-radius:7px}.duplicate-client-warning strong,.duplicate-client-warning p{display:block}.duplicate-client-warning p{margin:6px 0 10px;font-size:12px;line-height:1.6}.duplicate-client-list{display:grid;gap:7px;margin-top:10px}.duplicate-client-item{display:grid;gap:3px;padding:9px 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;font-size:12px}.duplicate-client-item span{color:var(--muted)}.duplicate-confirm{margin-top:11px;color:var(--ink)}.duplicate-modal-backdrop{z-index:30}.duplicate-confirm-modal{width:min(520px,calc(100% - 32px))}.duplicate-confirm-modal .duplicate-client-list{max-height:min(42vh,360px);overflow-y:auto}.match-hint{margin-right:auto;font-size:10px}.family-check{padding:8px 10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px}.family-coverage-entry{grid-column:1 / -1;min-width:0}.family-coverage-product{margin-top:7px}.family-coverage-product span{display:flex;align-items:center;justify-content:space-between;gap:8px}.family-coverage-product b{color:#b44738;font-size:10px;font-weight:650}.family-coverage-product textarea{min-height:66px}.family-mini-list{display:grid;gap:6px}.family-mini-list>button{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:8px 10px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;text-align:left}.family-mini-list>button:hover{border-color:#91b3a3;background:var(--brand-soft)}.family-mini-list strong,.family-mini-list small{display:block}.family-mini-list small{margin-top:3px;color:var(--muted);font-size:10px}.family-mini-list>button>span:nth-child(2){text-align:right}.family-mini-list+.pagination{min-height:48px;padding-inline:0}.department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.department-merge-history{display:grid;gap:10px;margin-top:22px}.department-merge-history h2{margin:0;font-size:16px}.department-merge-history p{margin:4px 0 0;color:var(--muted);font-size:12px}.department-merge-list{display:grid;gap:6px;max-width:720px}.department-merge-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:6px}.department-merge-row>span{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.department-merge-row small{color:var(--muted)}.department-card{min-height:72px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px 18px;align-items:center;gap:9px;padding:11px 13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;text-align:left;cursor:pointer}.department-card.editing{cursor:default}.department-card-main{min-width:0}.department-name-input{width:100%;min-width:0;padding:6px 8px;color:var(--ink);background:#fff;border:1px solid #8eb7a4;border-radius:5px;font:inherit;font-size:12px}.department-card-actions{display:flex;align-items:center;gap:3px}.department-card:hover{border-color:#95b8a8;background:var(--brand-soft)}.department-card>svg:first-child{width:34px;height:34px;padding:8px;color:var(--brand);background:var(--brand-soft);border-radius:6px}.department-card>svg:last-child{color:#9aa49f}.department-grid strong,.department-grid span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.department-grid strong{font-size:12px}.department-grid span{margin-top:5px;color:var(--muted);font-size:10px}.department-heading h1{margin-top:10px}.department-title-row{display:flex;align-items:center;gap:5px}.department-title-row h1{flex:0 1 auto;min-width:0}.department-title-row .department-name-input{max-width:360px;margin-top:8px;font-size:18px;font-weight:700}.back-button{min-height:30px;display:inline-flex;align-items:center;gap:4px;padding:0 8px 0 4px;color:var(--brand-dark);background:transparent;border:0;border-radius:5px;font-size:11px}.back-button:hover{background:var(--brand-soft)}.settings-layout{display:grid;gap:14px}.settings-section{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.settings-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.settings-section-heading h2{margin:0;font-size:15px}.settings-section-heading span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.gift-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gift-config-grid>div{min-width:0}.gift-config-grid h3{margin:0 0 10px;font-size:12px}.tag-editor{display:grid;gap:11px}.config-tags{min-height:38px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:7px}.config-tags>span{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:3px 5px 3px 9px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #c8dfd4;border-radius:6px;font-size:11px}.config-tags button{width:22px;height:22px;display:grid;place-items:center;padding:0;color:#5f786c;background:transparent;border:0;border-radius:4px}.config-tags button:hover{color:var(--red);background:#fff}.tag-add{display:flex;gap:7px}.tag-add input{min-width:0;flex:1;height:38px;padding:0 10px;color:var(--ink);border:1px solid var(--line-strong);border-radius:6px;outline:0}.tag-add input:focus{border-color:#61927c;box-shadow:0 0 0 3px #176b521a}.audit-list{padding:0 16px}.audit-list>div{min-height:60px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.audit-list>div:last-child{border-bottom:0}.audit-list svg{color:var(--brand)}.audit-list strong,.audit-list span{display:block}.audit-list strong{font-size:12px}.audit-list span{margin-top:4px;color:var(--muted);font-size:10px}.toast{position:fixed;z-index:100;left:50%;bottom:28px;max-width:min(420px,calc(100vw - 32px));padding:10px 14px;transform:translate(-50%);color:#fff;background:#24342d;border-radius:6px;box-shadow:var(--shadow);font-size:12px}.import-attention-button{color:#8a4a12;background:#fff7e8;border-color:#efc98f}.import-attention-button:hover{background:#ffefd2}.import-attention-backdrop{z-index:125}.import-attention-modal{width:min(680px,100%)}.import-attention-list{display:grid;gap:8px;max-height:min(52vh,430px);overflow-y:auto}.import-attention-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:10px 11px;color:#5f3d16;background:#fffaf0;border:1px solid #f0d5a5;border-radius:6px;line-height:1.5}.import-attention-row strong{white-space:nowrap;font-size:12px}.import-attention-row span{min-width:0;font-size:12px;overflow-wrap:anywhere}.import-attention-row small{display:block;margin:4px 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere;white-space:normal}.import-attention-row>span>span{display:block}.import-overwrite-panel{display:grid;gap:7px;margin-bottom:10px;padding:10px 11px;color:#5f3d16;background:#fff7e8;border:1px solid #efc98f;border-radius:6px}.import-overwrite-panel strong{font-size:13px}.import-overwrite-panel p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.import-overwrite-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.import-overwrite-options label{display:flex;align-items:flex-start;gap:6px;min-width:0;color:var(--ink);font-size:12px}.import-overwrite-options input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--brand)}.import-overwrite-options label>span{min-width:0;display:grid;gap:2px}.import-overwrite-options label small{color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}.form-error{padding:9px 10px;color:var(--red);background:var(--red-soft);border-radius:6px;font-size:12px}.archive-confirm-modal{width:min(460px,calc(100% - 32px))}.archive-warning{padding:13px 14px;color:#8a4a12;background:#fff7e8;border:1px solid #efc98f;border-radius:7px}.archive-warning strong,.archive-warning p{display:block}.archive-warning strong{font-size:13px}.archive-warning p{margin:7px 0 0;font-size:12px;line-height:1.65}.login-shell{min-height:100vh;display:grid;grid-template-rows:76px 1fr auto;background:#f4f6f4}.login-brand{display:flex;align-items:center;gap:11px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line)}.login-panel{width:min(390px,calc(100% - 32px));align-self:center;justify-self:center;display:flex;flex-direction:column;gap:15px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.login-heading{margin-bottom:7px}.login-heading h1{margin:0;font-size:22px}.login-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.login-panel label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px}.login-panel input{height:40px;padding:0 11px;color:var(--ink);border:1px solid var(--line-strong);border-radius:6px;outline:0}.login-panel input:focus{border-color:#61927c;box-shadow:0 0 0 3px #176b521a}.login-panel form{display:flex;flex-direction:column;gap:15px}.auth-links{display:flex;justify-content:center;gap:17px}.auth-links button{display:inline-flex;align-items:center;gap:5px;padding:0;color:var(--brand-dark);background:transparent;border:0;font-size:11px}.auth-links button:hover{text-decoration:underline}.site-footer{min-height:42px;display:flex;align-items:center;justify-content:center;padding:10px 24px;color:var(--muted);border-top:1px solid var(--line);font-size:11px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--brand-dark);text-decoration:underline}.register-panel{width:min(520px,calc(100% - 32px))}.register-panel .form-grid{margin:0}.registration-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}.registration-steps li{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;position:relative;color:#8a938f}.registration-steps li:not(:last-child):after{content:"";position:absolute;z-index:0;top:13px;left:28px;right:7px;height:1px;background:var(--line-strong)}.registration-steps li>span{z-index:1;width:28px;height:28px;display:grid;place-items:center;color:#737d78;background:#f3f5f4;border:1px solid var(--line-strong);border-radius:50%;font-size:11px;font-weight:700}.registration-steps li>strong{z-index:1;width:max-content;max-width:100%;padding-right:7px;overflow:hidden;background:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.registration-steps li.active{color:var(--brand-dark)}.registration-steps li.active>span{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.registration-steps li.completed{color:var(--brand-dark)}.registration-steps li.completed:after{background:#8fbaa6}.registration-steps li.completed>span{color:var(--brand-dark);background:var(--brand-soft);border-color:#9bc3b0}.registration-stage{min-height:238px;display:flex;flex-direction:column;gap:15px;padding:18px;background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;animation:registration-stage-in .16s ease-out}@keyframes registration-stage-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.registration-stage-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.registration-stage-heading strong,.registration-stage-heading span{display:block}.registration-stage-heading strong{color:var(--ink);font-size:13px}.registration-stage-heading span{margin-top:4px;color:var(--muted);font-size:10px}.verification-input-row{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:8px}.verification-send{min-height:40px;padding-inline:10px;font-size:11px}.form-notice{min-height:38px;display:flex;align-items:center;gap:8px;padding:9px 10px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #c8dfd4;border-radius:6px;font-size:11px}.form-notice svg{flex:0 0 auto}.registration-actions{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:9px}.registration-actions.single{grid-template-columns:1fr}.demo-hint{padding:9px 10px;color:var(--brand-dark);background:var(--brand-soft);border-radius:6px;font-size:11px}.demo-hint code{font-weight:700;letter-spacing:.4px}.reset-form{margin-top:4px;padding-top:15px;border-top:1px solid var(--line)}.mobile-nav,.sidebar-scrim{display:none}.account-page,.profile-page{display:grid;gap:14px}.account-config-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin-top:-8px}.account-section{min-width:0;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.account-switch-section{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.account-switch-section h2{margin:0;font-size:15px}.account-switch-section>div>span{display:block;margin-top:5px;color:var(--muted);font-size:10px}.switch-control{width:92px;min-height:32px;display:inline-grid;grid-template-columns:28px 1fr;align-items:center;gap:5px;padding:3px 7px 3px 3px;color:var(--muted);background:#edf1ef;border:1px solid var(--line-strong);border-radius:18px}.switch-control i{width:24px;height:24px;display:block;background:#fff;border:1px solid #c7cecb;border-radius:50%;box-shadow:0 1px 3px #19231e1f;transition:transform .16s ease}.switch-control span{font-size:10px;font-style:normal;white-space:nowrap}.switch-control.on{color:#fff;background:var(--brand);border-color:var(--brand)}.switch-control.on i{transform:translate(4px);border-color:#fff}.switch-control:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.account-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid var(--line)}.account-section-heading h2{margin:0;font-size:15px}.account-section-heading span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.ai-channel-config{display:grid;gap:12px;margin-top:14px;padding:14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:7px}.ai-channel-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ai-channel-heading h3{margin:0;color:var(--ink);font-size:13px}.ai-channel-heading>span{margin:0;flex:1 1 240px;font-size:10px}.ai-channel-heading .switch-control{margin-left:auto}.ai-config-grid{margin-top:0}.ai-channel-config>.secondary{justify-self:start}.account-table{min-width:1180px}.account-table td{vertical-align:top;height:auto;min-height:72px;padding:12px 14px}.account-table td>strong,.account-table td>small{display:block}.account-table td>strong{font-size:12px}.account-table td>small{margin-top:4px;color:var(--muted);font-size:10px}.account-detail-trigger{display:block;width:100%;padding:0;color:inherit;background:transparent;border:0;text-align:left;cursor:pointer}.account-detail-trigger:hover strong{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}.account-detail-trigger>strong,.account-detail-trigger>small{display:block}.account-detail-trigger>strong{font-size:12px}.account-detail-trigger>small{margin-top:4px;color:var(--muted);font-size:10px}.account-contexts{display:grid;gap:5px;min-width:180px}.account-context-chip{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:3px 3px 3px 7px;color:var(--brand-dark);background:var(--brand-soft);border-radius:5px}.account-context-chip span{display:block;font-size:10px}.account-context-chip .icon-button{width:22px;height:22px;color:var(--brand-dark);border-color:transparent}.account-context-chip .icon-button:hover{background:#22694a1a}.account-context-chip .icon-button:disabled{opacity:.35}.account-grant{display:flex;align-items:flex-start;gap:5px;min-width:220px}.project-multi-select{width:188px}.project-multi-select summary{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 8px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:5px;cursor:pointer;list-style:none}.project-multi-select summary::-webkit-details-marker{display:none}.project-multi-select summary span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.project-multi-select[open] summary{border-color:var(--brand)}.project-multi-select[open] summary svg{transform:rotate(180deg)}.multi-select-options{max-height:156px;display:grid;gap:2px;margin-top:4px;padding:5px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 6px 18px #19231e1a}.multi-select-options label{min-height:30px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:start;gap:6px;padding:6px;border-radius:4px;cursor:pointer}.multi-select-options label:hover{background:var(--surface-soft)}.multi-select-options input{margin:1px 0 0}.multi-select-options label span{font-size:10px;line-height:1.4;overflow-wrap:anywhere}.account-grant .icon-button{width:30px;height:30px;border-color:var(--line)}.account-actions{display:flex;align-items:center;gap:5px}.account-row-actions{align-items:flex-start;flex-direction:column;gap:8px}.account-row-action-buttons{display:flex;align-items:center;gap:5px}.icon-button.danger{color:var(--red)}.icon-button.danger:hover{background:var(--red-soft)}.danger-text{color:var(--red)}.danger-text:hover{color:var(--red);border-color:#efb4ae;background:var(--red-soft)}.ai-policy{display:grid;grid-template-columns:repeat(2,minmax(96px,1fr));align-items:end;gap:7px;min-width:250px}.ai-policy label{color:var(--muted);font-size:10px}.ai-policy-toggle,.ai-policy-hint{grid-column:1 / -1}.ai-policy-toggle{display:inline-flex;align-items:center;gap:4px}.ai-policy-field{display:grid;gap:3px}.ai-policy-field span{min-height:24px;line-height:12px}.ai-policy-hint{color:var(--muted);font-size:10px;line-height:14px}.ai-policy input[type=number]{width:100%;height:30px;padding:0 6px;border:1px solid var(--line-strong);border-radius:5px}.strategy-settings-section textarea{min-height:132px}.skill-file-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 12px;background:var(--surface-muted, #f6f7f9);border:1px solid var(--border, #e5e7eb);border-radius:6px}.skill-upload-button{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.skill-upload-button input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}@media(max-width:640px){.skill-file-toolbar{align-items:flex-start;flex-direction:column}}.ai-config-grid small{margin-left:5px;color:var(--brand-dark);font-size:10px;font-weight:500}.field .field-hint{margin:4px 0 0;color:var(--muted);font-size:11px;font-weight:500;line-height:1.45}.strategy-setting-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}.strategy-setting-actions>span{color:var(--muted);font-size:10px}.config-actions{flex-wrap:wrap}.config-actions>span{margin-right:auto}.connection-test-result{max-width:320px;font-size:10px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.connection-test-result.success{color:var(--brand-dark)}.connection-test-result.error{color:var(--red)}.account-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.key-list,.factory-list,.request-list{display:grid;gap:7px}.key-list>div,.request-list>div{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.key-list>div:last-child,.request-list>div:last-child{border-bottom:0}.key-list strong,.key-list small,.request-list strong,.request-list span,.request-list small{display:block}.key-list strong{color:var(--brand-dark);font-size:12px;letter-spacing:.4px}.key-list small,.request-list span,.request-list small{margin-top:4px;color:var(--muted);font-size:10px}.inline-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,1fr) auto;gap:7px;margin-bottom:14px}.inline-form select,.inline-form input{min-width:0;height:36px;padding:0 9px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:5px}.factory-list>div{padding:10px 0;border-bottom:1px solid var(--line)}.factory-list>div:first-child{padding-top:0}.factory-list>div:last-child{padding-bottom:0;border-bottom:0}.factory-list>div.disabled .factory-group{border-left-color:#d8dddb}.factory-heading{min-height:34px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:5px}.factory-heading strong,.factory-heading span{display:block}.factory-heading strong{font-size:12px}.factory-heading span{margin-top:3px;color:var(--muted);font-size:10px}.compact-switch{width:78px;min-height:28px;grid-template-columns:22px 1fr;padding:2px 6px 2px 2px}.compact-switch i{width:20px;height:20px}.factory-group{display:grid;grid-template-columns:80px 1fr;gap:8px;padding:7px 0 7px 9px;border-left:2px solid #c8dfd4}.factory-group span{font-size:11px;font-weight:650}.factory-group small{color:var(--muted);font-size:10px;line-height:1.5}.request-list>div{align-items:flex-start}.request-list>div>div:last-child{display:flex;gap:5px;flex:0 0 auto}.request-groups{display:grid;gap:10px}.request-year-group,.request-month-group{border:1px solid var(--line);border-radius:6px;overflow:hidden}.request-month-group{margin:0 10px 10px;border-radius:5px}.request-group-toggle{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;color:var(--ink);background:#f3f6f4;border:0;font:inherit;text-align:left;cursor:pointer}.request-year-group>.request-group-toggle{color:var(--brand-dark);background:#e7f1ec}.request-month-toggle{min-height:32px;color:var(--muted);background:#fafcfb;font-size:11px}.request-group-toggle svg{transition:transform .18s ease}.request-group-toggle svg.collapsed{transform:rotate(-90deg)}.request-month-group .request-list{padding:0 10px}.request-list .icon-button.danger{flex:0 0 auto}.profile-section .form-grid{margin-top:2px}.profile-form-actions{grid-column:1 / -1}.readonly-account-email{min-height:42px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 11px;color:var(--muted);background:#f3f6f4;border:1px solid var(--line);border-radius:6px}.readonly-account-email>strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.readonly-account-email>span{min-height:24px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:650;white-space:nowrap}.readonly-account-email>span.verified{color:var(--brand-dark);background:#ddf0e7}.readonly-account-email>span.unverified{color:var(--amber);background:var(--amber-soft)}.profile-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.profile-security-grid .account-section-heading>svg{flex:0 0 auto;color:var(--brand)}.profile-security-form{align-items:end}.profile-send-row{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:7px}.profile-send-row .secondary{min-height:38px;padding-inline:10px;font-size:11px}.profile-demo-code{grid-column:1 / -1}.verification-mode-switch{min-width:218px;min-height:34px;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;background:#edf1ef;border:1px solid var(--line);border-radius:6px}.verification-mode-switch button{min-width:0;padding:0 8px;color:var(--muted);background:transparent;border:0;border-radius:4px;font-size:10px;white-space:nowrap}.verification-mode-switch button.active{color:var(--brand-dark);background:#fff;box-shadow:0 1px 4px #19231e1a;font-weight:650}.password-email-context{min-height:42px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px}.password-email-context>svg{color:var(--brand)}.password-email-context>strong{min-width:0;overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.password-email-context .secondary{min-height:32px}.password-match-hint{grid-column:1 / -1;min-height:28px;display:flex;align-items:center;gap:5px;margin-top:-4px;font-size:10px}.password-match-hint.matched{color:var(--brand-dark)}.password-match-hint.mismatch{color:var(--red)}.account-detail-modal{width:min(680px,100%)}.account-detail-summary{display:grid;grid-template-columns:72px minmax(0,1fr) 72px minmax(0,1fr);gap:8px 12px;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px}.account-detail-summary span{color:var(--muted);font-size:11px}.account-detail-summary strong{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-detail-projects{margin-top:18px}.account-detail-projects h3{margin:0 0 9px;font-size:13px}.account-detail-project{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.account-detail-project:last-child{border-bottom:0}.account-detail-project strong,.account-detail-project span{display:block}.account-detail-project strong{font-size:12px}.account-detail-project span{margin-top:4px;color:var(--muted);font-size:10px}.account-detail-project small{color:var(--brand-dark);font-size:10px;white-space:nowrap}.danger-account-section{border-color:#efb4ae}.danger-account-section .account-section-heading>svg{flex:0 0 auto;color:var(--red)}.secret-banner{min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 11px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #c8dfd4;border-radius:7px;font-size:11px}.secret-banner span{flex:1}.secret-banner code{font-weight:700;letter-spacing:.4px}@media(max-width:1120px){.summary-strip{grid-template-columns:repeat(4,1fr)}.onsite-meta{grid-column:1 / -1;justify-content:flex-start;padding-top:11px;border-top:1px solid var(--line)}.schedule-row{grid-template-columns:62px minmax(180px,1.3fr) minmax(170px,1.4fr) 90px 72px}.schedule-row .row-actions{grid-column:1 / -1;display:flex}.appointment-details{grid-template-columns:1fr}.customer-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-config-grid,.account-columns,.profile-security-grid{grid-template-columns:1fr}}@media(max-width:860px){.sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:12px 0 35px #19231e29}.sidebar.open{transform:translate(0)}.sidebar-scrim{position:fixed;inset:0;z-index:19;display:block;background:#19231e4d;border:0}.workspace{width:100%;margin-left:0;padding-bottom:66px}.topbar{height:62px;padding:0 16px}.today-view{height:calc(100vh - 183px);height:calc(100dvh - 183px);min-height:300px}.today-sticky-zone{top:62px;margin-top:-21px;padding-top:21px}.mobile-menu{display:inline-grid!important}.topbar-title{margin-right:auto;margin-left:8px}.page-content{padding:21px 16px 34px}.mobile-nav{position:fixed;inset:auto 0 0;z-index:18;min-height:62px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);background:transparent;border:0;font-size:9px}.mobile-nav button.active{color:var(--brand);font-weight:650}.schedule-row{grid-template-columns:58px minmax(150px,1fr) 76px;gap:10px}.schedule-row>time{grid-column:1;grid-row:1}.schedule-row>.client-cell{grid-column:2;grid-row:1}.schedule-row>.status-badge{grid-column:3;grid-row:1}.schedule-row .strategy-cell{grid-column:1 / -1;grid-row:2}.schedule-row .assignee{display:none}.schedule-row .row-actions{grid-column:1 / -1;grid-row:3;display:flex;justify-content:flex-start}.strategy-cell p{overflow:visible;white-space:pre-wrap;word-break:break-word;line-height:1.5}.customer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onsite-family-details>div{grid-template-columns:1fr}.appointment-notes{grid-template-columns:1fr;align-items:stretch;gap:8px}.remark-save{width:100%}.filter-bar{flex-wrap:wrap}.search-input.grow{flex-basis:100%}.gift-selector-grid{grid-template-columns:1fr}.appointment-time-modal-backdrop{align-items:stretch;justify-content:center;padding:max(8px,env(safe-area-inset-top)) 6px max(70px,env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:contain}.appointment-time-modal{width:100%;max-width:none;height:min(560px,calc(100dvh - max(78px,env(safe-area-inset-top)) - max(70px,env(safe-area-inset-bottom))));max-height:none;margin:0;padding:10px;box-sizing:border-box;min-width:0;display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden;overscroll-behavior:contain}.appointment-time-modal .modal-heading{flex:0 0 auto;min-width:0;margin-bottom:10px}.appointment-time-modal .modal-heading>div{min-width:0}.appointment-time-modal .modal-heading h2{font-size:19px}.appointment-time-modal .modal-heading p{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.appointment-time-modal .form-grid{flex:1 1 auto;min-height:0;grid-template-columns:minmax(0,1fr);gap:12px;overflow-y:auto;align-content:start;padding-bottom:4px}.appointment-time-modal .form-grid,.appointment-time-modal .field,.appointment-time-modal .time-picker{min-width:0;max-width:100%}.appointment-time-modal .field.full{grid-column:1 / -1}.appointment-time-modal .field{gap:4px}.appointment-time-modal .field input,.appointment-time-modal .field select{width:100%;max-width:100%;height:38px;min-height:38px;min-width:0;box-sizing:border-box}.appointment-time-modal .field input[type=date]{min-width:0;padding-inline:5px;font-size:15px;letter-spacing:0}.appointment-time-modal .field input.derived-field{min-width:0;padding-inline:7px;font-size:14px}.appointment-time-modal .time-picker{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr);gap:3px}.appointment-time-modal .time-picker select{min-width:0;padding-inline:3px;font-size:15px}.appointment-time-modal .modal-actions{min-width:0;flex-wrap:nowrap}.appointment-time-modal .modal-actions button{min-width:0;max-width:48%;flex:1 1 0;padding-inline:7px;font-size:12px;white-space:nowrap}.appointment-time-modal .modal-actions{margin-top:10px;padding-top:9px}.appointment-time-modal .modal-actions{flex:0 0 auto;margin-bottom:0;padding-bottom:0;background:var(--surface)}}@media(max-width:860px){.appointment-time-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;width:100vw;box-sizing:border-box;padding:max(10px,env(safe-area-inset-top)) 10px max(76px,env(safe-area-inset-bottom));background:#141d1975;overflow-x:hidden}.appointment-time-modal{flex:0 0 auto;width:min(560px,calc(100vw - 20px));max-width:calc(100vw - 20px);box-sizing:border-box;max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(86px,env(safe-area-inset-bottom)));overflow-y:auto;overflow-x:hidden}}@media(max-width:600px),(max-width:860px)and (pointer:coarse){html,body,#root{max-width:100%;overflow-x:hidden}.primary,.secondary{box-sizing:border-box;min-height:38px;line-height:1;text-align:center}.primary>svg,.secondary>svg,.icon-button>svg{flex:0 0 auto;vertical-align:middle}.primary>svg,.secondary>svg{width:16px;height:16px}.heading-actions,.today-page-heading>.heading-actions{align-items:stretch}.heading-actions>.primary,.heading-actions>.secondary{display:inline-flex;align-items:center;justify-content:center}.filter-bar{align-items:stretch;gap:7px}.filter-bar select,.filter-bar .search-input,.filter-bar .secondary{min-height:38px;box-sizing:border-box}.mobile-client-card,.mobile-family-card,.mobile-gift-card{box-sizing:border-box;gap:9px;padding:12px}.mobile-client-card-heading,.mobile-family-card>div:first-child,.mobile-gift-card>div:first-child{align-items:center}.mobile-client-card-meta{align-items:center}.mobile-client-card-tags,.mobile-client-card-income,.mobile-family-purchases{min-height:23px;align-content:center}.mobile-client-card-actions{align-items:center;min-height:34px}.mobile-client-card-actions>.primary,.mobile-client-card-actions>.secondary{min-height:34px}.mobile-core-gifts .core-gift-button,.mobile-gift-card .gift-cell button{min-height:32px;box-sizing:border-box}.pagination{align-items:center;gap:7px}.pagination .icon-button{flex:0 0 30px}.pagination select{min-height:30px}.mobile-nav button{min-height:62px;line-height:1.1}.mobile-nav button svg{width:21px;height:21px}.project-context strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hospital-income-summary{min-width:132px;width:132px;padding:4px 6px}.hospital-income-summary>div{grid-template-columns:63px minmax(0,1fr);column-gap:4px}.hospital-income-summary span{font-size:8px}.hospital-income-summary strong{font-size:10px}.hospital-income-summary small{display:none}.project-context span,.project-dot,.project-context>svg{display:none}.project-context{min-height:36px;max-width:104px;padding:4px 5px}.project-context strong{max-width:94px}.project-menu{position:fixed;top:57px;right:8px}.page-heading{flex-direction:column;align-items:stretch;margin-bottom:17px}.page-heading h1{font-size:20px}.heading-actions{justify-content:space-between}.page-heading>.heading-actions{flex-wrap:wrap;justify-content:flex-start}.page-heading>.heading-actions>.primary,.page-heading>.heading-actions>.secondary{flex:1}.heading-actions .date-stepper{flex:1}.date-stepper-input{flex:1;width:auto;min-width:0}.date-stepper-input input{width:100%}.summary-strip{grid-template-columns:repeat(2,1fr);padding:10px 13px}.summary-strip>div:not(.onsite-meta){padding:8px 12px}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.summary-strip>div:nth-child(3){padding-left:0}.summary-strip strong{font-size:20px}.onsite-meta{flex-wrap:wrap;font-size:10px}.member-legend{display:none}.panel-heading{min-height:55px}.schedule-list{padding:0}.schedule-row:before{left:0}.schedule-row{min-height:76px;grid-template-columns:52px minmax(125px,1fr) 64px;padding:14px 12px}.appointment-gift-list{grid-template-columns:1fr}.client-cell span{max-width:160px}.schedule-row .client-initial,.table-client .client-initial{display:none}.filter-bar select{flex:1;min-width:calc(50% - 5px)}.page-content{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.table-panel{margin-inline:0;border-radius:8px}.table-scroll table{min-width:880px}.desktop-client-ledger,.desktop-family-list,.desktop-department-list,.desktop-gift-list{display:none}.mobile-client-ledger,.mobile-family-list,.mobile-department-list,.mobile-gift-list{display:grid;gap:9px;padding:10px}.mobile-client-card,.mobile-family-card,.mobile-gift-card{display:grid;gap:10px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:7px}.mobile-client-card{cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-client-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.mobile-client-card-heading>div,.mobile-family-card>div:first-child,.mobile-gift-card>div:first-child{min-width:0}.mobile-client-card-heading strong,.mobile-family-card strong,.mobile-gift-card strong{display:block;color:var(--ink);font-size:16px;line-height:1.3}.mobile-client-card-heading span:not(.client-status),.mobile-family-card>div:first-child span,.mobile-gift-card>div:first-child span{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mobile-phone-row,.detail-phone-row{display:flex;align-items:center;gap:5px;min-width:0}.mobile-phone-row>span{flex:1;min-width:0}.phone-actions{position:relative;display:inline-flex;flex:0 0 auto;gap:3px}.phone-action{width:17px;height:17px;display:inline-grid;place-items:center;padding:0;color:var(--brand-dark);background:#fff;border:1px solid #9fc8b5;border-radius:3px;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease,transform .12s ease}.phone-action svg{width:10px;height:10px}.phone-action:active,.phone-action.is-pressed{background:var(--brand-soft);border-color:var(--brand);transform:scale(.92)}.phone-copy-toast{position:absolute;right:0;bottom:calc(100% + 5px);z-index:6;padding:4px 7px;color:#fff;background:#24342d;border-radius:4px;box-shadow:0 4px 12px #19231e33;font-size:10px;line-height:1.2;pointer-events:none;white-space:nowrap;animation:phone-copy-toast-in .16s ease-out}@keyframes phone-copy-toast-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.detail-phone-row{margin-top:8px}.detail-phone-row strong{min-width:0;margin-top:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-client-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;color:#44514b;font-size:12px;line-height:1.4}.mobile-client-card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-client-card-tags,.mobile-client-card-income,.mobile-family-purchases{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted);font-size:11px}.mobile-client-card-tags>span:not(.category-tag),.mobile-client-card-income span,.mobile-family-purchases span{min-height:23px;display:inline-flex;align-items:center;padding:2px 7px;background:var(--surface-soft);border-radius:999px}.mobile-client-remarks{display:grid;gap:5px;min-width:0}.mobile-client-remarks>div{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:7px;min-width:0;color:#46534d;font-size:12px}.mobile-client-remarks>div>span:first-child{color:var(--muted)}.mobile-client-remarks small{color:var(--muted)}.mobile-client-remarks .remark-preview{min-height:28px;padding:3px 6px;background:var(--surface-soft);border-radius:4px}.mobile-client-remarks .remark-preview .text-button{font-size:12px}.mobile-rights-letter{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:7px;padding-top:8px;border-top:1px solid var(--line)}.mobile-rights-letter .check-field{min-width:max-content;font-size:12px}.mobile-rights-letter input:not([type=checkbox]){width:100%;min-width:0;height:34px;padding:5px 7px;border:1px solid var(--line);border-radius:5px;font-size:16px}.mobile-rights-letter .secondary{min-height:34px;padding-inline:9px}.mobile-family-purchases .purchased{color:var(--brand-dark);background:var(--brand-soft)}.mobile-client-note,.mobile-family-card>p{display:-webkit-box;margin:0;overflow:hidden;color:#46534d;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mobile-client-card-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:9px;border-top:1px dashed var(--line)}.mobile-client-card-actions .secondary{min-height:34px}.mobile-core-gifts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mobile-core-gifts .core-gift-button{width:100%;min-width:0}.mobile-gift-card>section{padding-top:10px;border-top:1px dashed var(--line)}.gift-type-summary{margin:10px 0;padding:12px}.gift-type-summary-grid{grid-template-columns:1fr;gap:7px}.gift-type-summary-grid>article{padding:10px}.mobile-gift-card h3{margin:0 0 8px;color:var(--muted);font-size:11px}.mobile-gift-card .gift-stack,.mobile-gift-card .gift-cell{min-width:0}.mobile-gift-card .gift-cell{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-gift-card .gift-cell>strong{margin:0}.mobile-gift-card .gift-cell button{min-height:30px;font-size:11px}.client-picker,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal:not(.overview-modal){max-height:calc(100dvh - 24px);padding:17px;overflow-y:auto;overscroll-behavior:contain}.modal:not(.overview-modal) .modal-actions{position:sticky;bottom:-17px;padding-bottom:max(15px,env(safe-area-inset-bottom));background:var(--surface)}.drawer{height:100dvh}.drawer-actions{position:sticky;bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--surface)}.family-client-options,.profile-grid{grid-template-columns:1fr}.profile-grid>div{border-right:0}.profile-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.profile-grid>div:last-child{border-bottom:0}.department-grid{grid-template-columns:1fr}.settings-section{padding:14px}.settings-section-heading{align-items:flex-start}.tag-add{flex-direction:column}.tag-add .secondary{width:100%}.project-menu-actions{grid-template-columns:1fr}.account-section{padding:14px}.account-section-heading{align-items:flex-start}.ai-chat-scope{align-items:flex-start;flex-wrap:wrap;gap:6px 8px;margin-top:-4px}.ai-chat-usage{flex-basis:100%;width:100%;margin-left:25px}.ai-chat-scope small{flex-basis:100%;margin-left:25px}.ai-chat-panel{min-height:calc(100dvh - 220px);display:block;border-radius:7px}.ai-chat-history{display:none;max-height:220px;border-right:0;border-bottom:1px solid var(--line)}.ai-chat-panel.history-visible .ai-chat-history{display:flex}.ai-chat-history-list{max-height:164px}.ai-history-toggle{display:inline-flex}.ai-chat-toolbar{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 12px}.ai-chat-toolbar>div{width:100%;justify-content:flex-start}.ai-chat-toolbar .secondary{flex:1 1 auto}.ai-chat-messages{min-height:280px;padding:13px 11px}.ai-chat-message{max-width:94%}.ai-chat-message p{padding:9px 10px;font-size:13px}.ai-chat-composer{padding:11px 12px max(12px,env(safe-area-inset-bottom))}.ai-chat-composer-footer{align-items:flex-end}.ai-chat-composer-footer .primary{min-width:82px}.profile-password-heading{display:grid}.verification-mode-switch{width:100%;min-width:0}.profile-send-row{grid-template-columns:1fr}.profile-send-row .secondary{width:100%}.password-email-context{grid-template-columns:18px minmax(0,1fr);padding:9px 10px}.password-email-context .secondary{grid-column:1 / -1;width:100%}.config-actions{align-items:stretch}.config-actions>span,.config-actions>.connection-test-result{flex-basis:100%;max-width:none}.config-actions>button{flex:1;min-width:136px}.account-switch-section{align-items:flex-start}.inline-form{grid-template-columns:1fr}.factory-heading,.secret-banner{align-items:flex-start}.login-panel{padding:24px 20px}.register-panel{align-self:start;margin-block:24px}.registration-steps li{grid-template-columns:26px minmax(0,1fr);gap:5px}.registration-steps li>span{width:26px;height:26px}.registration-steps li:not(:last-child):after{top:12px;left:26px;right:4px}.registration-steps li>strong{padding-right:4px;font-size:10px}.registration-stage{min-height:260px;padding:15px}.verification-input-row{grid-template-columns:1fr}.verification-send{width:100%}.today-view{height:calc(100vh - 155px);height:calc(100dvh - 155px);min-height:260px}.today-sticky-zone{margin-top:-6px;padding-top:6px}.today-sticky-zone .page-heading,.today-sticky-zone .summary-strip{margin-bottom:5px}.today-view .schedule-panel>.panel-heading{min-height:40px;padding-block:5px}}@media(max-width:1100px){.schedule-row:fullscreen{grid-template-columns:96px minmax(0,1fr) auto;gap:16px;padding:24px 24px 32px}.schedule-row:fullscreen>time{grid-column:1;grid-row:1}.schedule-row:fullscreen>.client-cell{grid-column:2;grid-row:1}.schedule-row:fullscreen>.status-badge{grid-column:3;grid-row:1}.schedule-row:fullscreen .strategy-cell{grid-column:1 / -1;grid-row:2}.schedule-row:fullscreen .assignee{display:flex;grid-column:1 / 2;grid-row:3}.schedule-row:fullscreen .row-actions{grid-column:2 / -1;grid-row:3}.schedule-row:fullscreen .appointment-details{grid-column:1 / -1;grid-template-columns:1fr;gap:20px}.schedule-row:fullscreen .appointment-notes{grid-column:1 / -1;grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr) auto;gap:14px}}@media(max-width:680px){.today-sticky-zone{top:62px;margin-top:-12px;padding-top:12px}.today-sticky-zone .page-heading{gap:8px;margin-bottom:8px}.today-sticky-zone .today-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.today-sticky-zone .page-heading h1{font-size:17px;line-height:1.15}.today-sticky-zone .today-mobile-date-stepper{display:flex;width:166px;min-width:166px;height:38px;flex:0 0 166px}.today-sticky-zone .today-mobile-date-stepper .icon-button{width:30px;height:36px}.today-sticky-zone .today-mobile-date-stepper .date-stepper-input{width:104px;height:36px}.today-sticky-zone .today-mobile-date-stepper .date-stepper-input{flex:0 0 104px}.today-sticky-zone .today-mobile-date-stepper .date-stepper-input input{position:absolute;inset:0;z-index:2;width:100%;height:100%;min-width:0;padding:0;opacity:0;pointer-events:auto;font-size:16px!important;cursor:pointer}.today-sticky-zone .today-mobile-date-stepper .date-stepper-display{position:relative;z-index:1;display:flex;width:100%;height:36px;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.05;cursor:pointer}.today-sticky-zone .today-mobile-date-stepper .date-stepper-display strong{display:block;font-size:12px;font-weight:700}.today-sticky-zone .today-mobile-date-stepper .date-stepper-display small{display:block;margin-top:2px;font-size:12px;font-weight:650}.today-sticky-zone .today-mobile-date-stepper .date-stepper-arrow{position:relative;z-index:2;flex:0 0 30px}.today-sticky-zone .today-desktop-date-stepper{display:none}.today-sticky-zone .today-page-heading>.heading-actions{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.today-sticky-zone .today-page-heading>.heading-actions>.primary,.today-sticky-zone .today-page-heading>.heading-actions>.secondary{width:100%;min-width:0;min-height:32px;flex:none;padding:0 4px;font-size:9px}.today-sticky-zone .today-page-heading>.heading-actions>.overview-trigger{width:100%;flex:none}.today-sticky-zone .page-heading>.heading-actions>.primary,.today-sticky-zone .page-heading>.heading-actions>.secondary{min-width:0;min-height:32px;flex:0 1 auto;padding:0 7px;font-size:10px}.today-sticky-zone .overview-trigger{width:32px;flex:0 0 32px;justify-content:center;padding:0}.today-sticky-zone .overview-trigger span{display:none}.today-sticky-zone .summary-strip{min-height:50px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:8px;padding:4px 5px}.today-sticky-zone .summary-strip>div:not(.onsite-meta){min-height:40px;padding:2px 4px}.today-sticky-zone .summary-strip>div:first-child{padding-left:4px}.today-sticky-zone .summary-strip>div:nth-child(2){border-right:1px solid var(--line)}.today-sticky-zone .summary-strip>div:nth-child(-n+2){border-bottom:0}.today-sticky-zone .summary-strip span{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.today-sticky-zone .summary-strip strong{margin-top:2px;font-size:17px}.today-view .schedule-panel>.panel-heading{min-height:46px;padding-block:8px}.schedule-row:fullscreen{grid-template-columns:76px minmax(0,1fr);gap:14px 12px;padding:20px 16px 28px}.schedule-row:fullscreen:before{top:24px;height:60px}.schedule-row:fullscreen>time{font-size:20px}.schedule-row:fullscreen>time span{font-size:12px}.schedule-row:fullscreen>.client-cell{gap:10px}.schedule-row:fullscreen .client-initial{width:42px;height:42px;font-size:17px}.schedule-row:fullscreen>.client-cell strong{font-size:18px}.schedule-row:fullscreen>.client-cell span{font-size:13px}.schedule-row:fullscreen>.status-badge{grid-column:2;grid-row:2;justify-self:start}.schedule-row:fullscreen .strategy-cell{grid-row:3}.schedule-row:fullscreen .assignee{grid-column:1 / -1;grid-row:4}.schedule-row:fullscreen .row-actions{grid-column:1 / -1;grid-row:5;justify-content:flex-start}.schedule-row:fullscreen .appointment-details{grid-row:6;padding-top:18px}.schedule-row:fullscreen .customer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.schedule-row:fullscreen .customer-detail-grid>div{min-height:72px;padding:11px 12px}.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field{min-height:72px;padding:11px 12px}.schedule-row:fullscreen .customer-detail-grid strong{font-size:15px}.schedule-row:fullscreen .detail-toolbar{align-items:flex-start;flex-direction:column}.schedule-row:fullscreen .detail-toolbar-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.schedule-row:fullscreen .onsite-family-details>div,.schedule-row:fullscreen .appointment-gift-list{grid-template-columns:1fr}.schedule-row:fullscreen .appointment-gift{min-height:88px}.schedule-row:fullscreen .appointment-notes{grid-row:7;grid-template-columns:1fr;gap:12px;padding-top:18px}.schedule-row:fullscreen .previous-remark{min-height:150px}.schedule-row:fullscreen .current-remark textarea{min-height:190px;font-size:16px}.schedule-row:fullscreen .remark-save{width:100%}.overview-backdrop{padding:0}.overview-modal{width:100%;height:100dvh;max-height:none;padding:14px;border-radius:0}.overview-modal .modal-heading{margin-bottom:12px}.overview-toolbar{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:10px}.overview-toolbar>span{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #b7d7c7;border-radius:6px;font-size:12px;font-weight:700}.overview-week-stepper{width:100%;justify-content:space-between}.overview-week-stepper label{flex:1;justify-content:center}.overview-week-stepper label span{display:none}.overview-week-stepper input{width:128px}.overview-search{width:100%;margin-left:0}.overview-search .search-input{width:auto;flex:1;min-height:38px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;box-sizing:border-box}.overview-search .search-input input{height:36px;border-top:0;border-bottom:0}.overview-search .secondary{min-height:38px}.overview-mobile-actions{width:100%;display:flex;align-items:center;gap:10px}.overview-mobile-actions .primary{flex:1;min-height:40px;justify-content:center}.overview-mobile-actions>span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:94px;padding:0 12px;box-sizing:border-box}.appointment-overview-grid{min-width:890px;width:100%;table-layout:fixed}.appointment-overview-grid thead th:not(:first-child),.appointment-overview-grid td{min-width:118px;width:auto}.appointment-overview-grid thead th:first-child,.appointment-overview-grid tbody>tr>th{width:58px}.appointment-overview-grid thead th{height:70px;padding:7px 6px;font-size:15px}.appointment-overview-grid thead th strong{font-size:15px}.appointment-overview-grid thead th span{font-size:13px}.appointment-overview-grid thead th small{margin-top:2px;font-size:12px}.appointment-overview-grid tbody>tr>th{font-size:15px}.appointment-overview-grid td{min-width:0;padding:4px}.overview-appointment{padding:7px 6px}.overview-appointment strong{font-size:14px;line-height:1.3}.overview-appointment small.overview-wechat-contact,.overview-appointment .overview-gifts{font-size:10px}}.schedule-row.mobile-fullscreen{position:fixed;inset:0;z-index:100;width:100%;height:100dvh;min-height:100dvh;box-sizing:border-box;grid-template-columns:76px minmax(0,1fr);align-content:start;gap:14px 12px;padding:max(20px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;background:#f5f8f6;font-size:16px}.schedule-row.mobile-fullscreen:before{top:24px;height:60px}.schedule-row.mobile-fullscreen .appointment-fullscreen{position:static;width:44px;height:44px;border-radius:7px;opacity:1}.schedule-row.mobile-fullscreen .appointment-fullscreen svg{width:21px;height:21px}.schedule-row.mobile-fullscreen>time{grid-column:1;grid-row:1;font-size:20px;line-height:1.1}.schedule-row.mobile-fullscreen>time span{margin-top:7px;font-size:12px}.schedule-row.mobile-fullscreen>.client-cell{grid-column:2;grid-row:1;gap:10px}.schedule-row.mobile-fullscreen .client-initial{display:grid;width:42px;height:42px;font-size:17px}.schedule-row.mobile-fullscreen>.client-cell strong{font-size:18px}.schedule-row.mobile-fullscreen>.client-cell span{margin-top:5px;font-size:13px}.schedule-row.mobile-fullscreen>.status-badge{grid-column:2;grid-row:2;justify-self:start}.schedule-row.mobile-fullscreen .strategy-cell{grid-column:1 / -1;grid-row:3}.schedule-row.mobile-fullscreen .strategy-cell p{overflow:visible;font-size:16px;line-height:1.55;white-space:normal;word-break:break-word}.schedule-row.mobile-fullscreen .assignee{display:flex;grid-column:1 / -1;grid-row:4}.schedule-row.mobile-fullscreen .row-actions{grid-column:1 / -1;grid-row:5;justify-content:flex-start}.schedule-row.mobile-fullscreen .appointment-details{grid-column:1 / -1;grid-row:6;grid-template-columns:1fr;gap:20px;padding-top:18px}.schedule-row.mobile-fullscreen .customer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.schedule-row.mobile-fullscreen .customer-detail-grid>div,.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field{min-height:72px;padding:11px 12px}.schedule-row.mobile-fullscreen .customer-detail-grid strong{font-size:15px}.schedule-row.mobile-fullscreen .detail-toolbar{align-items:flex-start;flex-direction:column}.schedule-row.mobile-fullscreen .detail-toolbar-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.schedule-row.mobile-fullscreen .onsite-family-details>div,.schedule-row.mobile-fullscreen .appointment-gift-list{grid-template-columns:1fr}.schedule-row.mobile-fullscreen .appointment-gift{min-height:88px}.schedule-row.mobile-fullscreen .appointment-notes{grid-row:7;grid-template-columns:1fr;gap:12px;padding-top:18px}.schedule-row.mobile-fullscreen .previous-remark{min-height:150px}.schedule-row.mobile-fullscreen .current-remark textarea{min-height:190px;font-size:16px}.schedule-row.mobile-fullscreen .remark-save{width:100%}.schedule-row.mobile-fullscreen .fullscreen-client-drawer{z-index:110}.schedule-row.mobile-fullscreen .fullscreen-client-drawer .drawer{width:min(680px,100%)}@media(max-width:680px){.schedule-row.mobile-fullscreen .customer-detail-grid,.schedule-row:fullscreen .customer-detail-grid{grid-template-columns:1fr;gap:10px}.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact{grid-column:span 1}.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field{min-height:0;padding:12px 13px;gap:8px;overflow:visible}.schedule-row.mobile-fullscreen .customer-detail-field input,.schedule-row.mobile-fullscreen .customer-detail-field select,.schedule-row:fullscreen .customer-detail-field input,.schedule-row:fullscreen .customer-detail-field select{height:42px;box-sizing:border-box}.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field .autocomplete-field,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field .autocomplete-field{min-width:0}.schedule-row.mobile-fullscreen .detail-toolbar-actions,.schedule-row:fullscreen .detail-toolbar-actions{display:grid;grid-template-columns:1fr;gap:8px}.schedule-row.mobile-fullscreen .detail-toolbar-actions>button,.schedule-row:fullscreen .detail-toolbar-actions>button{width:100%;justify-content:center}}@media(max-width:680px){.schedule-row.mobile-fullscreen .customer-detail-grid,.schedule-row:fullscreen .customer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field:not(.customer-detail-compact),.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field:not(.customer-detail-compact){grid-column:1 / -1}.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact{padding:9px 10px;gap:5px}.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact input,.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact select,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact input,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact select{height:36px;padding-inline:8px}.schedule-row.mobile-fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact span,.schedule-row:fullscreen .customer-detail-grid>.customer-detail-field.customer-detail-compact span{font-size:11px}}.compact-check{min-height:38px;display:flex;flex-direction:row;align-items:center;gap:5px;font-size:11px}.compact-check input{width:14px;height:14px}.policy-state-button{min-height:28px;padding:4px 9px;border:1px solid var(--line-strong);border-radius:5px;color:var(--muted);background:#fff;font-size:12px;cursor:pointer}.policy-state-button.on{color:#176b52;border-color:#6ca98b;background:#e7f4ec;font-weight:700}.policy-state-button:disabled{opacity:.65;cursor:default}
