*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--pf-navy: #1a2332;--pf-navy-light: #243044;--pf-blue: #2c6fce;--pf-blue-light: #e8f0fe;--pf-gray-50: #f8f9fa;--pf-gray-100: #f1f3f5;--pf-gray-200: #e2e6ea;--pf-gray-300: #ced4da;--pf-gray-500: #6c757d;--pf-gray-700: #495057;--pf-gray-900: #212529;--pf-green: #28a745;--pf-orange: #e67e22;--pf-red: #c0392b;--pf-white: #ffffff;--pf-sidebar-width: 240px;--pf-topbar-height: 48px}html,body{height:100%;overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--pf-gray-900);background:var(--pf-gray-100)}#root{height:100%}.app{height:100%;display:flex;flex-direction:column}.topbar{height:var(--pf-topbar-height);background:var(--pf-white);border-bottom:1px solid var(--pf-gray-200);display:flex;align-items:center;padding:0 16px;flex-shrink:0;gap:24px}.topbar-brand{display:flex;align-items:center;gap:8px}.topbar-logo{font-size:16px;font-weight:700;color:var(--pf-navy);letter-spacing:-.02em}.topbar-badge{font-size:10px;font-weight:700;color:var(--pf-white);background:var(--pf-orange);padding:1px 6px;border-radius:3px;letter-spacing:.05em;text-transform:uppercase}.topbar-nav{display:flex;gap:4px}.topbar-nav-item{padding:6px 12px;font-size:13px;color:var(--pf-gray-500);border-radius:4px;cursor:default}.topbar-nav-item.active{color:var(--pf-blue);background:var(--pf-blue-light);font-weight:600}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar-user{font-size:13px;color:var(--pf-gray-700);font-weight:500}.sign-off-btn{padding:5px 14px;font-size:12px;font-weight:600;font-family:inherit;background:var(--pf-green);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.sign-off-btn:hover{background:#219a3a}.signed-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;background:#d4edda;color:#155724;border-radius:4px}.signed-banner{background:#d4edda;color:#155724;text-align:center;padding:8px 16px;font-size:13px;font-weight:500;border-bottom:1px solid #c3e6cb}.main-layout{flex:1;display:flex;overflow:hidden}.patient-sidebar{width:var(--pf-sidebar-width);background:var(--pf-navy);color:var(--pf-white);flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto}.patient-sidebar .sidebar-title{padding:14px 16px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#ffffff80}.patient-list{list-style:none}.patient-item{padding:10px 16px;cursor:pointer;border-left:3px solid transparent;transition:background .15s}.patient-item:hover{background:var(--pf-navy-light)}.patient-item.selected{background:var(--pf-navy-light);border-left-color:var(--pf-blue)}.patient-name{font-size:13px;font-weight:600}.patient-meta{font-size:11px;color:#fff9;margin-top:2px}.patient-code{font-size:10px;color:#fff6;margin-top:2px;font-family:SF Mono,Fira Code,Fira Mono,Menlo,monospace}.chart-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.chart-header{background:var(--pf-white);border-bottom:1px solid var(--pf-gray-200);padding:12px 24px;flex-shrink:0}.chart-header-main{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.chart-patient-name{font-size:18px;font-weight:700;color:var(--pf-gray-900)}.chart-demographics{font-size:13px;color:var(--pf-gray-500);display:flex;gap:8px;align-items:center}.separator{color:var(--pf-gray-300)}.chart-chief-complaint{margin-top:6px;font-size:13px;color:var(--pf-gray-700)}.cc-label{font-weight:700;color:var(--pf-gray-900)}.chart-tabs-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-bar{display:flex;gap:0;background:var(--pf-white);border-bottom:1px solid var(--pf-gray-200);padding:0 24px;flex-shrink:0}.tab-btn{padding:10px 20px;font-size:13px;font-weight:500;color:var(--pf-gray-500);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s;font-family:inherit}.tab-btn:hover{color:var(--pf-gray-700)}.tab-btn.active{color:var(--pf-blue);border-bottom-color:var(--pf-blue);font-weight:600}.tab-content{flex:1;overflow-y:auto;padding:20px 24px}.tab-panel{display:flex;flex-direction:column;gap:16px}.card{background:var(--pf-white);border:1px solid var(--pf-gray-200);border-radius:6px;overflow:hidden;transition:border-color .18s,box-shadow .18s}.card.claryn-focused{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.card:has(.assessment-chips),.card:has(.icd-add-area){overflow:visible}.card:has(.assessment-chips) .card-title{border-radius:6px 6px 0 0}.card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pf-gray-500);padding:10px 16px;background:var(--pf-gray-50);border-bottom:1px solid var(--pf-gray-200)}.card-body-text{padding:12px 16px;font-size:13px;line-height:1.65;color:var(--pf-gray-700)}.soap-textarea{width:100%;min-height:120px;padding:12px 16px;font-family:inherit;font-size:13px;line-height:1.65;color:var(--pf-gray-700);border:none;outline:none;resize:vertical;background:var(--pf-white)}.soap-textarea:focus{background:var(--pf-blue-light)}.med-table{width:100%;border-collapse:collapse;font-size:13px}.med-table th{text-align:left;padding:8px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--pf-gray-500);background:var(--pf-gray-50);border-bottom:1px solid var(--pf-gray-200)}.med-table td{padding:8px 16px;border-bottom:1px solid var(--pf-gray-100);color:var(--pf-gray-700)}.med-table tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.status-active{background:#e8f5e9;color:#2e7d32}.status-new{background:#e3f2fd;color:#1565c0}.status-sent{background:#fff3e0;color:#e65100}.status-completed{background:#e8f5e9;color:#2e7d32}.status-due{background:#fff3e0;color:#e65100}.status-overdue{background:#fce4ec;color:#c62828}.elevated-value{color:var(--pf-red);font-weight:600}.icd-code{font-family:SF Mono,Fira Code,Fira Mono,Menlo,monospace;font-weight:600;color:var(--pf-blue)}.assessment-list,.plan-list{padding:12px 16px 12px 32px;display:flex;flex-direction:column;gap:8px}.assessment-list li,.plan-list li{font-size:13px;line-height:1.6;color:var(--pf-gray-700)}.quality-list{list-style:none;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.quality-list li{font-size:13px;display:flex;align-items:flex-start;gap:8px;color:var(--pf-gray-700)}.quality-check{color:var(--pf-green);font-weight:700;flex-shrink:0}.assessment-chips{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;border-top:1px solid var(--pf-gray-200);align-items:center}.assessment-chip{display:inline-flex;align-items:center;background:var(--pf-blue-light);color:var(--pf-navy);font-size:12px;border-radius:12px;padding:4px 10px;white-space:nowrap}.assessment-chip.used{background:var(--pf-gray-200);color:var(--pf-gray-500);text-decoration:line-through;opacity:.6}.assessment-chip-remove{background:none;border:none;cursor:pointer;margin-left:4px;font-size:14px;line-height:1;color:var(--pf-gray-500);padding:0}.assessment-chip-remove:hover{color:var(--pf-red)}.add-assessment-btn{display:inline-flex;align-items:center;border:1px dashed var(--pf-gray-300);background:none;color:var(--pf-gray-500);font-size:12px;border-radius:12px;padding:4px 10px;cursor:pointer;font-family:inherit;white-space:nowrap}.add-assessment-btn:hover{background:var(--pf-gray-100);color:var(--pf-gray-700)}.assessment-popup-wrapper{position:relative}.assessment-popup{position:absolute;top:100%;left:0;margin-top:4px;width:280px;background:var(--pf-white);border:1px solid var(--pf-gray-200);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:100;overflow:hidden}.assessment-popup-input{width:100%;padding:8px 12px;font-size:13px;font-family:inherit;border:none;border-bottom:1px solid var(--pf-gray-200);outline:none}.assessment-popup-list{max-height:240px;overflow-y:auto}.assessment-popup-item{padding:8px 12px;font-size:13px;color:var(--pf-gray-700);cursor:pointer}.assessment-popup-item:hover{background:var(--pf-blue-light);color:var(--pf-navy)}.assessment-popup-empty{padding:12px;font-size:13px;color:var(--pf-gray-500);text-align:center}.icd-remove-btn{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;color:var(--pf-gray-500);padding:2px 4px;border-radius:3px}.icd-remove-btn:hover{color:var(--pf-red)}.icd-add-area{padding:8px 16px 12px}.icd-add-popup{width:320px}.icd-add-confirm-btn{display:inline-block;padding:5px 16px;font-size:12px;font-weight:600;font-family:inherit;background:var(--pf-blue);color:var(--pf-white);border:none;border-radius:4px;cursor:pointer}.icd-add-confirm-btn:disabled{opacity:.4;cursor:default}.icd-add-confirm-btn:not(:disabled):hover{opacity:.9}.vitals-table-wrapper{overflow-x:auto}.vitals-table th,.vitals-table td{text-align:center;white-space:nowrap;padding:6px 10px;font-size:12px}.vitals-table th:first-child,.vitals-table td:first-child{text-align:left}.vitals-date{font-weight:600;color:var(--pf-gray-700)}.vitals-current td{background:var(--pf-blue-light)}.vitals-prior td{color:var(--pf-gray-500)}.summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start}@media(max-width:1200px){.summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:800px){.summary-grid{grid-template-columns:1fr}}.summary-column{display:flex;flex-direction:column;gap:16px}.summary-card{background:var(--pf-white);border:1px solid var(--pf-gray-200);border-radius:6px;overflow:hidden}.summary-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pf-gray-500);padding:8px 12px;background:var(--pf-gray-50);border-bottom:1px solid var(--pf-gray-200)}.summary-card-body{padding:10px 12px;font-size:13px;color:var(--pf-gray-700);display:flex;flex-direction:column;gap:8px}.summary-item{line-height:1.5}.summary-med-name{font-weight:500;font-size:13px}.summary-med-detail{font-size:12px;color:var(--pf-gray-500);margin-top:1px}.summary-med-date{color:var(--pf-gray-500)}.summary-table{width:100%;border-collapse:collapse;font-size:13px}.summary-table td{padding:4px 0;vertical-align:top}.summary-table-label{font-weight:600;color:var(--pf-gray-700);width:120px;white-space:nowrap;padding-right:12px}.summary-text{font-size:13px;line-height:1.6;color:var(--pf-gray-700);margin:0}.summary-subsection{margin-bottom:8px}.summary-subsection:last-child{margin-bottom:0}.summary-subsection strong{font-size:12px;color:var(--pf-gray-700);display:block;margin-bottom:4px}.summary-list{list-style:disc;padding-left:20px;font-size:13px;color:var(--pf-gray-700);display:flex;flex-direction:column;gap:2px}.summary-vitals th,.summary-vitals td{font-size:12px;padding:4px 8px}.vitals-row-label{font-weight:600;color:var(--pf-gray-700);text-align:left}.vitals-current-header{background:var(--pf-blue-light);font-weight:700;color:var(--pf-blue)}.vitals-current-cell{background:var(--pf-blue-light)}.summary-encounter{padding:6px 0;border-bottom:1px solid var(--pf-gray-100)}.summary-encounter:last-child{border-bottom:none}.summary-encounter-date{font-weight:600;font-size:13px;color:var(--pf-gray-900)}.summary-encounter-type{font-size:12px;color:var(--pf-blue);font-weight:500}.summary-encounter-details{font-size:12px;color:var(--pf-gray-500)}.timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.timeline-title{font-size:14px;font-weight:700;color:var(--pf-gray-900)}.timeline-filter{padding:6px 12px;font-size:13px;font-family:inherit;border:1px solid var(--pf-gray-300);border-radius:4px;background:var(--pf-white);color:var(--pf-gray-700);cursor:pointer}.timeline-table{border:1px solid var(--pf-gray-200);border-radius:6px;overflow:hidden}.timeline-date{font-weight:600;white-space:nowrap;color:var(--pf-gray-700)}.timeline-type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.timeline-type-lab-results{background:#e3f2fd;color:#1565c0}.timeline-type-imaging{background:#f3e5f5;color:#7b1fa2}.timeline-type-referral{background:#fff3e0;color:#e65100}.timeline-empty{text-align:center;color:var(--pf-gray-500);padding:24px 16px}.timeline-row-clickable{cursor:pointer}.timeline-row-clickable:hover td{background:var(--pf-blue-light)}.timeline-view-pdf{font-size:12px;font-weight:600;color:var(--pf-blue);white-space:nowrap}.document-viewer{margin-top:16px;border:1px solid var(--pf-gray-200);border-radius:6px;overflow:hidden;background:var(--pf-white)}.document-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--pf-gray-50);border-bottom:1px solid var(--pf-gray-200);font-size:13px;font-weight:600;color:var(--pf-gray-700)}.document-viewer-close{background:none;border:none;font-size:20px;line-height:1;color:var(--pf-gray-500);cursor:pointer;padding:2px 6px;border-radius:4px}.document-viewer-close:hover{background:var(--pf-gray-200);color:var(--pf-gray-900)}.document-viewer iframe{width:100%;height:calc(100vh - 300px);border:none}.encounter-details{display:flex;gap:24px;background:var(--pf-white);border:1px solid var(--pf-gray-200);border-radius:6px;padding:12px 16px}.encounter-details-item{display:flex;flex-direction:column;gap:2px}.encounter-details-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pf-gray-500)}.encounter-details-value{font-size:14px;font-weight:600;color:var(--pf-gray-900)}.screening-list{padding:12px 16px;display:flex;flex-direction:column;gap:6px}.screening-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--pf-gray-700)}.screening-status{flex-shrink:0;font-weight:700}.screening-completed{color:var(--pf-green)}.screening-due{color:var(--pf-orange)}.screening-recommended{color:var(--pf-red)}.screening-name{font-weight:500}.screening-result{color:var(--pf-gray-500);font-size:12px}.hx-root{display:flex;gap:16px;align-items:stretch;min-height:440px}.hx-rail{flex:0 0 210px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--pf-gray-200);padding-right:12px}.hx-nav-item{display:flex;align-items:center;gap:8px;text-align:left;padding:9px 10px;border:1px solid transparent;border-radius:5px;background:transparent;font:inherit;font-size:13px;color:var(--pf-gray-700);cursor:pointer;transition:background .15s,color .15s}.hx-nav-item:hover{background:var(--pf-gray-100)}.hx-nav-item.active{background:var(--pf-blue-light);border-color:#bcd4f5;color:var(--pf-blue);font-weight:600}.hx-nav-check{width:14px;flex-shrink:0;color:var(--pf-green);font-weight:700}.hx-nav-item.verified .hx-nav-label{color:var(--pf-gray-500)}.hx-nav-label{flex:1}.hx-main{flex:1;display:flex;flex-direction:column;min-width:0}.hx-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--pf-gray-200);margin-bottom:14px}.hx-title{font-size:16px;font-weight:600;color:var(--pf-navy)}.hx-verify{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--pf-gray-700);cursor:pointer;-webkit-user-select:none;user-select:none}.hx-verify input{width:15px;height:15px;accent-color:var(--pf-blue);cursor:pointer}.hx-pane{flex:1;font-size:13.5px;line-height:1.6;color:var(--pf-gray-900)}.hx-pane:empty:after{content:"";display:block;min-height:60px}.hx-list{list-style:none;display:flex;flex-direction:column;gap:7px}.hx-list li{padding-left:16px;position:relative}.hx-list li:before{content:"•";position:absolute;left:2px;color:var(--pf-gray-300)}.hx-block{display:flex;flex-direction:column;gap:9px}.hx-social-cat{color:var(--pf-gray-500);font-weight:500}.hx-interaction{margin-top:6px;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 11px;border-radius:5px;background:#fdf0e3;border:1px solid var(--pf-orange);color:#a85b18;font-size:12.5px;font-weight:600}.hx-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--pf-gray-200)}.hx-foot-hint{font-size:12px;color:var(--pf-gray-500)}.hx-next{background:var(--pf-blue);color:#fff;border:none;border-radius:5px;padding:8px 18px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.hx-next:hover{background:#2560b4}
