:root{color:#26313d;font-synthesis:none;text-rendering:optimizelegibility;background:#fff7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.auth-shell{background:linear-gradient(#fff4f8f2,#fffffffa),#fff;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #efd7e1;border-radius:8px;width:min(460px,100%);padding:32px;box-shadow:0 22px 55px #7d3f5b24}.auth-mark{color:#fff;background:linear-gradient(135deg,#df4f8d,#f080a9);border-radius:8px;place-items:center;width:58px;height:58px;margin-bottom:18px;display:grid}.auth-card h1{margin-bottom:8px}.auth-subtitle{color:#806a74;margin:0 0 22px;line-height:1.55}.auth-form{gap:12px;display:grid}.check-row{color:#6a5961;align-items:center;gap:10px;min-height:44px;font-weight:700;display:flex}.check-row input{width:18px;height:18px}.link-button{color:#bd3f75;background:0 0;border:0;min-height:44px;font-weight:800}.status-grid,.checklist-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.status-card,.checklist-item{background:#fff;border:1px solid #efd7e1;border-radius:8px;gap:8px;min-height:120px;padding:16px;display:grid}.status-card.ok,.checklist-item.done{background:#f0fffb;border-color:#bfe7df}.status-card.needs-check,.checklist-item{background:#fff7fa;border-color:#f4c7d8}.status-card strong,.checklist-item span{color:#26313d;font-weight:900}.status-card span,.checklist-item span{color:#12695d;background:#dff8f3;border-radius:8px;width:fit-content;padding:4px 9px;font-size:12px;font-weight:900}.status-card.needs-check span,.checklist-item:not(.done) span{color:#9a3b62;background:#ffe5ef}.status-card p,.status-card small{color:#806a74;margin:0;line-height:1.45}.settings-form,.settings-group{gap:16px;display:grid}.settings-group{background:#fffafd;border:1px solid #f1dce5;border-radius:8px;padding:16px}.settings-group h3{margin:0}.settings-field{color:#6a5961;gap:6px;font-weight:800;display:grid}.info-banner{color:#12695d;background:#f0fffb;border:1px solid #bfe7df;border-radius:8px;padding:12px 14px;font-weight:800}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(#fff4f8e6,#fffffff0),#fff;grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #f1dce5;height:100vh;padding:24px 16px;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 24px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#df4f8d,#f080a9);border-radius:14px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 28px #df4f8d38}.brand p,.brand strong,.eyebrow,.metric-card p,.metric-card span,td small{margin:0}.brand p{color:#b64775;letter-spacing:0;font-size:12px;font-weight:800}.brand strong{color:#26313d;font-size:15px;display:block}.main-nav{gap:6px;display:grid}.nav-item{color:#6a5961;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 12px;display:flex}.nav-item:hover,.nav-item.active{color:#bd3f75;background:#fff0f5}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.eyebrow{color:#a6567c;font-size:13px;font-weight:700}h1,h2{color:#26313d;letter-spacing:0;margin:0}h1{font-size:clamp(28px,3vw,38px)}h2{font-size:20px}.top-actions,.profile,.panel-header,.soft-button,.follow-item,.readonly-badge{align-items:center;display:flex}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.profile{gap:8px}.profile small{color:#9a7182;font-size:12px;font-weight:800}.smart-search{width:min(360px,42vw);position:relative}.smart-search-field{color:#a6567c;background:#fff;border:1px solid #efd7e1;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.smart-search-field input{color:#26313d;background:0 0;border:0;outline:0;width:100%;min-width:0}.smart-search-results{z-index:40;background:#fff;border:1px solid #efd7e1;border-radius:8px;gap:6px;max-height:330px;padding:8px;display:grid;position:absolute;top:50px;left:0;right:0;overflow:auto;box-shadow:0 18px 36px #7d3f5b2e}.smart-search-option{color:#26313d;text-align:left;background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:3px;width:100%;min-height:58px;padding:9px 10px;display:grid}.smart-search-option:hover{background:#fff0f5;border-color:#df4f8d}.smart-search-option span{color:#7a6970;font-size:13px;font-weight:700}.icon-button{color:#bd3f75;background:#fff;border:1px solid #efd7e1;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.profile{color:#4d5964;background:#fff;border:1px solid #efd7e1;border-radius:8px;gap:8px;min-height:42px;padding:0 12px;font-weight:700}.readonly-badge{color:#12615c;background:#eefaf8;border:1px solid #cfe9e5;border-radius:8px;gap:7px;min-height:42px;padding:0 12px;font-size:13px;font-weight:800}.page-stack{gap:18px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stats-grid.wide{grid-template-columns:repeat(6,minmax(0,1fr))}.quick-actions-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quick-action-button{color:#fff;background:#df4f8d;border:1px solid #df4f8d;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:0 14px;font-weight:900;display:flex}.quick-action-button:hover{background:#c93f78}.owner-revenue-panel{background:#fffffff0;border:1px solid #f0dce4;border-radius:8px;gap:14px;padding:18px;display:grid;box-shadow:0 18px 42px #7d3f5b14}.owner-revenue-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.owner-revenue-header h2,.owner-revenue-header p{margin:0}.owner-revenue-header small{color:#806a74;margin-top:4px;font-weight:700;display:block}.owner-revenue-header .plain-input{max-width:220px}.stats-grid.revenue{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.panel,.empty-state{background:#ffffffeb;border:1px solid #f0dce4;border-radius:8px;box-shadow:0 18px 42px #7d3f5b14}.metric-card{min-height:150px;padding:18px}.metric-icon{color:#c43e78;background:#fff0f5;border-radius:8px;place-items:center;width:42px;height:42px;margin-bottom:16px;display:grid}.metric-card p{color:#7a6970;font-size:14px}.metric-card strong{color:#26313d;margin-top:6px;font-size:28px;display:block}.metric-card span{color:#4c7b78;margin-top:6px;font-size:13px;font-weight:700;display:block}.split-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:18px;display:grid}.panel,.empty-state{padding:18px}.dashboard-list{gap:10px;display:grid}.dashboard-list.compact{gap:8px}.dashboard-item{background:#fff;border:1px solid #f1dce5;border-radius:8px;gap:8px;padding:12px;display:grid}.dashboard-item-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-item-main strong{color:#26313d;overflow-wrap:anywhere;font-size:15px;line-height:1.35;display:block}.dashboard-label,.dashboard-status{white-space:nowrap;border-radius:8px;width:fit-content;font-size:12px;font-weight:900}.dashboard-label{color:#bd3f75;margin-bottom:4px;display:inline-block}.dashboard-status{color:#12695d;background:#e5f7f4;flex:none;padding:4px 8px}.dashboard-meta{color:#74616a;flex-wrap:wrap;gap:6px 12px;font-size:13px;line-height:1.35;display:flex}.dashboard-meta span{overflow-wrap:anywhere;align-items:center;gap:5px;min-width:0;display:inline-flex}.dashboard-meta svg{color:#bd3f75;flex:none}.dashboard-note{color:#6a5961;overflow-wrap:anywhere;border-top:1px dashed #f1dce5;margin:0;padding-top:6px;font-size:13px;line-height:1.45}.dashboard-actions{flex-wrap:wrap;gap:8px;display:flex}.page-panel{min-height:calc(100vh - 136px)}.panel-header{justify-content:space-between;gap:16px;margin-bottom:16px}.soft-button{color:#bd3f75;background:#fff;border:1px solid #efd7e1;border-radius:8px;gap:6px;min-height:38px;padding:0 12px;font-weight:800}.text-button{color:#bd3f75;white-space:nowrap;background:#fff;border:1px solid #efd7e1;border-radius:8px;min-height:34px;padding:0 10px;font-weight:800}.table-toolbar{grid-template-columns:minmax(220px,1fr) minmax(170px,220px) minmax(160px,210px) 112px;gap:10px;margin-bottom:14px;display:grid}.table-toolbar.has-sort{grid-template-columns:minmax(220px,1fr) minmax(150px,210px) minmax(150px,210px) minmax(150px,210px) 112px}.customer-toolbar{grid-template-columns:minmax(260px,1fr) minmax(180px,240px);gap:10px;margin-bottom:14px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.form-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-form,.customer-form-view{gap:16px;display:grid}.customer-form-section{gap:10px;display:grid}.customer-form-section h3{color:#26313d;margin:0;font-size:16px}.customer-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.customer-form-grid.readonly{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-field-readonly{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:4px;min-height:64px;padding:12px;display:grid}.customer-field-readonly span{color:#856b76;font-size:13px;font-weight:800}.customer-field-readonly strong{color:#26313d;overflow-wrap:anywhere}.customer-check-line{background:#fff;border:1px solid #ecd7df;border-radius:8px;padding:0 12px}.schema-notice{color:#6d4b12;background:#fffaf0;border:1px solid #f3c77f;border-radius:8px;gap:8px;padding:12px;display:grid}.schema-notice p{margin:0}.schema-notice div{flex-wrap:wrap;gap:6px;display:flex}.schema-notice span{background:#fff;border-radius:999px;padding:5px 8px;font-size:13px;font-weight:800}.span-2{grid-column:span 2}.plain-input{color:#26313d;background:#fff;border:1px solid #ecd7df;border-radius:8px;outline:0;width:100%;min-height:42px;padding:9px 12px}.file-picker{color:#bd3f75;cursor:pointer;background:#fff0f5;border:1px dashed #df4f8d;border-radius:8px;gap:4px;min-height:72px;padding:14px 16px;display:grid;position:relative}.file-picker span{color:#26313d;font-weight:900}.file-picker strong{color:#856b76;font-size:13px}.file-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop-zone{color:#856b76;background:#fff0f5;border:2px dashed #df4f8d;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:92px;padding:16px;display:flex}.file-drop-zone.active{background:#eefaf8;border-color:#12615c}.file-drop-zone strong,.file-drop-zone span{display:block}.file-drop-zone strong{color:#26313d;font-size:16px}.file-actions{flex-wrap:wrap;gap:8px;display:flex}.file-actions input,.text-button input{display:none}.file-preview-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.file-preview-card{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:8px;padding:10px;display:grid}.file-preview-thumb{aspect-ratio:4/3;color:#bd3f75;background:#fff;border:0;border-radius:8px;place-items:center;width:100%;display:grid;overflow:hidden}.file-preview-thumb img,.file-preview-thumb video{object-fit:cover;width:100%;height:100%}.file-preview-card strong,.file-preview-card small{overflow-wrap:anywhere;min-width:0;display:block}.file-preview-card small{color:#856b76}textarea.plain-input{resize:vertical;min-height:82px}.plain-input.compact{min-height:34px}.check-line{color:#33414f;align-items:center;gap:8px;min-height:42px;font-weight:800;display:flex}.total-box{color:#12615c;background:#eefaf8;border:1px solid #cfe9e5;border-radius:8px;align-items:center;min-height:42px;padding:10px 12px;font-weight:800;display:flex}.save-message{border-radius:8px;width:fit-content;margin-top:12px;padding:10px 12px;font-weight:800}.save-message.success{color:#12615c;background:#e5f7f4}.save-message.error{color:#8a3c22;background:#fff0e8}.save-message.saving{color:#856b76;background:#fff0f5}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.search-field,.select-field,.search-button{color:#a6567c;background:#fff;border:1px solid #ecd7df;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex}.search-button{color:#fff;background:#df4f8d;border-color:#df4f8d;justify-content:center;font-weight:800}.search-field input,.select-field select{color:#26313d;background:0 0;border:0;outline:0;width:100%;min-width:0}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:920px}.customer-table{min-width:1080px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #f2e1e8;padding:13px 12px}th{color:#856b76;background:#fff7fa;font-size:13px;font-weight:800}td{color:#33414f;font-size:14px}td strong{display:block}td small{color:#7a6970;margin-top:3px;display:block}.empty-row{color:#856b76;text-align:center;height:82px;font-weight:800}.active-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.active-pill.yes{color:#12615c;background:#e5f7f4}.active-pill.no{color:#6e5965;background:#eee7eb}.notes-cell{white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}.status{color:#8f315b;white-space:nowrap;background:#ffe8f0;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.status.กำลังรักษา,.status.ยืนยันแล้ว,.status.มาถึงแล้ว{color:#12615c;background:#e5f7f4}.status.ใหม่,.status.รอยืนยัน{color:#8a5a00;background:#fff3d7}.status.พักการรักษา,.status.เลื่อนนัด{color:#6e5965;background:#eee7eb}.follow-list{gap:10px;display:grid}.follow-item{color:#33414f;text-align:left;background:#fff;border:1px solid #f0dce4;border-radius:8px;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:12px}.follow-item svg{color:#34a29b;flex:none}.follow-item span{flex:1;min-width:0;font-weight:700}.follow-item small{color:#bd3f75;white-space:nowrap;font-weight:800}.empty-inline{color:#856b76;text-align:center;background:#fff8fb;border:1px dashed #efd7e1;border-radius:8px;place-items:center;min-height:92px;font-weight:800;display:grid}.warning-banner{color:#6a4b12;background:#fffaf0;border:1px solid #f5cf8e;border-radius:8px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.warning-banner svg{color:#b67612;flex:none}.warning-banner strong,.warning-banner p{margin:0}.warning-banner p{margin-top:4px;font-size:13px}.warning-banner.compact{margin-bottom:12px;padding:10px 12px;font-size:13px}.helper-text{color:#7a6970;margin:10px 0 0;font-size:13px;font-weight:700}.customer-picker{gap:8px;display:grid;position:relative}.selected-customer,.picker-option{text-align:left;background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:3px;width:100%;padding:10px 12px;display:grid}.selected-customer span,.picker-option span{color:#7a6970;font-size:13px;font-weight:700}.picker-results{z-index:20;background:#fff;border:1px solid #efd7e1;border-radius:8px;gap:6px;max-height:320px;padding:8px;display:grid;position:absolute;top:48px;left:0;right:0;overflow:auto;box-shadow:0 18px 36px #7d3f5b29}.picker-option{cursor:pointer}.picker-option:hover{background:#fff0f5;border-color:#df4f8d}.empty-inline.small{min-height:48px}.profile-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.profile-actions.primary{border-top:1px solid #f0dce4;border-bottom:1px solid #f0dce4;padding:14px 0 10px}.profile-actions.primary .text-button{color:#fff;background:#df4f8d;border-color:#df4f8d;min-height:42px}.profile-actions.secondary{margin-bottom:18px}.profile-hn{color:#bd3f75;margin-top:5px;font-size:14px;display:block}.text-button.active{color:#fff;background:#df4f8d;border-color:#df4f8d}.profile-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.action-block{gap:12px;margin-top:16px;display:grid}.mini-course-list{gap:8px;display:grid}.course-balance{color:#12615c;background:#eefaf8;border:1px solid #cfe9e5;border-radius:8px;gap:4px;padding:12px;display:grid}.course-balance span{font-size:13px;font-weight:800}.workflow-card{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:14px;margin-bottom:16px;padding:16px;display:grid}.workflow-title{gap:4px;display:grid}.workflow-title span,.workflow-title small{color:#856b76;font-size:13px;font-weight:800}.workflow-title strong{color:#26313d;font-size:22px}.workflow-divider{background:#efd7e1;height:1px}.workflow-list{gap:8px;display:grid}.workflow-item{color:#33414f;text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-height:36px;padding:0;display:flex}.workflow-item:hover strong{color:#bd3f75}.workflow-item .check{color:#a6567c;background:#fff;border:1px solid #efd7e1;border-radius:999px;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.workflow-item .check.yes{color:#12615c;background:#e5f7f4;border-color:#8fd8cb}.system-panel,.mapping-panel{gap:16px;display:grid}.system-panel{place-items:start;max-width:760px}.system-panel h2,.system-panel p{margin:0}.system-panel svg,.mapping-title svg{color:#bd3f75}.spin{animation:1s linear infinite spin}.mapping-title{align-items:flex-start;gap:12px;display:flex}.mapping-title h2,.mapping-title p,.mapping-section h3,.mapping-card p{margin:0}.mapping-title p,.muted-text,.mapping-card p{color:#6a5961}.readonly-line{color:#12615c;background:#eefaf8;border-radius:8px;align-items:center;gap:8px;width:fit-content;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.mapping-section{gap:10px;display:grid}.mapping-section h3{font-size:16px}.mapping-grid{flex-wrap:wrap;gap:8px;display:flex}.mapping-chip{color:#33414f;background:#fff0f5;border-radius:999px;align-items:center;min-height:32px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.mapping-chip.missing{color:#8a5a00;background:#fff3d7}.mapping-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mapping-list.single{grid-template-columns:1fr;width:min(620px,100%)}.mapping-card{background:#fff;border:1px solid #f0dce4;border-radius:8px;gap:6px;padding:12px;display:grid}.mapping-card.warning{background:#fffaf0;border-color:#f5cf8e}.detail-drawer{z-index:10;background:#fff;border-left:1px solid #f0dce4;width:min(420px,100vw);height:100vh;padding:22px;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-18px 0 42px #7d3f5b24}.customer-360,.visit-workspace{width:min(680px,100vw)}.detail-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.detail-grid{gap:10px;display:grid}.detail-grid>div{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:4px;padding:12px;display:grid}.detail-grid span{color:#856b76;font-size:13px;font-weight:800}.detail-grid strong{color:#26313d}.history-block{gap:6px;margin-top:16px;display:grid}.history-block h3{margin:0;font-size:16px}.history-block p{color:#33414f;background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;margin:0;padding:8px 10px}.history-action-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.history-action-row span{min-width:0}.section-title,.workspace-section h3{color:#26313d;margin:0;font-size:16px}.document-history{grid-column:1/-1}.document-list,.workspace-section{gap:10px;display:grid}.workspace-section{margin-top:18px}.document-card{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:8px;padding:12px;display:grid}.document-card strong,.document-card span,.document-card small{display:block}.document-card span,.document-card small,.document-card p{color:#75646c;font-size:13px;font-weight:700}.document-card p{overflow-wrap:anywhere;margin:0}.document-card .text-button{width:fit-content;text-decoration:none}.visit-media-grid,.related-doc-grid,.treatment-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.visit-media-section{min-width:0}.treatment-detail-grid>div{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:4px;padding:12px;display:grid}.treatment-detail-grid span{color:#856b76;font-size:13px;font-weight:800}.treatment-detail-grid strong{color:#26313d;overflow-wrap:anywhere}.visit-timeline{gap:0;display:grid}.visit-timeline-item{grid-template-columns:18px minmax(0,1fr);gap:10px;padding-bottom:14px;display:grid;position:relative}.visit-timeline-item>span{background:#fff;border:3px solid #df4f8d;border-radius:999px;width:12px;height:12px;margin-top:5px}.visit-timeline-item:not(:last-child):before{content:"";background:#f0dce4;width:2px;position:absolute;top:20px;bottom:0;left:5px}.visit-timeline-item strong,.visit-timeline-item small{display:block}.visit-timeline-item small{color:#856b76;font-weight:800}.visit-timeline-item p{color:#33414f;overflow-wrap:anywhere;margin:4px 0 0}.visit-sticky-header{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #f0dce4;margin:-22px -22px 16px;padding:18px 22px 14px;position:sticky;top:-22px}.visit-section-tabs{gap:8px;margin:16px 0;padding-bottom:6px;display:flex;overflow-x:auto}.visit-section-tabs .text-button{background:#fff8fb;border:1px solid #f0dce4;flex:none;min-height:44px;padding:10px 14px;text-decoration:none}.visit-section-tabs .text-button.active{color:#fff;background:#df4f8d;border-color:#df4f8d}.visit-section-tabs .text-button.unsaved{border-color:#f6bd60;box-shadow:inset 0 -3px #f6bd60}.visit-section-panel{gap:14px;display:grid}.visit-header-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.visit-header-card>div{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:4px;min-width:0;padding:12px;display:grid}.visit-header-card span{color:#856b76;font-size:13px;font-weight:900}.visit-header-card strong{color:#26313d;overflow-wrap:anywhere}.clinical-section{gap:14px;display:grid}.clinical-section-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.clinical-section-header h3{color:#26313d;margin:0;font-size:20px}.clinical-section-header p{color:#806572;margin:4px 0 0;font-weight:700}.clinical-section-header span{color:#177264;background:#e9faf5;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:900}.clinical-form{gap:12px;display:grid}.tall-textarea{min-height:150px}.preset-list{gap:8px;display:grid}.preset-button{color:#26313d;width:100%;min-height:52px;font:inherit;text-align:left;background:#fff;border:1px solid #f0dce4;border-radius:8px;gap:4px;padding:12px;display:grid}.preset-button:hover{background:#fff3f8;border-color:#df4f8d}.preset-button span{color:#806572;overflow-wrap:anywhere;font-size:13px;font-weight:700}.clinical-row-list{gap:10px;display:grid}.clinical-row-card{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.procedure-card{grid-template-columns:repeat(3,minmax(0,1fr))}.clinical-card-grid,.consent-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.medical-history-card{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:6px;min-width:0;padding:12px;display:grid}.medical-history-card span{color:#856b76;font-size:13px;font-weight:900}.medical-history-card strong{color:#26313d;overflow-wrap:anywhere}.check-row{color:#33414f;background:#fff;border:1px solid #f0dce4;border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:0 10px;font-weight:800;display:flex}.clinical-save-button{min-height:48px}.inline-action-stack{gap:6px;display:grid}.comparison-panel{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:12px;padding:12px;display:grid}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:360px;display:grid}.comparison-grid iframe,.comparison-slider iframe{background:#fff;border:1px solid #f0dce4;border-radius:8px;width:100%;min-height:360px}.comparison-slider{border-radius:8px;min-height:400px;position:relative;overflow:hidden}.comparison-slider iframe{height:100%;position:absolute;inset:0}.comparison-slider input[type=range]{z-index:2;width:calc(100% - 32px);position:absolute;bottom:16px;left:16px;right:16px}.compact-select{width:min(240px,100%)}.consent-template-card{text-align:left;cursor:pointer;border:1px solid #f0dce4}.consent-template-card.active{background:#fff0f6;border-color:#df4f8d;box-shadow:0 12px 26px #df4f8d1f}.consent-template-card small{color:#12695d;font-weight:900}.consent-preview-card,.consent-signing-card,.signature-pad-card,.customer-summary-card{background:#fff;border:1px solid #f0dce4;border-radius:8px;gap:14px;padding:16px;display:grid}.consent-body-text{color:#33414f;white-space:pre-wrap;background:#fff8fb;border-radius:8px;margin:0;padding:14px;line-height:1.7}.single-column{grid-template-columns:minmax(0,1fr)}.signature-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.signature-toolbar strong{margin-right:auto}.signature-toolbar span{color:#12695d;background:#e9faf5;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.signature-canvas{touch-action:none;background:linear-gradient(#0000 92%,#df4f8d2e 92%),#fffafd;border:1px dashed #df4f8d;border-radius:8px;width:100%;min-height:240px}.signature-preview{background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;gap:8px;padding:12px;display:grid}.signature-preview img{object-fit:contain;max-width:100%;max-height:180px}.summary-header,.summary-grid,.summary-money-grid{gap:10px;display:grid}.summary-header{border-bottom:1px solid #f0dce4;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding-bottom:12px}.summary-header h3{margin:2px 0 0;font-size:28px}.summary-grid,.summary-money-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-list{gap:8px;display:grid}.summary-list p,.customer-summary-card p{color:#33414f;margin:0;line-height:1.6}.customer-summary-card h4{margin:0 0 8px}.summary-fullscreen{z-index:50;background:#fff7fa;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.summary-fullscreen .customer-summary-card{width:min(860px,100%);margin:0 auto}.owner-top-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.owner-top-grid article{background:#fff;border:1px solid #f0dce4;border-radius:8px;gap:6px;padding:14px;display:grid}.owner-top-grid span,.owner-top-grid small{color:#806572;font-weight:800}.owner-top-grid strong{color:#26313d;font-size:20px}.reception-panel,.queue-list,.treatment-progress-grid,.owner-chart-list{gap:12px;display:grid}.reception-status-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.reception-status-card,.queue-card,.progress-step-card{background:#fff;border:1px solid #f0dce4;border-radius:8px;gap:8px;min-width:0;padding:14px;display:grid}.reception-status-card span,.queue-card span,.progress-step-card small{color:#806572;font-weight:800}.reception-status-card strong{color:#26313d;font-size:28px}.reception-status-card.green,.queue-status.green,.progress-step-card.done{background:#f0fffb;border-color:#bfe7df}.reception-status-card.yellow,.queue-status.yellow{background:#fff9e8;border-color:#ffe4a8}.reception-status-card.red,.queue-status.red{background:#fff1f1;border-color:#ffc8c8}.reception-status-card.blue,.queue-status.blue{background:#f1f6ff;border-color:#bdd7ff}.reception-status-card.gray,.queue-status.gray{background:#f6f7f8;border-color:#d7dce2}.queue-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.queue-card strong{color:#26313d;font-size:17px}.queue-status{color:#26313d;white-space:nowrap;border:1px solid #d7dce2;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.treatment-progress-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-step-card .text-button{justify-self:start}.progress-meter{background:#f7dce8;border-radius:999px;height:12px;overflow:hidden}.progress-meter div{border-radius:inherit;background:linear-gradient(90deg,#df4f8d,#69c7b9);height:100%;transition:width .18s}.inline-message{color:#806572;background:#fff8fb;border:1px solid #f0dce4;border-radius:8px;padding:10px 12px;font-weight:800}.inline-message.success{color:#12695d;background:#f0fffb;border-color:#bfe7df}.inline-message.error{color:#9a352f;background:#fff1f1;border-color:#ffc8c8}.owner-chart-list{background:#fff;border:1px solid #f0dce4;border-radius:8px;margin-top:12px;padding:14px}.owner-chart-row{grid-template-columns:150px minmax(0,1fr) 120px;align-items:center;gap:10px;display:grid}.owner-chart-row span,.owner-chart-row small{color:#806572;font-weight:800}.owner-chart-row div{background:#f7dce8;border-radius:999px;height:10px;overflow:hidden}.owner-chart-row i{border-radius:inherit;background:#df4f8d;height:100%;display:block}.fullscreen-preview{z-index:40;background:#26313ddb;grid-template-rows:auto minmax(0,1fr);padding:18px;display:grid;position:fixed;inset:0}.fullscreen-preview-header{color:#fff;justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:0 4px 12px;display:flex}.fullscreen-preview-body{background:#121820;border-radius:8px;place-items:center;min-height:0;display:grid;overflow:hidden}.fullscreen-preview-body img,.fullscreen-preview-body video,.fullscreen-preview-body iframe{object-fit:contain;border:0;width:100%;height:100%}.fullscreen-preview-body iframe{background:#fff}.fullscreen-preview.annotation{grid-template-rows:auto auto minmax(0,1fr)}.annotation-toolbar{justify-content:flex-end;gap:10px;padding:0 0 12px;display:flex}.annotation-canvas-wrap{background:#fff;border-radius:8px;place-items:center;min-height:0;display:grid;overflow:auto}.annotation-canvas-wrap canvas{touch-action:none;max-width:100%;height:auto}.search-button.compact{width:fit-content;min-height:36px}.text-button.danger{color:#9a3f2b;border-color:#f2c8bd}.empty-state{color:#bd3f75;text-align:center;place-items:center;min-height:360px;display:grid}.empty-state p{color:#6a5961;margin:8px 0 0}@media (width<=1100px){.app-shell{grid-template-columns:92px minmax(0,1fr)}.brand{justify-content:center;padding-inline:0}.brand div:last-child,.nav-item span{display:none}.nav-item{justify-content:center}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid.revenue{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}.table-toolbar.has-sort{grid-template-columns:1fr 1fr}.form-grid,.form-grid-wide,.customer-form-grid,.customer-form-grid.readonly{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-tabs{grid-template-columns:1fr}.smart-search{width:min(100%,520px)}.mapping-list{grid-template-columns:1fr}.customer-360,.visit-workspace{width:min(92vw,760px)}.visit-media-grid,.related-doc-grid,.treatment-detail-grid,.visit-header-card,.comparison-grid,.clinical-card-grid,.consent-status-grid,.procedure-card{grid-template-columns:1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{border-bottom:1px solid #f1dce5;border-right:0;height:auto;padding:12px;position:static}.brand div:last-child,.nav-item span{display:block}.brand{justify-content:flex-start;padding:4px 4px 12px}.main-nav{grid-auto-columns:minmax(132px,1fr);grid-auto-flow:column;padding-bottom:4px;overflow-x:auto}.nav-item{justify-content:flex-start}.workspace{padding:18px 14px}.topbar{flex-direction:column;align-items:flex-start}.top-actions{justify-content:flex-start;width:100%}.smart-search{order:-1;width:100%}.quick-actions-bar{grid-template-columns:1fr}.owner-revenue-header{flex-direction:column}.owner-revenue-header .plain-input{max-width:none}.stats-grid,.table-toolbar,.stats-grid.wide,.stats-grid.revenue,.table-toolbar.has-sort,.customer-toolbar,.visit-media-grid,.related-doc-grid,.treatment-detail-grid,.visit-header-card,.comparison-grid,.clinical-card-grid,.consent-status-grid,.summary-grid,.summary-money-grid,.owner-top-grid,.owner-chart-row,.queue-card,.reception-status-grid,.treatment-progress-grid,.clinical-row-card,.procedure-card,.form-grid,.form-grid-wide{grid-template-columns:1fr}.visit-sticky-header,.clinical-section-header{flex-direction:column;align-items:flex-start}.customer-form-grid,.customer-form-grid.readonly{grid-template-columns:1fr}.detail-drawer{width:100vw;padding:16px}.file-drop-zone{flex-direction:column;align-items:flex-start}.file-preview-grid{grid-template-columns:1fr}.fullscreen-preview{padding:10px}.span-2{grid-column:span 1}.panel-header{flex-direction:column;align-items:flex-start}}.pagination-bar,.pagination-summary{color:#8f5269;justify-content:space-between;align-items:center;padding:12px 2px 0;font-size:.88rem;display:flex}.pagination-bar p,.pagination-summary{margin:0}.pagination-bar div{gap:8px;display:flex}.text-button:disabled,.search-button:disabled{cursor:not-allowed;opacity:.48}.empty-row{color:#a2677d;text-align:center;padding:22px}@media (width<=760px){.pagination-bar{flex-direction:column;align-items:flex-start;gap:8px}}@keyframes spin{to{transform:rotate(360deg)}}
