@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#18363b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7f7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #329889}#root{min-height:100vh}.doctor-info{background:#fff;border:1px solid #dfe8e8;border-left:3px solid #147b70;border-radius:4px;align-items:center;gap:13px;margin:16px 0;padding:14px 16px;display:flex}.doctor-initials{color:#147b70;background:#e0f2ed;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.doctor-info strong,.doctor-info span,.doctor-info small{display:block}.doctor-info strong{font-size:13px}.doctor-info span{color:#71848a;margin-top:3px;font-size:10px}.doctor-info small{color:#287d72;margin-top:4px;font-size:10px}.panel-empty{text-align:center;background:#fff;border:1px dashed #c9d9d9;margin:16px 0;padding:35px}.filter-empty{text-align:center;margin:13px 0}.filter-row select:disabled{color:#a0adaf;background:#f5f8f8}.calendar-heading .primary-button:disabled{cursor:not-allowed}.calendar-legend{color:#6f8388;align-items:center;gap:16px;margin:0 0 16px;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.legend-dot{background:#50a68f;border-radius:50%;width:8px;height:8px}.legend-dot.booked{background:#d1954c}.legend-dot.break{background:#a78a58}.legend-dot.blocked{background:#c77a70}.legend-dot.leave{background:#9878a9}.availability-list{position:relative}.availability-slot{border-bottom:1px solid #edf1f1;grid-template-columns:110px 110px 1fr;align-items:center;min-height:42px;padding:0 15px;font-size:11px;display:grid}.availability-slot>span{color:#809398;font-variant-numeric:tabular-nums}.availability-slot strong{letter-spacing:.4px;font-size:10px}.availability-slot small{color:#87979a;font-size:10px}.slot-available strong{color:#277c70}.slot-booked{background:#f0f6f5}.slot-booked strong{color:#346c68}.slot-break{background:#fff8eb}.slot-break strong{color:#9b7145}.slot-blocked{background:#fff3f1}.slot-blocked strong{color:#a45b54}.slot-leave{background:#f7f1fa}.slot-leave strong{color:#765985}.availability-empty{color:#718489;text-align:center;background:#fff;border:1px dashed #cadadb;border-radius:4px;padding:35px;font-size:12px}.weekly-panel{background:#fff;border:1px solid #dfe8e8;border-radius:4px;margin:16px 0;padding:16px}.panel-heading h3{margin:0 0 10px;font:600 15px Space Grotesk,sans-serif}.week-line{border-top:1px solid #edf1f1;grid-template-columns:110px 1fr;padding:7px 0;font-size:10px;display:grid}.week-line span{color:#74878b}.week-line b{color:#287a6d;margin-left:10px;font-weight:700}.week-line .off-day{color:#b06e6a;font-weight:700}@media (width<=620px){.calendar-legend{flex-wrap:wrap;gap:8px}.availability-slot{grid-template-columns:90px 95px 1fr;padding:0 10px}.weekly-panel{overflow-x:auto}.week-line{min-width:370px}}.booking-backdrop{z-index:10;background:#103f4566;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.booking-modal{background:#fff;border-radius:7px;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 20px 60px #103f4540}.booking-modal-header{border-bottom:1px solid #e4ebeb;justify-content:space-between;align-items:flex-start;padding:24px 26px 16px;display:flex}.booking-modal-header h2{margin:0;font:600 22px Space Grotesk,sans-serif}.booking-modal-header>button{color:#789095;background:0 0;border:0;font-size:26px;line-height:1}.booking-steps{color:#9aa8aa;text-transform:uppercase;border-bottom:1px solid #edf1f1;gap:18px;padding:13px 26px;font-size:10px;display:flex}.booking-steps .active{color:#19786e;font-weight:700}.booking-form,.patient-search-field,.review-panel{gap:14px;padding:22px 26px;display:grid}.booking-form label,.patient-search-field label{color:#687e83;gap:6px;font-size:10px;font-weight:700;display:grid}.booking-form input,.booking-form select,.booking-form textarea,.patient-search-field>input{color:#29484d;background:#fff;border:1px solid #d6e2e2;border-radius:4px;width:100%;padding:10px;font-size:12px}.selected-patient,.selected-patient-banner{color:#32776f;background:#e7f5ef;border-radius:4px;padding:11px;font-size:11px}.selected-patient span{color:#71898b;margin-top:3px;font-size:10px;display:block}.selected-patient button,.selected-patient-banner button{float:right;color:#287e73;background:0 0;border:0;font-size:10px;font-weight:700}.patient-results{background:#fff;border:1px solid #d9e5e5;border-radius:4px;position:relative;overflow:hidden}.patient-results button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f1;width:100%;padding:10px 12px;display:block}.patient-results button:hover{background:#f0f8f5}.patient-results strong,.patient-results span{display:block}.patient-results span{color:#7b8f93;margin-top:3px;font-size:10px}.search-empty,.slot-empty{color:#ad7770;background:#fff5f3;border-radius:4px;padding:12px;font-size:11px}.slot-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.slot-option{text-align:left;background:#f7fbfa;border:1px solid #dce8e7;border-radius:4px;padding:0}.slot-option.selected{border-color:#218b7d;box-shadow:0 0 0 2px #d2eee8}.slot-option .availability-slot{min-height:auto;padding:8px;display:block}.slot-option .availability-slot strong,.slot-option .availability-slot small{margin-top:3px;display:block}.booking-actions{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.secondary-button{color:#526e73;background:#fff;border:1px solid #d5e1e1;border-radius:4px;height:35px;padding:0 14px;font-size:11px;font-weight:700}.review-panel h3{margin:0;font:600 17px Space Grotesk,sans-serif}.review-panel dl{grid-template-columns:135px 1fr;margin:0;display:grid}.review-panel dt,.review-panel dd{border-bottom:1px solid #edf1f1;margin:0;padding:8px 0;font-size:11px}.review-panel dt{color:#8a9b9e}.review-panel dd{font-weight:700}.confirmation{text-align:center;padding:40px 26px}.success-mark{color:#16806f;background:#dff2e9;border-radius:50%;place-items:center;width:50px;height:50px;margin:0 auto 13px;font-size:28px;display:grid}.confirmation h3{margin:0 0 8px;font:600 20px Space Grotesk,sans-serif}.confirmation>strong{color:#147b70;letter-spacing:1px}.confirmation p{color:#758a8e;font-size:11px}@media (width<=620px){.booking-modal{max-height:100vh}.booking-backdrop{padding:0}.booking-steps{gap:8px;padding-left:18px;padding-right:18px;font-size:8px}.booking-form,.patient-search-field,.review-panel{padding-left:18px;padding-right:18px}.slot-options{grid-template-columns:repeat(2,1fr)}}:root{--primary-color:#0284c7;--primary-dark:#0369a1;--primary-light:#e0f2fe;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--teal:#0d9488;--sidebar:#0f172a;--sidebar-active:#1e293b;--canvas:#f8fafc;--border-color:#e2e8f0;--card-bg:#fff;--text-primary:#0f172a;--text-secondary:#64748b}body{background-color:var(--canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app-shell{background:var(--canvas);min-height:100vh;display:flex}.sidebar{background:var(--sidebar);color:#cbd5e1;flex-direction:column;flex:0 0 240px;width:240px;display:flex;box-shadow:2px 0 8px #0000000d}.brand{color:#fff;letter-spacing:1px;border-bottom:1px solid #1e293b;align-items:center;gap:12px;height:76px;padding:0 24px;font-size:13px;font-weight:700;display:flex}.brand b{color:#38bdf8}.brand-mark{color:#0f172a;background:#38bdf8;border-radius:6px;place-items:center;width:28px;height:28px;font-size:18px;font-weight:800;display:grid}.sidebar nav{gap:4px;padding:16px 12px;display:grid}.nav-item{color:#94a3b8;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;width:100%;height:42px;padding:0 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s ease-in-out;display:flex}.nav-item:hover{color:#f1f5f9;background:#1e293b}.nav-item.active{color:#fff;background:#0284c7;font-weight:600;box-shadow:0 2px 6px #0284c74d}.nav-item small{color:#64748b;letter-spacing:.8px;margin-left:auto;font-size:9px}.nav-icon{text-align:center;color:#38bdf8;width:20px;font-size:16px}.nav-item.active .nav-icon{color:#fff}.sidebar-footer{color:#64748b;border-top:1px solid #1e293b;margin-top:auto;padding:18px 24px;font-size:11px}.sidebar-footer i{background:#10b981;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 32px;display:flex;box-shadow:0 1px 3px #00000005}.eyebrow{color:#64748b;letter-spacing:1.5px;margin:0 0 4px;font-size:10px;font-weight:700}.topbar h1{color:#0f172a;margin:0;font-size:20px;font-weight:700}.user-area{align-items:center;gap:12px;font-size:13px;display:flex}.user-area strong,.user-area span{display:block}.user-area span{color:#64748b;margin-top:2px;font-size:11px}.avatar{color:#0284c7;background:#e0f2fe;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:grid}.notification,.chevron{color:#64748b;cursor:pointer;background:0 0;border:0}.notification{border:1px solid var(--line);color:#ea580c;border-radius:50%;width:32px;height:32px;font-weight:700}.page-layout{max-width:1400px;margin:0 auto;padding:24px 32px}.page-content{margin-top:16px}.card{border:1px solid var(--border-color);background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #00000008}.primary-button{background:var(--primary-color);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;height:38px;padding:0 18px;font-size:13px;font-weight:600;transition:background .15s ease-in-out;display:inline-flex}.primary-button:hover{background:var(--primary-dark)}.secondary-button{border:1px solid var(--border-color);height:38px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:500;transition:all .15s ease-in-out;display:inline-flex}.secondary-button:hover{background:#f1f5f9;border-color:#cbd5e1}.data-table{border-collapse:collapse;width:100%;margin-top:12px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:13px}.data-table th{color:#475569;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;font-size:11px;font-weight:600}.data-table tr:hover{background:#f8fafc}.status-active{color:#15803d;background:#dcfce7}.status-inactive{color:#b91c1c;background:#fee2e2}.form-group label{color:#475569;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);box-sizing:border-box;background:#fff;border-radius:6px;width:100%;padding:8px 12px;font-size:13px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #0284c726}.empty-state{text-align:center;color:#94a3b8;padding:24px}.app-shell{width:100%;overflow-x:hidden}.main-content{min-width:0;max-width:calc(100vw - 236px);overflow-x:hidden}.calendar-page{width:100%;max-width:1300px;overflow:hidden}.day-calendar{max-width:100%;position:relative;overflow-x:auto}.day-grid{min-width:0}.booking-backdrop{width:100vw;max-width:100vw;overflow:hidden}@media (width<=900px){.main-content{max-width:calc(100vw - 66px)}.calendar-page{padding-left:20px;padding-right:20px}}@media (width<=620px){.main-content{max-width:calc(100vw - 66px)}.day-calendar{overflow-x:auto}.day-header,.day-grid{min-width:520px}}.patient-page{max-width:1250px;margin:0 auto;padding:30px 40px}.patient-page-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.patient-page h2{margin:0;font:600 26px Space Grotesk,sans-serif}.patient-page-heading p:last-child{color:#74888d;margin:6px 0 0;font-size:12px}.patient-page-heading .primary-button,.patient-page-heading .secondary-button{margin-left:8px}.patient-form{gap:16px;max-width:1050px;display:grid}.patient-form fieldset{background:#fff;border:1px solid #dfe8e8;border-radius:5px;padding:18px}.patient-form legend{color:#1b6f68;padding:0 7px;font-size:12px;font-weight:700}.form-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.patient-form label,.patient-tools label{color:#687e83;gap:6px;font-size:10px;font-weight:700;display:grid}.patient-form input,.patient-form select,.patient-form textarea,.patient-tools input,.patient-tools select{color:#29484d;background:#fff;border:1px solid #d6e2e2;border-radius:4px;width:100%;height:35px;padding:0 10px;font-size:11px}.patient-form .wide{grid-column:span 2}.patient-form small{color:#b34f49;font-size:9px}.patient-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.patient-stats>div{background:#fff;border:1px solid #dfe8e8;border-radius:5px;padding:15px}.patient-stats span,.patient-stats strong{display:block}.patient-stats span{color:#809398;font-size:10px}.patient-stats strong{color:#1c7169;margin-top:5px;font:600 23px Space Grotesk}.patient-tools{gap:10px;margin-bottom:15px;display:flex}.patient-tools input{max-width:430px}.patient-tools select{width:150px}.patient-table-wrap{background:#fff;border:1px solid #dfe8e8;border-radius:5px;overflow:auto}.patient-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:850px}.patient-table-wrap th{color:#829498;letter-spacing:.7px;text-transform:uppercase;background:#f5f9f9;padding:12px;font-size:9px}.patient-table-wrap td{color:#4f686e;border-top:1px solid #edf1f1;padding:12px;font-size:10px}.patient-table-wrap td strong,.patient-table-wrap td small{display:block}.patient-table-wrap td small{color:#9aa8aa;margin-top:3px;font-size:9px}.status-badge{color:#277d70;background:#e4f3ed;border-radius:3px;padding:4px 6px;font-size:9px;font-weight:700}.text-button{color:#16756b;background:0 0;border:0;padding:0 5px;font-size:10px;font-weight:700}.patient-search{padding:22px 26px;position:relative}.patient-search>label{color:#687e83;gap:6px;font-size:10px;font-weight:700;display:grid}.patient-search>input{border:1px solid #d6e2e2;border-radius:4px;height:38px;padding:0 10px;font-size:11px}.patient-search-results{border:1px solid #dfe8e8;border-radius:4px;margin-top:8px;overflow:hidden}.patient-search-results article{border-bottom:1px solid #edf1f1;justify-content:space-between;align-items:center;gap:15px;padding:12px;display:flex}.patient-search-results article:last-child{border:0}.patient-search-results strong,.patient-search-results span{display:block}.patient-search-results span{color:#7e9094;margin-top:3px;font-size:10px}.patient-search-results button,.register-patient-link{color:#1b786e;white-space:nowrap;background:0 0;border:0;font-size:10px;font-weight:700}.patient-empty{color:#a35e58;background:#fff4f2;padding:12px;font-size:11px}.register-patient-link{margin:0 26px 20px;padding:10px 0}.booking-errors{color:#a2534c;background:#fff3f1;border-radius:4px;gap:4px;margin:0 26px 20px;padding:10px;font-size:10px;display:grid}.success-panel{background:#fff;border:1px solid #dfe8e8;border-radius:5px;max-width:650px;padding:35px}.success-panel h2{margin:0 0 18px}.success-panel p{color:#60777c;font-size:12px}.readonly-identity{gap:12px;margin-bottom:16px;display:flex}.readonly-identity span{color:#638084;background:#e8f4f1;border-radius:4px;padding:10px 13px;font-size:10px}.readonly-identity strong{color:#226f68;margin-top:3px;display:block}.profile-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-width:1000px;display:grid}.profile-grid>div{background:#fff;border:1px solid #dfe8e8;border-radius:5px;padding:15px}.profile-grid span,.profile-grid strong{display:block}.profile-grid span{color:#8b9a9d;font-size:10px}.profile-grid strong{color:#2e5057;margin-top:6px;font-size:12px}.duplicate-warning{color:#885449;background:#fff8f3;border:1px solid #e2b29e;border-radius:5px;max-width:1050px;margin-bottom:17px;padding:14px}.duplicate-warning>strong{font-size:11px}.duplicate-warning p{margin:5px 0 12px;font-size:10px}.duplicate-match{border-top:1px solid #efd9ce;padding:10px 0}.duplicate-match b,.duplicate-match span{display:block}.duplicate-match span{margin-top:3px;font-size:10px}.duplicate-match button{color:#8d5045;background:#fff;border:1px solid #d8a998;border-radius:3px;margin:9px 9px 0 0;padding:6px 9px;font-size:9px;font-weight:700}@media (width<=750px){.patient-page{padding:22px 18px}.patient-page-heading{flex-direction:column;align-items:flex-start}.form-grid,.profile-grid{grid-template-columns:1fr}.patient-form .wide{grid-column:auto}.patient-stats{grid-template-columns:1fr}.patient-tools{flex-direction:column}.patient-tools input,.patient-tools select{width:100%;max-width:none}.readonly-identity{flex-direction:column}}.operation-page{max-width:1100px;margin:0 auto;padding:30px 40px}.operation-heading{margin-bottom:20px}.operation-heading h2{margin:0;font:600 26px Space Grotesk,sans-serif}.operation-heading p:last-child{color:var(--muted);font-size:12px}.operation-search{border:1px solid var(--line);border-radius:4px;width:min(100%,520px);height:38px;margin-bottom:16px;padding:0 12px;font-size:12px}.appointment-list,.queue-table-wrap,.encounter-card,.success-card{border:1px solid var(--line);background:#fff;border-radius:5px}.checkin-card{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.checkin-card:last-child{border:0}.checkin-card .time{color:var(--teal);font-weight:700}.checkin-card strong,.checkin-card span{display:block}.checkin-card span{color:var(--muted);margin-top:4px;font-size:11px}.checkin-card>div:last-child{align-items:center;gap:12px;display:flex}.status-badge{color:#52686c;background:#eef2f2;border-radius:12px;padding:4px 7px;font-size:9px;font-weight:700;display:inline-block}.status-badge.confirmed{color:#286958;background:#e2f2ed}.status-badge.waiting,.status-badge.checked_in{color:#8c5c22;background:#fff0d9}.modal-backdrop{z-index:10;background:#16333877;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fff;border-radius:6px;width:min(100%,440px);padding:25px;box-shadow:0 10px 35px #0003}.confirmation-dialog h2{margin:0 0 18px}.confirmation-dialog div,.success-card .primary-button,.success-card .secondary-button{margin:16px 8px 0 0}.queue-filters{gap:12px;margin-bottom:16px;display:flex}.queue-filters label{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.queue-filters select{border:1px solid var(--line);border-radius:4px;min-width:180px;margin-top:6px;padding:8px;display:block}.queue-summary{color:var(--muted);gap:25px;margin:15px 0;font-size:12px;display:flex}.queue-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.queue-table th,.queue-table td{border-bottom:1px solid var(--line);padding:13px}.queue-table th{color:var(--muted);text-transform:uppercase;font-size:9px}.queue-table small{color:var(--muted);font-size:10px;display:block}.encounter-card,.success-card{max-width:620px;margin:18px 0;padding:26px}.encounter-card h2,.success-card h2{margin:0 0 20px}.encounter-card dl,.success-card dl{grid-template-columns:150px 1fr;gap:11px;margin:0;display:grid}.encounter-card dt,.success-card dt{color:var(--muted);font-size:12px}.encounter-card dd,.success-card dd{margin:0;font-size:13px;font-weight:600}.link-button{color:var(--teal);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.visit-history{border:1px solid var(--line);background:#fff;border-radius:4px;margin-top:24px;padding:18px}.visit-history h3{margin:3px 0 14px}.visit-history p{border-top:1px solid var(--line);margin:0;padding:10px 0;font-size:12px}@media (width<=620px){.operation-page{padding:20px}.checkin-card{grid-template-columns:1fr}.queue-summary{flex-direction:column;gap:5px}.queue-table-wrap{overflow:auto}.queue-table{min-width:650px}}.sidebar{transition:width .2s,flex-basis .2s;overflow:hidden}.sidebar-collapsed .sidebar{flex-basis:0;width:0}.sidebar-collapsed .main-content{max-width:100vw}.header-title{align-items:center;gap:14px;display:flex}.sidebar-toggle{border:1px solid var(--line);width:34px;height:34px;color:var(--teal);cursor:pointer;background:#fff;border-radius:4px;place-items:center;font-size:18px;display:grid}.sidebar-toggle:hover{background:#eef7f5}@media (width<=620px){.header-title{gap:8px}.sidebar-toggle{width:31px;height:31px}.sidebar-collapsed .main-content{max-width:100vw}}.consultation-page{max-width:1400px;margin:0 auto;padding:26px 40px}.clinical-header{border:1px solid var(--line);background:#fff;border-radius:5px;justify-content:space-between;gap:20px;padding:20px;display:flex}.clinical-header h2{margin:0;font:600 24px Space Grotesk,sans-serif}.clinical-header p,.clinical-header span{color:var(--muted);margin:5px 0;font-size:12px;display:block}.clinical-header em{color:#a35e1f;font-style:normal;font-weight:700}.clinical-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px;display:grid}.clinical-section,.patient-summary{border:1px solid var(--line);background:#fff;border-radius:5px;margin:14px 0;padding:18px}.clinical-section h3,.patient-summary h3{margin:0 0 14px;font-size:14px}.clinical-section label{color:var(--muted);margin:9px 0;font-size:11px;font-weight:700;display:block}.clinical-section input,.clinical-section select,.clinical-section textarea{border:1px solid var(--line);width:100%;color:var(--ink);border-radius:4px;margin-top:5px;padding:9px;font-weight:400;display:block}.clinical-section textarea{resize:vertical;min-height:70px}.clinical-section input[type=checkbox]{width:auto;margin-right:7px;display:inline-block}.clinical-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.clinical-item{background:#f6f9f9;border-radius:4px;padding:10px}.clinical-item button{color:#a34a32;cursor:pointer;background:0 0;border:0;margin-top:8px}.patient-summary{height:max-content}.patient-summary p{border-top:1px solid var(--line);margin:0;padding:11px 0;font-size:12px;line-height:1.5}.save-status{color:var(--teal);margin:12px 0;font-size:12px}.consultation-actions{justify-content:flex-end;gap:10px;margin:18px 0;display:flex}@media (width<=900px){.consultation-page{padding:20px}.clinical-layout{grid-template-columns:1fr}.patient-summary{order:-1}.clinical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.clinical-header{flex-direction:column}.clinical-grid{grid-template-columns:1fr}}.voice-input{margin-top:5px}.voice-input textarea{margin-top:0}.voice-actions{align-items:center;gap:8px;margin-top:6px;display:flex}.voice-actions span{color:var(--muted);font-size:10px}.voice-button{color:var(--teal);cursor:pointer;background:#edf8f5;border:1px solid #b8d9d3;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:700}.voice-button.listening{color:#a13c38;background:#fceceb;border-color:#edc0bd}@media (width>=1100px){.clinical-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.clinical-section>label{max-width:100%}}.clinical-tabs{white-space:nowrap;background:#eaf0f0;border-radius:5px;gap:4px;padding:5px;display:flex;overflow-x:auto}.clinical-tabs button{color:#597075;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:9px 12px;font-size:11px;font-weight:700}.clinical-tabs button.active{color:var(--teal);background:#fff;box-shadow:0 1px 3px #cbd8d8}.clinical-tabs button:focus-visible{outline-offset:-2px;outline:2px solid #329889}.template-bar{border:1px solid var(--line);background:#fff;border-radius:5px;flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:12px;padding:10px;display:flex}.template-bar label{color:var(--muted);gap:4px;font-size:10px;font-weight:700;display:grid}.template-bar select,.template-bar input{border:1px solid var(--line);min-width:170px;height:32px;color:var(--ink);background:#fff;border-radius:4px;padding:0 8px;font-size:11px}.template-bar .secondary-button{height:32px}@media (width<=620px){.template-bar{align-items:stretch}.template-bar label,.template-bar select,.template-bar input{width:100%}}.investigation-page{max-width:1400px;margin:0 auto;padding:1.5rem}.investigation-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.investigation-header-info h2{color:var(--text-heading,#1e293b);margin:.25rem 0;font-size:1.5rem}.investigation-header-actions{gap:.75rem;display:flex}.investigation-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;flex-direction:column;padding:1rem 1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.stat-card-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);margin-bottom:.35rem;font-size:.8rem;font-weight:600}.stat-card-value{color:var(--text-heading,#0f172a);font-size:1.85rem;font-weight:700}.stat-card.alert{border-left:4px solid #ef4444}.stat-card.warning{border-left:4px solid #f59e0b}.stat-card.info{border-left:4px solid #3b82f6}.stat-card.success{border-left:4px solid #10b981}.investigation-filters{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.filter-group{flex-direction:column;flex:1;gap:.35rem;min-width:140px;display:flex}.filter-group label{text-transform:uppercase;color:var(--text-muted,#64748b);font-size:.75rem;font-weight:600}.filter-group select,.filter-group input{border:1px solid var(--border-color,#cbd5e1);color:#1e293b;background-color:#fff;border-radius:6px;padding:.45rem .65rem;font-size:.9rem}.investigation-table-container{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;overflow-x:auto;box-shadow:0 1px 3px #0000000d}.investigation-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.investigation-table th{color:#475569;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;font-weight:600}.investigation-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.85rem 1rem}.investigation-table tbody tr:hover{background-color:#f8fafc}.investigation-badge{text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;border-radius:9999px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-priority-routine{color:#475569;background-color:#f1f5f9}.badge-priority-urgent{color:#b45309;background-color:#fef3c7}.badge-priority-stat{color:#b91c1c;background-color:#fee2e2;font-weight:700}.badge-status-ordered{color:#0369a1;background-color:#e0f2fe}.badge-status-received{color:#4338ca;background-color:#e0e7ff}.badge-status-pending{color:#854d0e;background-color:#fef9c3}.badge-status-collected{color:#c2410c;background-color:#fed7aa}.badge-status-accepted{color:#0f766e;background-color:#ccfbf1}.badge-status-processing{color:#1d4ed8;background-color:#dbeafe}.badge-status-draft{color:#92400e;background-color:#fef3c7}.badge-status-verified{color:#15803d;background-color:#dcfce7}.badge-status-rejected{color:#991b1b;background-color:#fee2e2}.badge-status-cancelled{color:#64748b;background-color:#f1f5f9;text-decoration:line-through}.badge-flag-normal{color:#166534;background-color:#f0fdf4}.badge-flag-low{color:#1e40af;background-color:#eff6ff}.badge-flag-high{color:#c2410c;background-color:#fff7ed}.badge-flag-critical{color:#991b1b;background-color:#fef2f2;border:1px solid #f87171;animation:2s infinite pulse-border}@keyframes pulse-border{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444433}}.critical-result-banner{color:#991b1b;background-color:#fef2f2;border:1px solid #f87171;border-left:6px solid #dc2626;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1.25rem;font-weight:600;display:flex}.verified-banner{color:#166534;background-color:#f0fdf4;border:1px solid #86efac;border-left:6px solid #16a34a;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:.85rem 1.25rem;display:flex}.investigation-details-card{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.details-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.detail-item span{color:var(--text-muted,#64748b);text-transform:uppercase;margin-bottom:.2rem;font-size:.75rem;display:block}.detail-item strong{color:#1e293b;font-size:.95rem}.parameter-entry-table{border-collapse:collapse;width:100%;margin-top:1rem}.parameter-entry-table th{color:#475569;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.65rem .75rem;font-size:.8rem}.parameter-entry-table td{border-bottom:1px solid #f1f5f9;padding:.65rem .75rem}.parameter-entry-table input,.parameter-entry-table select{border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:.4rem .6rem;font-size:.875rem}.report-section{margin-bottom:1.25rem}.report-section label{color:#334155;margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.report-section textarea{border:1px solid #cbd5e1;border-radius:6px;width:100%;min-height:90px;padding:.75rem;font-family:inherit;font-size:.9rem;line-height:1.5}.button-group{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.investigation-nav-tabs{border-bottom:1px solid #e2e8f0;gap:.5rem;margin-bottom:1.5rem;display:flex}.investigation-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600}.investigation-tab-btn.active{color:#2563eb;border-bottom-color:#2563eb}.investigation-modal-backdrop{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.investigation-modal{background:#fff;border-radius:8px;width:100%;max-width:650px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.investigation-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.pharmacy-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.pharmacy-metric-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.pharmacy-metric-card.alert{background:#fef2f2;border-color:#fca5a5}.pharmacy-metric-card.alert .metric-value{color:#dc2626}.pharmacy-metric-card h3{color:#64748b;text-transform:uppercase;margin:0 0 .5rem;font-size:.9rem}.pharmacy-metric-card .metric-value{color:#0f172a;margin:0;font-size:2rem;font-weight:700}.prescription-table{border-collapse:collapse;width:100%;margin-bottom:1rem;font-size:.9rem}.prescription-table th,.prescription-table td{text-align:left;border:1px solid #e2e8f0;padding:.75rem}.prescription-table th{color:#334155;background:#f8fafc;font-weight:600}.prescription-table tr:hover{background:#f1f5f9}.prescription-badge{text-transform:uppercase;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-draft{color:#475569;background:#f1f5f9}.status-finalized{color:#3730a3;background:#e0e7ff}.status-pending{color:#854d0e;background:#fef9c3}.status-under-review{color:#9a3412;background:#ffedd5}.status-partially-dispensed{color:#1e40af;background:#dbeafe}.status-dispensed,.status-completed{color:#166534;background:#dcfce7}.status-on-hold{color:#991b1b;background:#fee2e2}.status-cancelled{color:#374151;background:#f3f4f6}.status-not-dispensed{color:#991b1b;background:#fee2e2}.status-prescribed{color:#475569;background:#f1f5f9}.priority-stat{color:#dc2626;font-weight:700}.priority-urgent{color:#ea580c;font-weight:700}.priority-routine{color:#475569}.add-medication-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-medication-modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.add-medication-modal-content h3{border-bottom:1px solid #e2e8f0;margin-top:0;padding-bottom:1rem}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.medication-search-results{border:1px solid #e2e8f0;border-radius:4px;max-height:200px;margin-top:.5rem;overflow-y:auto}.medication-search-item{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:.5rem 1rem}.medication-search-item:hover,.medication-search-item.selected{background:#e2e8f0}.medication-search-item strong{display:block}.medication-search-item small{color:#64748b}.dispensing-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.dispensing-panel h4{border-bottom:1px solid #f1f5f9;margin-top:0;padding-bottom:.5rem}.dispensing-item-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;padding:1rem}.dispensing-item-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.dispensing-item-header h5{margin:0;font-size:1.1rem}.dispensing-metrics{gap:2rem;margin-bottom:1rem;display:flex}.dispense-metric-box{flex-direction:column;display:flex}.dispense-metric-box label{color:#64748b;text-transform:uppercase;font-size:.8rem}.dispense-metric-box strong{font-size:1.2rem}.dispense-metric-box.remaining strong{color:#ea580c}.dispensing-inputs{background:#fff;border:1px solid #e2e8f0;border-radius:4px;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:1rem;padding:1rem;display:grid}.print-only{display:none}@media print{body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{width:100%;display:block;position:absolute;top:0;left:0}}.print-header{text-align:center;border-bottom:2px solid #000;margin-bottom:2rem;padding-bottom:1rem}.print-patient-info{border:1px solid #ccc;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;padding:1rem;display:grid}.medication-history-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem}.medication-history-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.medication-history-body{padding:1rem}.billing-dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.billing-metric-card{border:1px solid var(--border-color);background:#fff;border-radius:8px;flex-direction:column;padding:16px;display:flex}.billing-metric-title{color:var(--text-secondary);margin-bottom:8px;font-size:.875rem}.billing-metric-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.billing-metric-value.success{color:#10b981}.billing-metric-value.warning{color:#f59e0b}.billing-summary-card{border:1px solid var(--border-color);background:#fff;border-radius:8px;max-width:400px;padding:24px}.billing-summary-row{border-bottom:1px solid var(--bg-secondary);justify-content:space-between;padding:8px 0;display:flex}.billing-summary-row:last-child{border-bottom:none}.billing-summary-row.total{border-top:2px solid var(--border-color);border-bottom:none;padding-top:12px;font-size:1.1rem;font-weight:700}.billing-summary-row.balance{color:#ef4444;font-weight:700}.invoice-print-container{background:#fff;max-width:800px;margin:0 auto;padding:40px}.invoice-header{text-align:center;border-bottom:2px solid #e5e7eb;margin-bottom:32px;padding-bottom:16px}.invoice-details{justify-content:space-between;margin-bottom:32px;display:flex}.invoice-table{border-collapse:collapse;width:100%;margin-bottom:32px}.invoice-table th,.invoice-table td{text-align:left;border:1px solid #e5e7eb;padding:12px}.invoice-table th{background:#f9fafb}.invoice-totals{width:300px;margin-left:auto}.invoice-footer{text-align:center;color:#6b7280;margin-top:48px;font-size:.875rem}@media print{.invoice-print-container{padding:0}.no-print{display:none!important}}.status-badge.UNPAID{color:#991b1b;background:#fee2e2}.status-badge.PARTIALLY_PAID{color:#92400e;background:#fef3c7}.status-badge.PAID{color:#065f46;background:#d1fae5}.status-badge.CANCELLED{color:#374151;background:#f3f4f6}.status-badge.INVOICED{color:#3730a3;background:#e0e7ff}.bed-map{gap:24px;display:grid}.bed-room{border:1px solid var(--border-color);background:#fff;border-radius:8px;padding:16px}.bed-room-title{color:var(--text-secondary);border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:16px;padding-bottom:8px;font-size:1.1rem}.bed-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.bed-card{border:1px solid var(--border-color);text-align:center;cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;height:100px;padding:12px;transition:all .2s;display:flex}.bed-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.bed-card .bed-number{margin-bottom:4px;font-size:1.1rem;font-weight:700}.bed-card .bed-status{text-transform:uppercase;border-radius:12px;padding:2px 6px;font-size:.75rem;font-weight:500}.bed-card.AVAILABLE{background-color:#ecfdf5;border-left:4px solid #10b981}.bed-card.AVAILABLE .bed-status{color:#047857;background:#d1fae5}.bed-card.OCCUPIED{background-color:#eff6ff;border-left:4px solid #3b82f6}.bed-card.OCCUPIED .bed-status{color:#1d4ed8;background:#dbeafe}.bed-card.RESERVED{background-color:#fffbeb;border-left:4px solid #f59e0b}.bed-card.RESERVED .bed-status{color:#b45309;background:#fef3c7}.bed-card.CLEANING{background-color:#f5f3ff;border-left:4px solid #8b5cf6}.bed-card.CLEANING .bed-status{color:#6d28d9;background:#ede9fe}.bed-card.MAINTENANCE,.bed-card.BLOCKED{background-color:#fef2f2;border-left:4px solid #ef4444}.bed-card.MAINTENANCE .bed-status,.bed-card.BLOCKED .bed-status{color:#b91c1c;background:#fee2e2}.ipd-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.ipd-metric-card{border:1px solid var(--border-color);background:#fff;border-radius:8px;flex-direction:column;padding:16px;display:flex}.ipd-metric-title{color:var(--text-secondary);margin-bottom:8px;font-size:.875rem}.ipd-metric-value{color:var(--text-primary);font-size:1.75rem;font-weight:700}.ipd-metric-value.success{color:#10b981}.ipd-metric-value.warning{color:#f59e0b}.ipd-metric-value.danger{color:#ef4444}.ipd-metric-value.primary{color:#3b82f6}.ipd-patient-header{border:1px solid var(--border-color);background:#fff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 24px;display:flex}.ipd-patient-info h2{color:var(--text-primary);margin:0 0 8px}.ipd-patient-meta{color:var(--text-secondary);gap:16px;font-size:.875rem;display:flex}.ipd-patient-meta span{align-items:center;gap:4px;display:flex}.ipd-location-badge{color:#1e40af;text-align:right;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 16px;font-weight:500}.ipd-location-badge .ward{color:#3b82f6;margin-bottom:2px;font-size:.875rem}.ipd-location-badge .bed{font-size:1.125rem}.clinical-chart-tabs{border-bottom:2px solid var(--border-color);gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.clinical-chart-tabs button{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 16px;font-weight:500}.clinical-chart-tabs button:hover{color:var(--primary-color)}.clinical-chart-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.timeline-container{padding-left:24px;position:relative}.timeline-container:before{content:"";background:var(--border-color);width:2px;position:absolute;top:0;bottom:0;left:7px}.timeline-event{margin-bottom:24px;position:relative}.timeline-dot{background:var(--primary-color);border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;left:-24px}.timeline-content{border:1px solid var(--border-color);background:#fff;border-radius:6px;padding:12px}.timeline-content .meta{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem}.alert-card{background:#fef2f2;border-left:4px solid #ef4444;border-radius:6px;margin-bottom:12px;padding:12px}.alert-card h4{color:#991b1b;margin:0 0 4px}.alert-card p{color:#7f1d1d;margin:0;font-size:.875rem}.mar-table{border-collapse:collapse;width:100%}.mar-table th,.mar-table td{border:1px solid var(--border-color);text-align:left;padding:12px}.mar-table th{background:#f8fafc}.mar-status{border-radius:12px;padding:4px 8px;font-size:.75rem;font-weight:700}.mar-status.ADMINISTERED{color:#166534;background:#dcfce7}.mar-status.HELD{color:#854d0e;background:#fef9c3}.mar-status.REFUSED{color:#991b1b;background:#fee2e2}.mar-status.NOT_GIVEN{color:#475569;background:#f1f5f9}.mar-status.SCHEDULED{color:#075985;background:#e0f2fe}.vitals-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.vital-box{border:1px solid var(--border-color);text-align:center;background:#f8fafc;border-radius:8px;padding:16px}.vital-box .label{color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:.75rem}.vital-box .value{font-size:1.5rem;font-weight:700}.vital-box .unit{color:var(--text-secondary);margin-left:4px;font-size:.875rem}.vital-box.abnormal{background:#fef2f2;border-color:#fca5a5}.vital-box.abnormal .value{color:#dc2626}
