:root{--bg:#f5f6f2;--surface:#fff;--line:#dfe4dd;--ink:#1d2522;--muted:#66706b;--soft:#eef2ee;--accent:#0f766e;--accent-strong:#115e59;--blue:#2563eb;--amber:#b45309;--rose:#be123c;--green:#15803d;--violet:#6d28d9;--shadow:0 18px 45px #1d252214}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{grid-template-columns:260px minmax(0,1fr);height:100vh;min-height:100vh;display:grid}.sidebar{color:#f7faf7;background:#17211e;flex-direction:column;gap:24px;padding:22px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brandMark,.avatar{color:#0f5d56;background:#d7efe8;border-radius:8px;flex:none;place-items:center;font-weight:700;display:inline-grid}.brandMark{width:42px;height:42px}.brand span,.syncPanel small,.navItem,.topbar p,.patientMain small,.appointment span,.rightMeta,.taskRow span,.taskRow small,.interactionRow small,.notificationRow span,.notificationRow small,.muted{color:var(--muted)}.brand span{color:#aebdb7;margin-top:3px;font-size:13px;display:block}.nav{gap:6px;display:grid}.navItem{color:#cfd8d3;border-radius:8px;align-items:center;gap:10px;padding:11px 10px;text-decoration:none;display:flex}.navButton{text-align:left;background:0 0;border:0;width:100%}.navItem.active,.navItem:hover{color:#fff;background:#24312d}.syncPanel{border:1px solid #31433d;border-radius:8px;gap:8px;margin-top:auto;padding:14px;display:grid}.syncPanel span{color:#9fb5ae;text-transform:uppercase;font-size:12px}.workspace{grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffbf;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;display:flex}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.2}.topbar p{margin-top:5px}.topStats{gap:10px;display:flex}.metric{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:108px;padding:10px 12px}.metric strong{font-size:22px;display:block}.metric span{color:var(--muted);font-size:12px}.authPage{place-items:center;min-height:100vh;padding:24px;display:grid}.authPanel{border:1px solid var(--line);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:24px;display:grid}.eyebrow{color:var(--accent-strong);text-transform:uppercase;font-size:12px;font-weight:700}.authCopy{color:var(--muted);margin-top:8px;line-height:1.45}.field{gap:7px;display:grid}.field span{color:var(--muted);font-size:13px}.field input,.field select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:0 12px}.primaryButton,.iconTextButton{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:700;display:inline-flex}.primaryButton{background:var(--accent);color:#fff}.iconTextButton{border:1px solid var(--line);color:var(--ink);background:#fff}.successText,.errorText{font-size:14px;line-height:1.4}.successText{color:var(--green)}.errorText{color:var(--rose)}.adminPage{align-content:start;gap:18px;min-height:0;padding:18px;display:grid;overflow:auto}.adminToolbar,.adminSection{width:100%}.adminToolbar{grid-template-columns:minmax(220px,1fr) 160px auto;align-items:end;gap:12px;display:grid}.compactField input,.compactField select{min-height:40px}.adminSection{gap:10px;display:grid}.adminSection h2{font-size:18px}.adminTable{border:1px solid var(--line);background:var(--surface);border-radius:8px;display:grid;overflow:hidden}.adminRow{border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,1fr) 160px 140px;align-items:center;gap:12px;padding:12px;display:grid}.adminRow:last-child{border-bottom:0}.adminRow div{gap:3px;display:grid}.adminRow span{color:var(--muted);font-size:13px}.todayQueue{border-bottom:1px solid var(--line);background:#eef4f1;grid-template-columns:1fr;align-items:stretch;gap:8px;padding:10px 28px 12px;display:grid}.queueHeader{justify-content:flex-start;align-items:center;gap:10px;display:flex}.queueHeader h2{font-size:16px}.queueHeader p{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.35}.queueCount{background:var(--ink);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:700;display:inline-grid}.queueFooter{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.queueControls{flex-wrap:wrap;align-content:center;gap:6px;display:flex}.queueControls button,.queueToggle{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.queueControls button.active{border-color:var(--accent);color:var(--accent-strong);background:#eef8f6}.queueControls span{background:var(--soft);min-width:20px;height:20px;color:var(--ink);border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.queueRail{gap:8px;min-width:0;display:flex;overflow:hidden}.queueItem,.queueEmpty{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:54px}.queueItem{text-align:left;flex:210px;grid-template-rows:1fr;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:190px;max-width:none;padding:8px;display:grid;box-shadow:0 8px 20px #1d25220d}.queueItem:hover{border-color:var(--accent)}.queueIcon{background:var(--soft);width:30px;height:30px;color:var(--accent);border-radius:8px;place-items:center;display:inline-grid}.queueMain{gap:3px;min-width:0;display:grid}.queueMain strong,.queueMain span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.queueMain strong{font-size:13px}.queueMain span,.queueMeta{color:var(--muted);font-size:11px}.queueMeta{text-align:right;white-space:nowrap}.priority-high .queueIcon{color:var(--rose);background:#fff1f2}.priority-medium .queueIcon{color:var(--blue);background:#eff6ff}.priority-low .queueIcon{color:var(--violet);background:#f3e8ff}.queueEmpty{color:var(--muted);place-items:center;padding:10px;display:grid}.queueToggle{align-self:center}.queueToggle.hidden{visibility:hidden}.todayQueue.expanded .queueRail{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-height:260px;display:grid;overflow:auto}.todayQueue.expanded .queueItem{min-width:0}.crmGrid{grid-template-columns:360px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.patientList{border-right:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;padding:18px;display:grid}.searchBox{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:8px;height:42px;padding:0 10px;display:flex}.searchBox input,.inlineForm input,.inlineForm select,.profileFormGrid input,textarea{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.listScroll{align-content:start;gap:8px;min-height:0;display:grid;overflow:auto}.patientRow{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.patientRow.selected{border-color:var(--accent);box-shadow:0 0 0 2px #0f766e1f}.avatar{width:38px;height:38px}.avatar.large{width:56px;height:56px;font-size:18px}.patientMain{min-width:0}.patientMain strong,.patientMain small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pill,.tag{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;display:inline-flex}.tag{background:var(--soft);color:#43514b}.status-neutral{color:var(--blue);background:#eef2ff}.status-work{color:#0369a1;background:#e0f2fe}.status-alert{color:var(--amber);background:#fff7ed}.status-good{color:var(--green);background:#dcfce7}.status-muted{color:#475569;background:#f1f5f9}.status-vip{color:var(--violet);background:#f3e8ff}.patientWorkspace{min-width:0;padding:18px;overflow:auto}.profileHeader{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.profileIdentity{align-items:center;gap:12px;display:flex}.profileIdentity h2{font-size:22px}.profileIdentity p{color:var(--muted);margin-top:4px}.instagramProfileLink{border:1px solid var(--line);width:fit-content;color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.instagramProfileLink:hover{color:var(--violet);border-color:#d7b7d9}.tagLine{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.readonlyBox{background:#f7fbf9;border:1px dashed #9bb7b0;border-radius:8px;gap:3px;min-width:150px;padding:12px;display:grid}.historySyncButton{justify-content:center;width:100%;margin-top:7px}.historySyncFeedback{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.historySyncFeedback.success{color:var(--green);background:#edf8f0;border-color:#b7dfc2}.historySyncFeedback.error{color:var(--rose);background:#fff1f4;border-color:#f1b8c6}.profileControls{gap:10px;min-width:190px;display:grid}.statusControl{gap:6px;display:grid}.statusControl span{color:var(--muted);font-size:12px}.statusControl select{border:1px solid var(--line);height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px}.readonlyBox span,.readonlyBox small{color:var(--muted);font-size:12px}.detailGrid{grid-template-columns:minmax(0,1fr) minmax(310px,.8fr);gap:14px;margin-top:14px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-content:start;gap:12px;padding:14px;display:grid}.panelTitle{align-items:center;gap:8px;display:flex}.panelTitle h3{font-size:16px}.clientUnderstandingPanel,.wideCollapsiblePanel,.widePanel{grid-column:1/-1}.clientUnderstandingPanel.collapsed,.wideCollapsiblePanel.collapsed{gap:0}.collapsiblePanelHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.iconTextButton{border:1px solid var(--line);min-height:34px;color:var(--accent-strong);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.iconTextButton:hover{background:#eef8f6;border-color:#99d8cf}.financialPanel,.loyaltyPanel{grid-column:1/-1}.financialSummary{grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:10px;display:grid}.financialSummary div,.loyaltySummary div{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;gap:4px;padding:12px;display:grid}.financialSummary span,.financialSummary small,.loyaltySummary span,.loyaltySummary small{color:var(--muted);font-size:12px}.financialSummary strong,.loyaltySummary strong{font-size:18px}.financialSummary .totalSpendBox{background:#f0f9ff;border-color:#bae6fd}.financialSummary .totalSpendBox strong{color:#075985;font-size:24px}.loyaltySummary{grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:10px;display:grid}.loyaltySummary .loyaltyStatus{background:#f5f7ff;border-color:#c7d2fe}.loyaltySummary .loyaltyStatus strong{color:#3730a3}.loyaltyCardsPath{gap:10px;display:grid}.loyaltyPathHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.loyaltyPathHeader div{gap:2px;display:grid}.loyaltyPathHeader span{color:var(--ink);font-size:14px;font-weight:700}.loyaltyPathHeader small{color:var(--muted);font-size:12px}.loyaltyCardRow{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;gap:9px;padding:12px;display:grid}.loyaltyCardMain{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.loyaltyCardMain strong{font-size:15px}.loyaltyCardMain span,.loyaltyCardMain small{color:var(--muted);font-size:12px}.loyaltyCardMetrics,.loyaltyPrograms,.loyaltySharedMetrics{flex-wrap:wrap;gap:6px;display:flex}.loyaltyCardMetrics span,.loyaltyPrograms span,.loyaltySharedMetrics span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:5px 8px;font-size:12px}.loyaltySharedMetrics span{background:#f7fbf9}.profileFormGrid,.profileTextGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.profileFormGrid label,.profileTextGrid label{gap:6px;display:grid}.profileFormGrid span,.profileTextGrid span{color:var(--muted);font-size:12px}.profileFormGrid input{border:1px solid var(--line);background:#fff;border-radius:8px;height:38px;padding:0 10px}.profileTextGrid textarea{min-height:96px}.contactPreferenceGroup{flex-wrap:wrap;gap:8px;display:flex}.contactPreferenceGroup button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:8px;padding:0 10px}.contactPreferenceGroup button.active{border-color:var(--accent);color:var(--accent-strong);background:#eef8f6}.saveProfileButton{justify-self:start}.saveProfileFooter{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.saveFeedback{border:1px solid var(--line);border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.saveFeedback.success{color:var(--green);background:#edf8f0;border-color:#b7dfc2}.saveFeedback.error{color:var(--rose);background:#fff1f4;border-color:#f1b8c6}.serviceInsightPanel{min-height:0}.insightList{gap:8px;display:grid}.insightList div{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;gap:4px;padding:10px;display:grid}.insightList span{color:var(--muted);font-size:12px}.insightList strong{line-height:1.35}.insightList .insightValue{color:var(--ink);font-size:14px;line-height:1.4}.favoriteServicesList{gap:3px;display:grid}.timelinePanel:not(.collapsed),.commsPanel{min-height:280px}.appointment,.purchaseRow,.taskRow,.notificationRow{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;gap:4px;padding:10px;display:grid}.taskRow{grid-template-columns:minmax(0,1fr) auto;align-items:center}.taskRow.completed{opacity:.72}.taskMain{gap:4px;min-width:0;display:grid}.taskActions{gap:6px;display:flex}.taskAction{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:32px;height:32px;display:inline-grid}.taskAction.done{color:var(--green)}.taskAction.cancel{color:var(--rose)}.taskAction:hover{border-color:currentColor}.taskDue{border-radius:8px;width:fit-content;padding:2px 6px;display:inline-flex}.taskDue.overdue{color:var(--rose);background:#fff1f2}.taskDue.today{color:var(--amber);background:#fff7ed}.taskDue.upcoming{color:var(--blue);background:#eff6ff}.taskDue.done{color:var(--green);background:#dcfce7}.taskDue.cancelled{color:#475569;background:#f1f5f9}.appointment{grid-template-columns:minmax(0,1fr) auto;align-items:center}.appointment strong,.appointment span,.purchaseRow strong,.purchaseRow span,.notificationRow strong,.notificationRow span{display:block}.historyTitle{color:var(--ink);font-size:14px;line-height:1.35}.appointment>div:first-child>span:not(.historyTitle),.purchaseRow>div:first-child>span:not(.historyTitle){font-size:12px;line-height:1.35}.purchaseRow{grid-template-columns:minmax(0,1fr) auto;align-items:center}.rightMeta{text-align:right;font-size:12px;line-height:1.35}.historyValue{color:var(--ink);font-size:13px}.rightMeta small{color:var(--accent);display:block}.inlineForm{grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.taskForm{grid-template-columns:minmax(0,1fr) 190px 38px;align-items:center;gap:8px;display:grid}.inlineForm input,.inlineForm select,.taskForm input{border:1px solid var(--line);background:#fff;border-radius:8px;height:38px;padding:0 10px}.iconButton,.button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;display:inline-flex}.iconButton{background:var(--accent);color:#fff;width:38px}.button.primary{background:var(--accent);color:#fff}.button.secondary{color:var(--accent-strong);background:#e7f5f2}.stack{gap:8px;display:grid}.channelTabs{grid-template-columns:repeat(5,38px);gap:8px;display:grid}.channelTabs button{border:1px solid var(--line);height:38px;color:var(--muted);background:#fff;border-radius:8px}.channelTabs button.active{border-color:var(--accent);color:var(--accent);background:#eef8f6}textarea{resize:vertical;border:1px solid var(--line);background:#fff;border-radius:8px;min-height:82px;padding:10px}.interactionRow{background:#f8faf9;border-radius:8px;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:10px;display:grid}.interactionRow p{color:#3d4742;margin:3px 0}.emptyState{color:var(--muted);place-items:center;display:grid}.patientImportState{border:1px dashed var(--line);text-align:center;background:#fbfcfb;border-radius:8px;gap:10px;min-height:150px;padding:14px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1050px){.shell,.crmGrid,.detailGrid,.financialSummary,.loyaltySummary,.profileFormGrid,.profileTextGrid{grid-template-columns:1fr}.shell{height:auto}.sidebar{min-height:auto}.crmGrid{overflow:visible}.patientList{border-right:0;border-bottom:1px solid var(--line)}.listScroll{max-height:420px}.topbar,.profileHeader{flex-direction:column;align-items:stretch}.todayQueue{grid-template-columns:1fr;align-items:stretch}.queueFooter{flex-direction:column;align-items:stretch}}@media (max-width:680px){.topStats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric{min-width:0}.patientRow{grid-template-columns:38px minmax(0,1fr)}.patientRow .pill{grid-column:2;justify-self:start}.topbar,.todayQueue{padding-left:18px;padding-right:18px}.queueControls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.queueControls button{justify-content:space-between}.taskForm{grid-template-columns:1fr}.taskForm .iconButton{width:100%}}
