@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";:root{--primary: #0d9488;--primary-dark: #0f766e;--primary-light: #ccfbf1;--accent: #f97316;--accent-light: #ffedd5;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #0ea5e9;--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--card-bg: #ffffff;--sidebar-bg: #ffffff;--border-color: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--hover-bg: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast: .15s ease;--transition-normal: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:14px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:28px}h2{font-size:24px}h3{font-size:18px}h4{font-size:16px}h5{font-size:14px}h6{font-size:12px}p{margin:0}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}input,select,textarea,button{font-family:inherit;font-size:inherit}input:focus,select:focus,textarea:focus{outline:none}button{cursor:pointer;border:none;background:none}table{border-collapse:collapse;width:100%}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background-color:var(--primary);color:#fff}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn .3s ease forwards}.animate-slideUp{animation:slideUp .3s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}@media print{body{background:#fff;color:#000}*{color-adjust:exact;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.login-screen{min-height:100vh;background-color:var(--bg-primary);display:flex;align-items:center;justify-content:center;padding:24px}.login-container{width:100%;max-width:900px}.login-container--narrow{max-width:440px}.login-header{text-align:center;margin-bottom:40px}.login-logo{margin-bottom:16px}.login-logo .logo-icon.large{width:80px;height:80px;font-size:48px;margin:0 auto}.login-header h1{font-size:32px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.login-header p{font-size:16px;color:var(--text-muted)}.login-content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:32px}.login-content h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 24px;text-align:center}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.role-card{padding:20px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center}.role-card:hover{background-color:var(--hover-bg);transform:translateY(-2px)}.role-card.selected{border-color:var(--role-color, var(--primary));background-color:#fff;box-shadow:0 4px 12px #0000001a}.role-emoji{display:block;font-size:32px;margin-bottom:8px}.role-card .role-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.role-card .role-desc{display:block;font-size:12px;color:var(--text-muted)}.staff-selection{margin-top:32px;padding-top:32px;border-top:1px solid var(--border-color)}.staff-selection h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px;text-align:center}.staff-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.staff-card{display:flex;align-items:center;gap:12px;padding:14px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.staff-card:hover{background-color:var(--hover-bg)}.staff-card.selected{border-color:var(--primary);background-color:var(--primary-light)}.staff-avatar{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.staff-info{display:flex;flex-direction:column}.staff-name{font-size:14px;font-weight:500;color:var(--text-primary)}.staff-username{font-size:12px;color:var(--text-muted)}.login-btn{display:block;width:100%;max-width:300px;margin:32px auto 0;padding:14px 28px;background-color:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.login-btn:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.login-footer{text-align:center;margin-top:32px;color:var(--text-muted);font-size:13px}.app{display:flex;min-height:100vh;background-color:var(--bg-primary)}.sidebar{width:260px;background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-color)}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:44px;height:44px;background-color:var(--primary);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.logo-text{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.logo-text small{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.5px}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:none;border:none;width:100%;text-align:left;margin-bottom:4px}.nav-item:hover{background-color:var(--hover-bg);color:var(--text-primary)}.nav-item.active{background-color:var(--primary);color:#fff}.nav-item .badge{margin-left:auto;background-color:var(--accent);color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.nav-item.active .badge{background-color:#fff;color:var(--primary)}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-info.clickable{cursor:pointer;padding:8px;margin:-8px;border-radius:10px;transition:background-color .15s;position:relative}.user-info.clickable:hover{background:#ffffff1a}.user-info .profile-edit-icon{position:absolute;right:8px;opacity:0;transition:opacity .15s;width:16px;height:16px;color:var(--text-light)}.user-info.clickable:hover .profile-edit-icon{opacity:.7}.user-avatar{width:40px;height:40px;background-color:var(--accent);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:var(--text-muted)}.logout-btn{padding:8px;background-color:var(--bg-secondary);border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;flex-shrink:0}.logout-btn:hover{background-color:var(--error);color:#fff}.main-content{flex:1;margin-left:260px;padding:32px;min-height:100vh;position:relative}.main-content-top{display:flex;justify-content:flex-end;margin-bottom:16px}.role-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;color:#fff;font-size:13px;font-weight:600}.role-badge .role-icon{font-size:16px}.notification{position:fixed;top:24px;right:24px;padding:16px 24px;border-radius:8px;font-size:14px;font-weight:500;z-index:1000;animation:slideIn .3s ease;box-shadow:var(--shadow-lg)}.notification.success{background-color:var(--success);color:#fff}.notification.error{background-color:var(--error);color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.module-header{margin-bottom:32px}.module-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.module-header .subtitle{color:var(--text-muted);font-size:15px;margin:0}.card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.card-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.card-body{padding:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.stat-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-left:4px solid var(--primary);border-radius:12px;padding:20px 24px}.stat-value{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label{font-size:14px;color:var(--text-muted)}.welcome-banner{background:var(--primary);border-radius:16px;padding:32px;margin-bottom:24px;margin-top:48px;color:#fff;position:relative}.welcome-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.welcome-text{flex:1}.welcome-greeting{font-size:16px;opacity:.9;display:block;margin-bottom:4px}.welcome-name{font-size:28px;font-weight:700;margin:0 0 8px;color:#fff}.welcome-date{font-size:14px;opacity:.85;margin:0}.welcome-summary{display:flex;align-items:center;gap:24px;background:#ffffff26;padding:16px 24px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-item{text-align:center}.summary-value{display:block;font-size:24px;font-weight:700}.summary-label{display:block;font-size:12px;opacity:.85;margin-top:4px}.summary-divider{width:1px;height:40px;background:#ffffff4d}.quick-actions-section{margin-bottom:24px}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{border-color:var(--action-color, var(--primary));background:var(--bg-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quick-action-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--action-color, var(--primary));color:#fff;border-radius:12px}.quick-action-icon svg{width:24px;height:24px}.quick-action-label{font-size:14px;font-weight:500;color:var(--text-primary)}.activity-section{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:20px}.activity-feed{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:8px;transition:background .2s}.activity-item:hover{background:var(--bg-hover)}.activity-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#fff}.activity-item.registration .activity-icon{background:#3b82f6}.activity-item.lab .activity-icon{background:#f59e0b}.activity-item.billing .activity-icon{background:#8b5cf6}.activity-content{flex:1;display:flex;justify-content:space-between;align-items:center}.activity-text{font-size:14px;color:var(--text-primary)}.activity-time{font-size:12px;color:var(--text-muted)}.system-status-card .status-items{display:flex;flex-direction:column;gap:12px}.status-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.status-indicator{width:10px;height:10px;border-radius:50%;background:#9ca3af}.status-indicator.online{background:#10b981;box-shadow:0 0 8px #10b98180;animation:pulse-status 2s infinite}@keyframes pulse-status{0%,to{opacity:1}50%{opacity:.7}}.status-label{flex:1}.status-value{font-weight:600;color:var(--text-primary)}.status-value.warning{color:var(--warning)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.department-bars{display:flex;flex-direction:column;gap:16px}.dept-bar-item{display:flex;flex-direction:column;gap:8px}.dept-bar-label{display:flex;justify-content:space-between;font-size:14px;color:var(--text-secondary)}.dept-count{font-weight:600;color:var(--text-primary)}.dept-bar-track{height:8px;background-color:var(--bg-secondary);border-radius:4px;overflow:hidden}.dept-bar-fill{height:100%;background-color:var(--primary);border-radius:4px;transition:width .3s ease;min-width:4px}.revenue-display{text-align:center;padding:24px 0;border-bottom:1px solid var(--border-color);margin-bottom:16px}.revenue-amount{font-size:36px;font-weight:700;color:var(--success)}.revenue-label{font-size:14px;color:var(--text-muted);margin-top:4px}.revenue-breakdown{display:flex;flex-direction:column;gap:12px}.breakdown-item{display:flex;justify-content:space-between;font-size:14px;color:var(--text-secondary)}.breakdown-item span:last-child{font-weight:600;color:var(--text-primary)}.alert-badge{background-color:var(--error);color:#fff;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600}.low-stock-list{display:flex;flex-direction:column;gap:12px}.low-stock-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:var(--bg-secondary);border-radius:8px}.item-info{display:flex;flex-direction:column}.item-name{font-size:14px;font-weight:500;color:var(--text-primary)}.item-category{font-size:12px;color:var(--text-muted)}.item-qty{font-size:13px;font-weight:600}.item-qty.warning{color:var(--error)}.recent-patients-list{display:flex;flex-direction:column;gap:12px}.recent-patient-item{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--bg-secondary);border-radius:8px}.patient-avatar{width:40px;height:40px;background-color:var(--primary);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.patient-avatar.large{width:56px;height:56px;font-size:18px}.patient-info{display:flex;flex-direction:column;flex:1;min-width:0}.patient-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-id{font-size:12px;color:var(--text-muted)}.dept-tag{font-size:11px;padding:4px 10px;border-radius:12px;font-weight:500;text-transform:capitalize;background-color:var(--bg-secondary);color:var(--text-secondary)}.dept-tag.registration{background-color:#dbeafe;color:#1e40af}.dept-tag.clinical{background-color:#d1fae5;color:#065f46}.dept-tag.laboratory{background-color:#fef3c7;color:#92400e}.dept-tag.pharmacy{background-color:#fee2e2;color:#991b1b}.dept-tag.billing{background-color:#ede9fe;color:#5b21b6}.empty-state{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.btn-primary:disabled{background-color:var(--text-muted);cursor:not-allowed}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--hover-bg)}.btn-sm{padding:6px 12px;font-size:12px}.btn-large{padding:14px 28px;font-size:15px}.btn-move{background-color:var(--info);color:#fff}.btn-move:hover{background-color:#0369a1}.btn-discharge{background-color:var(--success);color:#fff}.btn-discharge:hover{background-color:#059669}.btn-remove{background:none;border:none;color:var(--error);cursor:pointer;padding:4px}.registration-tabs{display:flex;gap:8px;margin-bottom:20px}.reg-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;border:1px solid var(--border-color);border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.reg-tab:hover{background:var(--bg-secondary)}.reg-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.registration-layout{display:grid;grid-template-columns:1fr 380px;gap:24px}.registration-form-card,.returning-patient-card{height:fit-content}.returning-patient-card .search-box.large{margin-bottom:20px}.returning-patient-card .search-box.large input{font-size:16px;padding:14px 14px 14px 44px}.returning-patient-card .search-box.large svg{width:20px;height:20px;left:14px}.empty-state-box{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state-box svg{width:48px;height:48px;margin-bottom:16px;opacity:.3}.empty-state-box h4{margin:0 0 8px;color:var(--text-secondary)}.empty-state-box p{margin:0;font-size:14px}.patients-table-container{width:100%;overflow-x:auto}.patient-name-link{background:none;border:none;padding:0;margin:0;font-size:14px;font-weight:500;color:var(--primary);cursor:pointer}.patient-name-link:hover{text-decoration:underline}.results-count{font-size:13px;color:var(--text-muted);margin-bottom:16px}.returning-patients-list{display:flex;flex-direction:column;gap:12px}.returning-patient-item{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--border-color);border-radius:10px;background:#fff;transition:all .15s}.returning-patient-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f}.returning-patient-item.in-queue{background:var(--bg-secondary);border-color:var(--border-color)}.returning-patient-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.returning-patient-info{flex:1;display:flex;flex-direction:column;gap:4px}.returning-patient-name{font-weight:600;font-size:15px;color:var(--text-primary)}.returning-patient-details{font-size:13px;color:var(--text-secondary)}.returning-patient-meta{font-size:12px;color:var(--text-muted)}.current-status{font-size:12px;color:var(--primary);margin-top:4px}.current-status strong{text-transform:capitalize}.returning-patient-actions{flex-shrink:0}.already-in-queue{display:inline-block;padding:8px 16px;background:var(--bg-secondary);border-radius:6px;font-size:13px;color:var(--text-muted)}.clickable{cursor:pointer;transition:color .15s}.clickable:hover{color:var(--primary)}.returning-patient-avatar.clickable:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.patient-profile-modal{width:100%;max-width:700px;max-height:90vh;overflow-y:auto}.profile-header{display:flex;align-items:center;gap:20px;padding:20px;background:var(--primary);border-radius:12px;margin-bottom:20px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;flex-shrink:0}.profile-header-info{color:#fff}.profile-header-info h2{margin:0 0 4px;font-size:24px}.profile-id{display:block;font-size:14px;opacity:.9;margin-bottom:8px}.profile-status{display:inline-block;padding:4px 12px;background:#fff3;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.profile-section{background:var(--bg-secondary);border-radius:10px;padding:16px;margin-bottom:16px}.profile-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.profile-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-info-item{display:flex;flex-direction:column;gap:2px}.profile-info-item.full-width{grid-column:span 2}.profile-info-item .label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-info-item .value{font-size:14px;color:var(--text-primary);font-weight:500}.profile-info-item .value.allergy{color:var(--error)}.history-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-card{background:#fff;border-radius:8px;padding:16px;text-align:center;border:1px solid var(--border-color)}.summary-number{display:block;font-size:28px;font-weight:700;color:var(--primary)}.summary-label{font-size:12px;color:var(--text-muted)}.profile-history-list{display:flex;flex-direction:column;gap:10px}.profile-history-item{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:12px}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.history-date{font-size:12px;color:var(--text-muted)}.history-status{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;text-transform:capitalize}.history-status.pending{background:#fef3c7;color:#92400e}.history-status.dispensed,.history-status.completed{background:#d1fae5;color:#065f46}.history-status.processing{background:#dbeafe;color:#1e40af}.history-item-content{font-size:13px;color:var(--text-primary);margin-bottom:6px}.history-item-footer{font-size:11px;color:var(--text-muted)}.profile-timeline{display:flex;flex-direction:column;padding-left:16px;border-left:2px solid var(--border-color)}.profile-timeline-item{display:flex;align-items:flex-start;gap:12px;padding:8px 0;position:relative}.timeline-dot{width:10px;height:10px;background:var(--primary);border-radius:50%;position:absolute;left:-22px;top:12px}.timeline-info{display:flex;flex-direction:column;gap:2px}.timeline-action{font-size:13px;color:var(--text-primary)}.timeline-date{font-size:11px;color:var(--text-muted)}.registration-sidebar{display:flex;flex-direction:column;gap:20px}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.form-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);background-color:var(--card-bg);transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group textarea{resize:vertical;min-height:100px}.form-actions{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.queue-count{background-color:var(--primary);color:#fff;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.queue-list{display:flex;flex-direction:column;gap:12px}.queue-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:var(--bg-secondary);border-radius:8px;gap:12px}.queue-item-info{display:flex;flex-direction:column;min-width:0;flex:1}.queue-item-name{font-size:14px;font-weight:500;color:var(--text-primary)}.queue-item-id{font-size:12px;color:var(--text-muted)}.search-box{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary)}.search-box input{flex:1;border:none;background:none;font-size:14px;color:var(--text-primary);outline:none}.search-box svg{color:var(--text-muted)}.search-results{margin-top:16px;display:flex;flex-direction:column;gap:8px}.search-result-item{display:flex;align-items:center;gap:12px;padding:10px;background-color:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:background-color .2s ease}.search-result-item:hover{background-color:var(--hover-bg)}.clinical-layout{display:grid;grid-template-columns:300px 1fr;gap:24px}.ward-layout{display:grid;grid-template-columns:2fr 1.2fr;gap:24px;align-items:flex-start}.ward-table .table-actions{display:flex;gap:8px}.patient-queue-card .card-body{padding:12px;max-height:600px;overflow-y:auto}.patient-queue{display:flex;flex-direction:column;gap:8px}.queue-patient{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.queue-patient:hover{background-color:var(--hover-bg)}.queue-patient.active{border-color:var(--primary);background-color:var(--primary-light)}.queue-number{width:28px;height:28px;background-color:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.queue-patient-info{display:flex;flex-direction:column;flex:1;min-width:0}.queue-patient-name{font-size:14px;font-weight:500;color:var(--text-primary)}.queue-patient-id{font-size:11px;color:var(--text-muted)}.queue-time{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.queue-status-summary{display:flex;gap:16px;padding:10px 12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:12px}.queue-status-summary .status-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.queue-status-summary .status-dot{width:8px;height:8px;border-radius:50%}.queue-status-summary .status-item.waiting .status-dot{background:#10b981}.queue-status-summary .status-item.in-consultation .status-dot{background:#f59e0b;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.queue-patient.in-consultation{background:#fef3c7;border-color:#f59e0b}.queue-patient.in-consultation.my-patient{background:#d1fae5;border-color:#10b981}.consultation-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:10px;margin-top:4px;font-weight:500}.consultation-badge.my-patient{background:#10b981;color:#fff}.consultation-badge.other-doctor{background:#f59e0b;color:#fff}.consultation-area{display:flex;flex-direction:column;gap:20px}.empty-consultation{display:flex;align-items:center;justify-content:center;min-height:400px}.empty-consultation-content{text-align:center;color:var(--text-muted)}.empty-consultation-content svg{margin-bottom:16px;opacity:.5}.empty-consultation-content h3{margin:0 0 8px;color:var(--text-secondary)}.empty-consultation-content p{margin:0;font-size:14px}.patient-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px}.patient-header-main{display:flex;align-items:center;gap:16px}.patient-header-info h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-primary)}.patient-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.blood-group{font-weight:600;color:var(--error)}.allergy-warning{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;background-color:#fef2f2;color:var(--error);border-radius:6px;font-size:13px;font-weight:500}.consultation-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border-color)}.consultation-tabs{display:flex}.tab{padding:12px 20px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{padding:20px}.consultation-actions{display:flex;gap:12px}.consultation-actions-top{margin-left:auto}.lab-tests-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.lab-test-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.lab-test-item:hover{background-color:var(--hover-bg)}.lab-test-item.selected{border-color:var(--primary);background-color:var(--primary-light)}.test-check{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lab-test-item.selected .test-check{background-color:var(--primary);border-color:var(--primary);color:#fff}.test-info{display:flex;flex-direction:column;gap:4px}.test-name{font-size:14px;font-weight:500;color:var(--text-primary)}.test-meta{font-size:12px;color:var(--text-muted)}.order-summary{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.order-total{display:flex;flex-direction:column;gap:4px}.order-total span:first-child{font-size:14px;color:var(--text-muted)}.total-amount{font-size:20px;font-weight:700;color:var(--primary)}.medication-selector{margin-top:20px}.medication-selector label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.medication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:240px;overflow-y:auto;padding:4px}.medication-item{padding:12px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.medication-item:hover{background-color:var(--hover-bg)}.medication-item.selected{border-color:var(--primary);background-color:var(--primary-light)}.medication-item .med-name{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.medication-item .med-price{display:block;font-size:12px;font-weight:600;color:var(--primary)}.medication-item .med-stock{display:block;font-size:11px;color:var(--text-muted)}.selected-medications{margin-top:24px}.selected-medications label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.selected-meds-list{display:flex;flex-direction:column;gap:10px}.selected-med-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:var(--bg-secondary);border-radius:8px;gap:16px}.selected-med-item .med-info{display:flex;flex-direction:column;min-width:150px}.selected-med-item .med-name{font-size:14px;font-weight:500;color:var(--text-primary)}.selected-med-item .med-unit-price{font-size:12px;color:var(--text-muted)}.med-controls{display:flex;align-items:center;gap:10px;flex:1}.qty-input{width:70px;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;text-align:center}.dosage-input{flex:1;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px}.prescription-stock-error{margin:0 0 12px;padding:10px 14px;background:#fef2f2;color:#b91c1c;font-size:13px;border-radius:8px;border:1px solid #fecaca}.prescription-summary{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.prescription-summary-row{display:flex;align-items:center;justify-content:space-between}.prescription-total{display:flex;flex-direction:column;gap:4px}.prescription-total span:first-child{font-size:14px;color:var(--text-muted)}.visit-history{display:flex;flex-direction:column;gap:0;padding-left:20px;border-left:2px solid var(--border-color)}.history-item{display:flex;align-items:flex-start;gap:16px;padding:12px 0;position:relative}.history-marker{width:12px;height:12px;background-color:var(--primary);border-radius:50%;position:absolute;left:-27px;top:16px}.history-content{display:flex;flex-direction:column;gap:4px}.history-action{font-size:14px;font-weight:500;color:var(--text-primary)}.history-time{font-size:12px;color:var(--text-muted)}.patient-history{display:flex;flex-direction:column;gap:24px;max-height:500px;overflow-y:auto;padding-right:8px}.history-section{background:var(--bg-secondary);border-radius:10px;padding:16px}.history-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.patient-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.patient-info-grid .info-item{display:flex;flex-direction:column;gap:2px}.patient-info-grid .info-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.patient-info-grid .info-value{font-size:14px;color:var(--text-primary);font-weight:500}.patient-info-grid .info-value.allergy{color:var(--error)}.no-history{color:var(--text-muted);font-size:13px;font-style:italic;margin:0}.prescriptions-history{display:flex;flex-direction:column;gap:12px}.history-rx-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:12px}.rx-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rx-date{font-size:12px;color:var(--text-muted)}.rx-status{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.rx-status.pending{background:#fef3c7;color:#92400e}.rx-status.dispensed{background:#d1fae5;color:#065f46}.rx-diagnosis{font-size:13px;margin-bottom:8px;color:var(--text-primary)}.rx-medications{font-size:13px;color:var(--text-secondary)}.rx-medications ul{margin:4px 0 0;padding-left:20px}.rx-medications li{margin-bottom:2px}.rx-footer{font-size:11px;color:var(--text-muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.lab-history{display:flex;flex-direction:column;gap:12px}.history-lab-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:12px}.history-lab-card.completed{border-left:3px solid var(--success)}.history-lab-card.pending{border-left:3px solid var(--warning)}.history-lab-card.processing{border-left:3px solid var(--info)}.lab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lab-date{font-size:12px;color:var(--text-muted)}.lab-status{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;text-transform:capitalize}.lab-status.completed{background:#d1fae5;color:#065f46}.lab-status.pending{background:#fef3c7;color:#92400e}.lab-status.processing{background:#dbeafe;color:#1e40af}.lab-tests{display:flex;flex-direction:column;gap:6px}.lab-test-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.lab-test-item .test-name{color:var(--text-primary)}.lab-test-item .test-result{color:var(--text-secondary);font-size:12px}.lab-test-item .test-result strong{color:var(--success)}.lab-footer{font-size:11px;color:var(--text-muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.billing-history{display:flex;flex-direction:column;gap:12px}.history-billing-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:12px}.billing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.billing-date{font-size:12px;color:var(--text-muted)}.billing-receipt{font-size:12px;font-weight:500;color:var(--primary)}.billing-amount{font-size:14px;color:var(--text-primary)}.billing-amount strong{color:var(--success)}.billing-method{font-size:12px;color:var(--text-muted);margin-top:4px}.visit-timeline{display:flex;flex-direction:column;padding-left:20px;border-left:2px solid var(--border-color)}.timeline-item{display:flex;align-items:flex-start;gap:16px;padding:10px 0;position:relative}.timeline-marker{width:10px;height:10px;background-color:var(--primary);border-radius:50%;position:absolute;left:-26px;top:14px}.timeline-content{display:flex;flex-direction:column;gap:2px}.timeline-action{font-size:13px;font-weight:500;color:var(--text-primary)}.timeline-meta{font-size:11px;color:var(--text-muted)}.lab-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lab-tabs{display:flex;gap:8px;margin-bottom:16px}.lab-tab{padding:8px 16px;background-color:var(--bg-secondary);border:none;border-radius:999px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.lab-tab:hover{background-color:var(--hover-bg)}.lab-tab.active{background-color:var(--primary);color:#fff}.filter-tabs{display:flex;gap:8px}.filter-tab{padding:6px 14px;background-color:var(--bg-secondary);border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.filter-tab:hover{background-color:var(--hover-bg)}.filter-tab.active{background-color:var(--primary);color:#fff}.lab-orders-list{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}.lab-order-item{padding:16px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.lab-order-item:hover{background-color:var(--hover-bg)}.lab-order-item.active{border-color:var(--primary)}.order-patient{display:flex;flex-direction:column;margin-bottom:8px}.order-patient-name{font-size:15px;font-weight:600;color:var(--text-primary)}.order-patient-id{font-size:12px;color:var(--text-muted)}.order-tests{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.order-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.status-badge{font-size:11px;padding:4px 10px;border-radius:12px;font-weight:600;text-transform:capitalize}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.processing{background-color:#dbeafe;color:#1e40af}.status-badge.completed{background-color:#d1fae5;color:#065f46}.status-badge.large{font-size:12px;padding:6px 14px}.order-time{font-size:11px;color:var(--text-muted)}.empty-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--text-muted)}.empty-processing svg{margin-bottom:16px;opacity:.5;width:48px;height:48px}.empty-processing h4{margin:0 0 8px;color:var(--text-secondary)}.empty-processing p{margin:0;font-size:14px}.order-processing{padding:0}.order-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.order-header h4{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.order-info{display:flex;gap:20px;font-size:13px;color:var(--text-muted);padding-bottom:16px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.tests-list h5{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.test-item{padding:16px;background-color:var(--bg-secondary);border-radius:8px;margin-bottom:12px}.test-header{display:flex;justify-content:space-between;margin-bottom:12px}.test-header .test-name{font-weight:500;color:var(--text-primary)}.test-header .test-price{font-weight:600;color:var(--primary)}.test-result-input textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;resize:vertical}.test-result-display{padding:12px;background-color:var(--card-bg);border-radius:6px;font-size:14px;color:var(--text-primary)}.processing-actions{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.pharmacy-tabs,.billing-tabs{display:flex;gap:8px;margin-bottom:24px}.pharmacy-tab,.billing-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.pharmacy-tab:hover,.billing-tab:hover{background-color:var(--hover-bg)}.pharmacy-tab.active,.billing-tab.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.tab-badge{background-color:var(--accent);color:#fff;padding:2px 8px;border-radius:10px;font-size:11px}.pharmacy-tab.active .tab-badge,.billing-tab.active .tab-badge{background-color:#fff;color:var(--primary)}.pharmacy-layout,.billing-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.prescriptions-list,.billing-patients-list{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}.prescription-item,.billing-patient-item{padding:16px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.prescription-item:hover,.billing-patient-item:hover{background-color:var(--hover-bg)}.prescription-item.active,.billing-patient-item.active{border-color:var(--primary)}.prescription-patient{display:flex;flex-direction:column;margin-bottom:8px}.prescription-patient-name{font-size:15px;font-weight:600;color:var(--text-primary)}.prescription-patient-id{font-size:12px;color:var(--text-muted)}.prescription-diagnosis{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.prescription-meta{display:flex;justify-content:space-between;font-size:13px}.prescription-items{color:var(--text-muted)}.prescription-total{font-weight:600;color:var(--primary)}.empty-dispense,.empty-invoice{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--text-muted)}.empty-dispense svg,.empty-invoice svg{margin-bottom:16px;opacity:.5;width:48px;height:48px}.empty-dispense h4,.empty-invoice h4{margin:0 0 8px;color:var(--text-secondary)}.empty-dispense p,.empty-invoice p{margin:0;font-size:14px}.dispense-form,.invoice-form{padding:0}.dispense-header,.invoice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dispense-header h4,.invoice-header h4{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.dispense-id,.invoice-id{font-size:13px;color:var(--text-muted)}.dispense-diagnosis{font-size:14px;color:var(--text-secondary);margin-bottom:20px;padding:12px;background-color:var(--bg-secondary);border-radius:8px}.dispense-medications h5,.invoice-items h5{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.dispense-med-item{padding:14px;background-color:var(--bg-secondary);border-radius:8px;margin-bottom:10px}.dispense-med-item.low-stock{border:1px solid var(--error)}.med-details{display:flex;justify-content:space-between;margin-bottom:8px}.med-details .med-name{font-weight:500;color:var(--text-primary)}.med-details .med-dosage{font-size:13px;color:var(--text-muted)}.med-qty{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.med-subtotal{font-weight:600;color:var(--primary)}.stock-warning{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;color:var(--error)}.dispense-summary,.invoice-summary{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.dispense-total,.invoice-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dispense-total span:first-child,.invoice-total span:first-child{font-size:14px;color:var(--text-muted)}.inventory-section{display:flex;flex-direction:column;gap:24px}.add-stock-form{display:flex;gap:12px;align-items:center}.add-stock-form select,.add-stock-form input{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:14px}.add-stock-form select{flex:1;max-width:300px}.add-stock-form input{width:120px}.inventory-table{width:100%;border-collapse:collapse}.inventory-table th,.inventory-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border-color)}.inventory-table th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background-color:var(--bg-secondary)}.inventory-table td{font-size:14px;color:var(--text-primary)}.low-stock-row{background-color:#fef2f2}.stock-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.stock-status.ok{color:var(--success)}.stock-status.low{color:var(--error)}.inventory-actions-row{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}.restock-card .add-stock-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.restock-card .add-stock-form select{flex:1;min-width:200px}.restock-card .add-stock-form input{width:140px}.new-item-card{display:flex;flex-direction:column}.new-item-card .card-body{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center}.new-item-desc{color:var(--text-secondary);font-size:13px;margin:0}.btn-full{width:100%}.inventory-count{font-size:13px;color:var(--text-muted);font-weight:400}.new-medication-modal{max-width:480px;width:90%}.new-medication-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-hint{display:block;font-size:12px;color:var(--text-muted);margin-top:4px}.queue-flow{display:flex;gap:16px;overflow-x:auto;padding-bottom:20px;margin-bottom:24px}.queue-department{flex:1;min-width:220px;display:flex;flex-direction:column;position:relative}.dept-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:10px 10px 0 0;color:#fff}.dept-header h3{margin:0;font-size:14px;font-weight:600}.dept-header .dept-count{background-color:#fff3;padding:2px 10px;border-radius:10px;font-size:13px;font-weight:600}.dept-queue{flex:1;background-color:var(--card-bg);border:1px solid var(--border-color);border-top:none;border-radius:0 0 10px 10px;padding:12px;min-height:300px;display:flex;flex-direction:column;gap:10px}.empty-queue{text-align:center;color:var(--text-muted);font-size:13px;padding:20px}.queue-card{background-color:var(--bg-secondary);border-radius:8px;padding:14px}.queue-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.patient-initials{width:32px;height:32px;background-color:var(--primary);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.queue-card .patient-id{font-size:11px;color:var(--text-muted)}.queue-card-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.queue-card-times{margin-bottom:12px}.queue-card-time{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-bottom:6px}.queue-card-time svg{width:12px;height:12px}.queue-card-waiting{display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:4px;background:var(--bg-secondary)}.queue-card-waiting .waiting-label{color:var(--text-muted)}.queue-card-waiting .waiting-time{font-weight:600}.queue-card-waiting.waiting-short .waiting-time{color:#059669}.queue-card-waiting.waiting-moderate .waiting-time{color:#d97706}.queue-card-waiting.waiting-long .waiting-time{color:#dc2626}.queue-card.waiting-moderate{border-left:3px solid #f59e0b}.queue-card.waiting-long{border-left:3px solid #ef4444;background:#fef2f2}.queue-arrow{position:absolute;right:-24px;top:50%;transform:translateY(-50%);color:var(--text-muted);z-index:1}.discharged-card{margin-top:0}.discharged-list{display:flex;flex-direction:column;gap:12px}.discharged-item{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--bg-secondary);border-radius:8px}.discharged-info{display:flex;flex-direction:column;flex:1}.discharged-name{font-size:14px;font-weight:500;color:var(--text-primary)}.discharged-id,.discharged-time{font-size:12px;color:var(--text-muted)}.billing-patient-item{display:flex;align-items:center;gap:14px}.billing-patient-info{display:flex;flex-direction:column}.billing-patient-name{font-size:15px;font-weight:600;color:var(--text-primary)}.billing-patient-id{font-size:12px;color:var(--text-muted)}.invoice-items{margin-bottom:24px}.invoice-item{display:flex;align-items:center;gap:14px;padding:14px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;margin-bottom:10px;transition:all .2s ease}.invoice-item:hover{background-color:var(--hover-bg)}.invoice-item.selected{border-color:var(--primary);background-color:var(--primary-light)}.item-check{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.invoice-item.selected .item-check{background-color:var(--primary);border-color:var(--primary);color:#fff}.item-details{flex:1;display:flex;flex-direction:column;gap:4px}.item-desc{font-size:14px;font-weight:500;color:var(--text-primary)}.item-type{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500;text-transform:capitalize;width:fit-content}.item-type.consultation{background-color:#d1fae5;color:#065f46}.item-type.lab{background-color:#fef3c7;color:#92400e}.item-type.pharmacy{background-color:#fee2e2;color:#991b1b}.item-amount{font-weight:600;color:var(--primary)}.payment-method h5{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.payment-options{display:flex;gap:10px}.payment-option{padding:12px 20px;background-color:var(--bg-secondary);border:2px solid transparent;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.payment-option:hover{background-color:var(--hover-bg)}.payment-option.active{border-color:var(--primary);background-color:var(--primary-light);color:var(--primary)}.receipts-table{width:100%;border-collapse:collapse}.receipts-table th,.receipts-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border-color)}.receipts-table th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background-color:var(--bg-secondary)}.receipts-table td{font-size:14px;color:var(--text-primary)}.payment-method-cell{text-transform:capitalize}.receipts-section .header-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.receipts-section .filter-group{display:flex;align-items:center;gap:8px}.receipts-section .filter-group label{font-size:13px;color:var(--text-muted)}.receipts-section .filter-group select,.receipts-section .filter-group input[type=date]{border-radius:8px;border:1px solid var(--border-color);padding:6px 10px;font-size:13px;background:var(--bg-secondary)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal{background-color:var(--card-bg);border-radius:12px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlide .3s ease}@keyframes modalSlide{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.receipt-content{padding:32px}.receipt-header{text-align:center;margin-bottom:24px;padding-bottom:24px;border-bottom:2px dashed var(--border-color)}.receipt-logo{display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:700;color:var(--primary);margin-bottom:12px}.receipt-logo .logo-icon{width:32px;height:32px;font-size:20px}.receipt-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.receipt-info{margin-bottom:24px}.info-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.info-row span:first-child{color:var(--text-muted)}.info-row span:last-child{font-weight:500;color:var(--text-primary)}.receipt-items table{width:100%;border-collapse:collapse;margin-bottom:20px}.receipt-items th,.receipt-items td{padding:10px 0;text-align:left;font-size:14px}.receipt-items th{border-bottom:1px solid var(--border-color);color:var(--text-muted);font-weight:500}.receipt-items td{border-bottom:1px solid var(--border-color);color:var(--text-primary)}.receipt-items th:last-child,.receipt-items td:last-child{text-align:right}.receipt-items tfoot td{border-bottom:none;padding-top:16px;font-size:16px}.receipt-payment{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--bg-secondary);border-radius:8px;margin-bottom:24px}.receipt-payment span:first-child{font-size:14px;color:var(--text-secondary)}.paid-stamp{font-size:18px;font-weight:700;color:var(--success);letter-spacing:2px}.receipt-footer{text-align:center;padding-top:24px;border-top:2px dashed var(--border-color)}.receipt-footer p{margin:0 0 8px;font-size:14px;color:var(--text-muted)}.receipt-footer p:last-child{font-style:italic;margin-bottom:0}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.activity-section,.registration-layout,.clinical-layout,.lab-layout,.ward-layout,.pharmacy-layout,.billing-layout{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{width:70px}.sidebar-header,.sidebar-footer{padding:16px 12px}.logo-text,.nav-item span,.user-details{display:none}.nav-item{justify-content:center;padding:12px}.nav-item .badge{position:absolute;top:4px;right:4px}.main-content{margin-left:70px;padding:16px}.welcome-banner{padding:20px}.welcome-content{flex-direction:column;align-items:flex-start}.welcome-name{font-size:22px}.welcome-summary{width:100%;justify-content:space-around;padding:12px}.summary-value{font-size:18px}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.quick-action-btn{padding:16px 12px}.quick-action-icon{width:40px;height:40px}.quick-action-label{font-size:12px;text-align:center}.stats-grid,.form-grid{grid-template-columns:1fr}.medication-grid{grid-template-columns:repeat(2,1fr)}.lab-tests-grid{grid-template-columns:1fr}.queue-flow{flex-direction:column}.queue-department{min-width:100%}.queue-arrow{display:none}}.reports-tabs,.settings-tabs{display:flex;gap:8px;margin-bottom:24px}.report-tab,.settings-tab{padding:10px 18px;background-color:var(--bg-secondary);border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.report-tab:hover,.settings-tab:hover{background-color:var(--hover-bg)}.report-tab.active,.settings-tab.active{background-color:var(--primary);color:#fff}.settings-tab .tab-icon{width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;background-color:#0f172a0f}.settings-tab.active .tab-icon{background-color:#ffffff29}.settings-tab .tab-icon svg{width:16px;height:16px}.reports-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.report-card{display:flex;align-items:center;gap:16px;padding:24px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px}.report-card-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.report-card-content{display:flex;flex-direction:column}.report-card-value{font-size:24px;font-weight:700;color:var(--text-primary)}.report-card-label{font-size:14px;color:var(--text-muted)}.revenue-chart{margin-bottom:24px}.revenue-bar-item{margin-bottom:20px}.revenue-bar-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.revenue-bar-label span:first-child{color:var(--text-secondary)}.revenue-bar-label span:last-child{font-weight:600;color:var(--text-primary)}.revenue-bar-track{height:12px;background-color:var(--bg-secondary);border-radius:6px;overflow:hidden}.revenue-bar-fill{height:100%;border-radius:6px;transition:width .3s ease}.revenue-total-display{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:var(--bg-secondary);border-radius:10px;margin-top:24px}.revenue-total-display span:first-child{font-size:16px;font-weight:600;color:var(--text-secondary)}.revenue-total-display .total-value{font-size:28px;font-weight:700;color:var(--success)}.reports-table{width:100%;border-collapse:collapse}.reports-table th,.reports-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border-color)}.reports-table th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background-color:var(--bg-secondary)}.reports-table td{font-size:14px;color:var(--text-primary)}.reports-table tfoot td{background-color:var(--bg-secondary);font-weight:600}.staff-management{display:flex;flex-direction:column;gap:20px}.header-actions{display:flex;align-items:center;gap:12px}.staff-filter-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background-color:var(--card-bg);color:var(--text-primary)}.settings-table{width:100%;border-collapse:collapse}.settings-table th,.settings-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border-color)}.settings-table th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background-color:var(--bg-secondary)}.settings-table .disabled-row{background-color:#f9fafb;opacity:.7}.staff-cell{display:flex;align-items:center;gap:12px}.staff-cell-info{display:flex;flex-direction:column}.staff-cell-name{font-weight:500;color:var(--text-primary)}.staff-cell-username{font-size:12px;color:var(--text-muted)}.contact-cell{display:flex;flex-direction:column;font-size:13px}.contact-cell span:first-child{color:var(--text-primary)}.contact-cell span:last-child{color:var(--text-muted)}.staff-avatar-sm{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;flex-shrink:0}.staff-avatar-sm.disabled{filter:grayscale(100%)}.role-select{padding:6px 10px;border:2px solid var(--border-color);border-radius:6px;font-size:13px;background-color:var(--card-bg);cursor:pointer;min-width:150px}.role-select:focus{outline:none;border-color:var(--primary)}.status-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-pill.active{background-color:#d1fae5;color:#065f46}.status-pill.disabled{background-color:#f3f4f6;color:#6b7280}.action-buttons{display:flex;gap:8px}.btn-warning{background-color:#fef3c7;color:#92400e}.btn-warning:hover{background-color:#fde68a}.btn-success{background-color:#d1fae5;color:#065f46}.btn-success:hover{background-color:#a7f3d0}.staff-summary{display:flex;gap:24px;padding:16px;background-color:var(--bg-secondary);border-radius:8px;margin-top:16px;font-size:14px;color:var(--text-secondary)}.staff-summary span{display:flex;align-items:center;gap:6px}.services-management{display:flex;flex-direction:column;gap:20px}.service-filter-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background-color:#fff;min-width:150px}.services-table{width:100%;border-collapse:collapse}.services-table th,.services-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-color)}.services-table th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background-color:var(--bg-secondary)}.services-table td{font-size:14px;color:var(--text-primary)}.service-name-cell{font-weight:500}.dept-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.dept-badge.dept-laboratory{background-color:#fef3c7;color:#92400e}.dept-badge.dept-radiology{background-color:#e0e7ff;color:#3730a3}.dept-badge.dept-clinical{background-color:#d1fae5;color:#065f46}.dept-badge.dept-registration{background-color:#dbeafe;color:#1e40af}.dept-badge.dept-pharmacy{background-color:#fee2e2;color:#991b1b}.dept-badge.dept-billing{background-color:#f3e8ff;color:#6b21a8}.services-summary{display:flex;gap:24px;padding:16px;background-color:var(--bg-secondary);border-radius:8px;margin-top:16px;font-size:14px;color:var(--text-secondary)}.services-summary span{display:flex;align-items:center;gap:6px}.service-modal{width:100%;max-width:520px}.service-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.roles-management{display:flex;flex-direction:column;gap:20px}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.role-card-item{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .2s}.role-card-item:hover{box-shadow:0 4px 12px #00000014}.role-card-header{display:flex;align-items:center;gap:12px;padding:16px;color:#fff;position:relative}.role-icon-large{font-size:28px}.role-header-info{flex:1}.role-header-info .role-title{display:block;font-weight:600;font-size:16px}.role-header-info .role-id{display:block;font-size:11px;opacity:.8}.system-badge{position:absolute;top:8px;right:8px;background:#ffffff40;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.role-card-body{padding:16px}.role-card-body .role-description{color:var(--text-secondary);font-size:13px;margin:0 0 12px}.role-stats{display:flex;gap:16px;margin-bottom:12px}.stat-item{font-size:13px;color:var(--text-muted)}.stat-item strong{color:var(--text-primary)}.role-modules{margin-top:8px}.modules-label{font-size:12px;color:var(--text-muted);margin-right:8px}.modules-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.module-tag{background:var(--bg-secondary);padding:3px 8px;border-radius:4px;font-size:11px;color:var(--text-secondary);text-transform:capitalize}.role-card-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.btn-danger{background-color:#fee2e2;color:#dc2626}.btn-danger:hover{background-color:#fecaca}.roles-summary{display:flex;gap:24px;padding:16px;background-color:var(--bg-secondary);border-radius:8px;margin-top:16px;font-size:14px;color:var(--text-secondary)}.role-modal{width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.role-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.icon-selector{display:flex;flex-wrap:wrap;gap:6px}.icon-option{width:36px;height:36px;border:2px solid var(--border-color);border-radius:8px;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.icon-option:hover{border-color:var(--primary);background:var(--bg-secondary)}.icon-option.selected{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 2px #14b8a633}.color-selector{display:flex;flex-wrap:wrap;gap:6px}.color-option{width:28px;height:28px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .15s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.modules-selector{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding:4px}.module-checkbox{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s}.module-checkbox:hover{background:var(--bg-secondary)}.module-checkbox.checked{background:#f0fdfa;border-color:var(--primary)}.module-checkbox.required{opacity:.6}.module-checkbox input{margin-top:2px;width:18px;height:18px;accent-color:var(--primary)}.module-checkbox-info{display:flex;flex-direction:column;gap:2px}.module-checkbox-info strong{font-size:14px;color:var(--text-primary)}.module-checkbox-info small{font-size:12px;color:var(--text-muted)}.input-disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.staff-modal{width:100%;max-width:480px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group:last-child{margin-bottom:0}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.profile-settings-modal{max-width:550px;width:100%}.profile-modal-content{padding:24px}.profile-modal-header{display:flex;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.profile-avatar-container{position:relative;flex-shrink:0}.profile-avatar-large{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;color:#fff;flex-shrink:0}.profile-avatar-large.profile-photo{object-fit:cover}.photo-upload-btn{position:absolute;bottom:-4px;right:-4px;width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:3px solid white;transition:background-color .15s}.photo-upload-btn:hover{background:var(--primary-dark)}.photo-remove-btn{position:absolute;top:-4px;right:-4px;width:24px;height:24px;background:#ef4444;color:#fff;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.photo-remove-btn:hover{background:#dc2626}.photo-remove-btn svg{width:12px;height:12px}.user-avatar.user-photo{object-fit:cover}.profile-header-info h2{margin:0 0 8px;font-size:22px}.profile-role{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:15px;font-size:13px;font-weight:500;color:#fff}.profile-username{display:block;margin-top:8px;font-size:14px;color:var(--text-secondary)}.profile-tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--bg-secondary);padding:4px;border-radius:10px}.profile-tab{flex:1;padding:10px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a}.profile-tab-content{min-height:300px}.profile-form .form-group,.security-form .form-group{margin-bottom:20px}.profile-form .form-actions,.security-form .form-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end}.security-form h4{margin:0 0 8px;font-size:16px;font-weight:600}.security-note{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.password-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:20px}.password-error svg{flex-shrink:0}.password-success{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#059669;font-size:14px;margin-bottom:20px}.activity-info .info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.activity-info .info-card{background:var(--bg-secondary);padding:16px;border-radius:10px}.activity-info .info-label{display:block;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.activity-info .info-value{display:block;font-size:15px;font-weight:500;color:var(--text-primary)}.activity-info .info-value.status-active{color:#059669}.activity-info .info-value.status-inactive{color:#dc2626}.account-note{display:flex;gap:12px;margin-top:24px;padding:16px;background:#fef3c7;border-radius:10px;color:#92400e}.account-note svg{flex-shrink:0;margin-top:2px}.account-note p{margin:0;font-size:13px;line-height:1.5}.role-count{margin-left:auto;background-color:#fff3;padding:2px 10px;border-radius:10px;font-size:12px}.hospital-settings{display:flex;flex-direction:column;gap:24px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.settings-grid .full-width{grid-column:1 / -1}.logo-upload-section{display:flex;flex-direction:column;align-items:center;gap:16px}.logo-preview{width:120px;height:120px;border:2px dashed var(--border-color);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--bg-secondary)}.preview-logo{width:100%;height:100%;object-fit:contain;padding:8px}.logo-placeholder{width:80px;height:80px;background-color:var(--primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700}.logo-actions{display:flex;gap:8px}.upload-btn{cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border-color)}.receipt-preview{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.receipt-preview h4{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0 0 16px}.mini-receipt{max-width:280px;margin:0 auto;background-color:#fff;border:1px solid var(--border-color);border-radius:8px;padding:20px;font-size:12px;box-shadow:var(--shadow-md)}.mini-receipt-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:16px}.mini-receipt-header .mini-logo{width:40px;height:40px;object-fit:contain;margin-bottom:8px}.mini-receipt-header .mini-logo-text{width:40px;height:40px;background-color:var(--primary);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;margin-bottom:8px}.mini-receipt-header strong{font-size:14px;color:var(--text-primary)}.mini-receipt-header small{color:var(--text-muted);font-size:10px}.mini-receipt-body{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0;color:var(--text-muted)}.mini-line{width:100%;height:0;border-top:1px dashed var(--border-color)}.mini-receipt-footer{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:12px;border-top:1px dashed var(--border-color)}.mini-receipt-footer small{color:var(--text-muted);font-size:10px}.logo-image{width:44px;height:44px;border-radius:10px;object-fit:contain}.logo-image.large{width:80px;height:80px;border-radius:16px}.receipt-logo-image{width:32px;height:32px;object-fit:contain}.receipt-hospital-info{display:flex;flex-direction:column;align-items:center;font-size:12px;color:var(--text-muted);margin:8px 0 16px}.receipt-hospital-info span{margin:2px 0}.lab-results-alert{display:flex;align-items:center;gap:12px;padding:16px;background-color:#ecfdf5;border:2px solid #10b981;border-radius:10px;margin-bottom:20px;cursor:pointer;transition:all .2s ease}.lab-results-alert:hover{background-color:#d1fae5;transform:translate(4px)}.lab-results-alert .alert-icon{font-size:28px}.lab-results-alert .alert-text{display:flex;flex-direction:column;flex:1}.lab-results-alert .alert-text strong{color:#065f46;font-size:15px}.lab-results-alert .alert-text small{color:#059669;font-size:13px}.lab-results-alert svg{color:#10b981}.tab-badge-inline{background-color:#10b981;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;margin-left:6px}.tab.active .tab-badge-inline{background-color:#fff;color:var(--primary)}.lab-results-view{padding:0}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.no-results-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-results h4{margin:0 0 8px;color:var(--text-secondary)}.no-results p{margin:0 0 20px;color:var(--text-muted);font-size:14px}.results-section{margin-bottom:24px}.results-section:last-child{margin-bottom:0}.results-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--border-color)}.results-section-title.pending{color:#f59e0b;border-bottom-color:#fef3c7}.results-section-title.completed{color:#10b981;border-bottom-color:#d1fae5}.lab-order-card{background-color:var(--bg-secondary);border-radius:10px;padding:16px;margin-bottom:12px;border-left:4px solid var(--border-color)}.lab-order-card.pending{border-left-color:#f59e0b}.lab-order-card.completed{border-left-color:#10b981}.lab-order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.lab-order-header .order-info{display:flex;flex-direction:column;gap:2px}.lab-order-header .order-date,.lab-order-header .order-completed{font-size:12px;color:var(--text-muted)}.lab-order-tests{display:flex;flex-direction:column;gap:10px}.test-result-item{background-color:var(--card-bg);border-radius:8px;padding:12px}.test-result-item.pending{display:flex;justify-content:space-between;align-items:center}.test-result-item.pending .test-name{font-weight:500;color:var(--text-primary)}.test-result-item.pending .test-status{font-size:13px;color:var(--text-muted);font-style:italic}.test-result-item.completed .test-result-header{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.test-result-item.completed .test-name{font-weight:600;color:var(--text-primary)}.test-result-item.completed .test-price{font-size:13px;color:var(--text-muted)}.test-result-value{font-size:14px}.test-result-value strong{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}.test-result-value p{margin:0;color:var(--text-primary);background-color:var(--bg-secondary);padding:10px;border-radius:6px;white-space:pre-wrap}.lab-order-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-muted)}.shift-warning{display:flex;align-items:flex-start;gap:16px;padding:20px;background-color:#fef2f2;border:2px solid #ef4444;border-radius:12px;margin-bottom:20px}.shift-warning-icon{font-size:32px}.shift-warning-content{display:flex;flex-direction:column;gap:4px}.shift-warning-content strong{color:#991b1b;font-size:16px}.shift-warning-content p{color:#b91c1c;font-size:14px;margin:0}.shift-details{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;border-top:1px solid #fecaca;font-size:13px;color:#dc2626}.login-btn.disabled{background-color:#9ca3af;cursor:not-allowed}.login-btn.disabled:hover{background-color:#9ca3af;transform:none}.password-screen .login-content{max-width:400px;margin:0 auto}.password-content{text-align:center}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-bottom:24px}.back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.back-btn svg{width:16px;height:16px}.password-user-info{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.password-avatar{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;color:#fff;margin-bottom:16px;overflow:hidden}.password-avatar img{width:100%;height:100%;object-fit:cover}.password-user-info h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.password-role{font-size:14px;font-weight:500;margin-bottom:4px}.password-username{font-size:14px;color:var(--text-muted)}.password-form{text-align:left}.password-form .form-group{margin-bottom:20px}.password-form label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding:12px 44px 12px 16px;border:1px solid var(--border-color);border-radius:10px;font-size:16px;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s}.password-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.password-input-wrapper input.error{border-color:var(--danger)}.toggle-password{position:absolute;right:12px;background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.toggle-password:hover{color:var(--text-primary)}.error-message{display:block;color:var(--danger);font-size:13px;margin-top:6px}.password-form .login-btn{margin-top:16px}.password-hint{font-size:12px;color:var(--text-muted);margin-top:16px}.no-staff-message{text-align:center;padding:24px;color:var(--text-muted);font-size:14px}.staff-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.shift-indicator{font-size:11px;font-weight:500;margin-top:2px}.shift-indicator.on-shift{color:#10b981}.shift-indicator.off-shift{color:#ef4444}.staff-card.outside-shift{opacity:.7}.staff-card.outside-shift .staff-avatar{filter:grayscale(50%)}.schedule-cell{display:flex;flex-direction:column;gap:2px;font-size:12px}.shift-status{font-weight:600}.shift-status.on{color:#10b981}.shift-status.off{color:#ef4444}.schedule-time{color:var(--text-primary)}.schedule-days{color:var(--text-muted);font-size:11px}.no-schedule{color:var(--text-muted);font-size:12px;font-style:italic}.staff-modal.large{max-width:600px}.edit-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.edit-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.edit-section h4{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.toggle-label input{display:none}.toggle-switch{width:40px;height:22px;background-color:var(--border-color);border-radius:11px;position:relative;transition:background-color .2s ease}.toggle-switch:after{content:"";position:absolute;width:18px;height:18px;background-color:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-label input:checked+.toggle-switch{background-color:var(--primary)}.toggle-label input:checked+.toggle-switch:after{transform:translate(18px)}.toggle-text{font-size:13px;color:var(--text-secondary)}.days-selector{display:flex;gap:6px;flex-wrap:wrap}.day-btn{padding:8px 12px;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.day-btn:hover{background-color:var(--hover-bg)}.day-btn.selected{background-color:var(--primary);border-color:var(--primary);color:#fff}.schedule-preview{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--bg-secondary);border-radius:8px;margin-top:16px;font-size:13px;color:var(--text-secondary)}.schedule-preview svg{color:var(--primary)}.schedule-note{padding:12px;background-color:#fefce8;border-radius:8px;font-size:13px;color:#854d0e;margin:0}.role-badge-sm{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;color:#fff;font-size:12px;font-weight:500}.roles-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.role-item{border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.role-item .role-header{display:flex;align-items:center;gap:10px;padding:16px;color:#fff}.role-item .role-icon{font-size:24px}.role-item .role-title{font-size:16px;font-weight:600}.role-item .role-body{padding:16px;background-color:var(--card-bg)}.role-item .role-description{font-size:14px;color:var(--text-secondary);margin:0 0 16px}.role-modules{border-top:1px solid var(--border-color);padding-top:12px}.modules-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.modules-list{display:flex;flex-wrap:wrap;gap:6px}.module-tag{padding:4px 10px;background-color:var(--bg-secondary);border-radius:4px;font-size:12px;color:var(--text-secondary);text-transform:capitalize}.system-info{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{padding:16px;background-color:var(--bg-secondary);border-radius:8px}.info-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.info-value{font-size:16px;font-weight:500;color:var(--text-primary)}.staff-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.staff-dept-group{border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.staff-dept-header{display:flex;align-items:center;gap:8px;padding:10px 14px;color:#fff;font-size:13px;font-weight:600}.staff-dept-list{padding:10px;background-color:var(--card-bg)}.staff-mini-card{padding:8px 10px;background-color:var(--bg-secondary);border-radius:6px;margin-bottom:6px}.staff-mini-card:last-child{margin-bottom:0}.staff-mini-name{font-size:13px;color:var(--text-primary)}.history-meta{font-size:12px;color:var(--text-muted)}.prescription-by{font-size:12px;color:var(--text-muted);margin-top:8px}.subs-plan-card{background:var(--card-bg);border:1px solid var(--border-color);border-left:5px solid var(--primary);border-radius:12px;padding:28px}.subs-plan-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.subs-plan-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:20px;color:#fff;font-weight:600;font-size:14px}.subs-plan-badge svg{width:16px;height:16px}.subs-status-badge{font-size:12px;font-weight:600;padding:4px 12px;border-radius:12px}.subs-status-badge[data-status=active]{background:#dcfce7;color:#16a34a}.subs-status-badge[data-status=trial]{background:#fef3c7;color:#d97706}.subs-status-badge[data-status=expired]{background:#fee2e2;color:#dc2626}.subs-status-badge[data-status=cancelled]{background:#fef3c7;color:#d97706}.subs-plan-desc{color:var(--text-muted);font-size:14px;margin:0 0 20px}.subs-plan-details{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-bottom:20px}.subs-detail-row{display:flex;align-items:center;justify-content:space-between}.subs-detail-label{color:var(--text-secondary);font-size:14px}.subs-detail-value{color:var(--text-primary);font-weight:500;font-size:14px}.subs-detail-row.subs-savings .subs-detail-value{color:#10b981;font-weight:600}.subs-detail-row.subs-total{padding-top:10px;border-top:1px dashed var(--border-color)}.subs-detail-row.subs-total .subs-detail-label{font-weight:700;color:var(--text-primary);font-size:16px}.subs-detail-row.subs-total .subs-detail-value{font-weight:700;font-size:20px;color:var(--primary)}.subs-plan-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.subs-billing-toggle{display:flex;background:var(--bg-secondary);border-radius:10px;padding:4px;gap:4px}.subs-cycle-btn{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.subs-cycle-btn.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 3px #00000014;font-weight:600}.subs-save-tag{font-size:10px;font-weight:700;background:#dcfce7;color:#16a34a;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.subs-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.subs-stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:16px}.subs-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.subs-stat-icon svg{width:20px;height:20px}.subs-stat-content{display:flex;flex-direction:column;min-width:0}.subs-stat-value{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.subs-stat-label{font-size:13px;color:var(--text-muted);margin-bottom:6px}.subs-usage-bar{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin:6px 0 4px}.subs-usage-fill{height:100%;border-radius:3px;transition:width .4s ease}.subs-usage-text{font-size:11px;color:var(--text-muted)}.subs-modules-quick{display:flex;flex-wrap:wrap;gap:10px}.subs-module-chip{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;border:1px solid var(--border-color);font-size:13px;font-weight:500;color:var(--text-primary);transition:all .2s}.subs-module-chip.inactive{opacity:.5;color:var(--text-muted)}.subs-module-chip.active{background:var(--bg-secondary);border-color:var(--primary)}.subs-module-chip-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.subs-module-chip svg{width:14px;height:14px;color:var(--text-muted)}.subs-module-chip.active svg{color:#10b981}.subs-section-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.subs-section-header h3{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.subs-section-header p{font-size:14px;color:var(--text-muted);margin:0}.subs-core-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.subs-core-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px}.subs-core-icon{width:32px;height:32px;border-radius:8px;background:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.subs-core-icon svg{width:16px;height:16px}.subs-core-card strong{font-size:14px;color:var(--text-primary);display:block}.subs-core-card span{font-size:12px;color:var(--text-muted)}.subs-addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.subs-addon-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;padding:24px;transition:all .2s;position:relative}.subs-addon-card.active{border-color:var(--primary);background:var(--bg-secondary)}.subs-addon-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.subs-addon-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all .2s}.subs-addon-price{text-align:right}.subs-addon-amount{font-size:18px;font-weight:700;color:var(--text-primary)}.subs-addon-period{font-size:12px;color:var(--text-muted)}.subs-addon-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.subs-addon-desc{font-size:13px;color:var(--text-muted);margin:0 0 20px;line-height:1.5}.btn-full{width:100%;justify-content:center}.btn-sm{padding:6px 14px!important;font-size:13px!important}.btn-danger-outline{background:transparent;border:1px solid #fca5a5;color:#ef4444;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}.btn-danger-outline:hover{background:#fef2f2;border-color:#ef4444}.subs-cost-bar{position:sticky;bottom:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px 24px;margin-top:24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -4px 16px #0000000d}.subs-cost-bar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subs-cost-bar-label{font-size:14px;color:var(--text-muted)}.subs-cost-bar-total{font-size:20px;font-weight:700;color:var(--primary)}.subs-cost-bar-savings{font-size:12px;font-weight:600;color:#10b981;background:#dcfce7;padding:3px 10px;border-radius:6px}.subs-bundles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.subs-bundle-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;padding:24px;transition:all .2s;position:relative}.subs-bundle-card.active{border-color:var(--primary);background:var(--bg-secondary)}.subs-bundle-active-tag{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.subs-bundle-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.subs-bundle-header h4{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.subs-bundle-pricing{text-align:right}.subs-bundle-old-price{font-size:13px;color:var(--text-muted);text-decoration:line-through;display:block}.subs-bundle-price{font-size:18px;font-weight:700;color:var(--primary)}.subs-bundle-desc{font-size:13px;color:var(--text-muted);margin:0 0 16px}.subs-bundle-modules{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.subs-bundle-module-tag{display:flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.subs-bundle-module-dot{width:8px;height:8px;border-radius:50%}.subs-bundle-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border-color)}.subs-bundle-savings{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#10b981}.subs-bundle-savings svg{width:16px;height:16px;color:#10b981}.subs-comparison-card{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-top:24px}.subs-comparison-icon{width:40px;height:40px;border-radius:10px;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.subs-comparison-icon svg{width:18px;height:18px}.subs-comparison-card h4{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.subs-comparison-card p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.6}.subs-billing-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.subs-billing-summary-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px}.subs-billing-summary-label{font-size:12px;color:var(--text-muted);display:block;margin-bottom:4px}.subs-billing-summary-value{font-size:16px;font-weight:600;color:var(--text-primary)}.subs-payment-method-tag{font-size:12px;font-weight:500;padding:3px 10px;border-radius:6px;background:#f1f5f9;color:var(--text-secondary)}.subs-payment-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px}.subs-payment-status.paid{background:#dcfce7;color:#16a34a}.subs-payment-status.pending{background:#fef3c7;color:#d97706}.subs-payment-status.failed{background:#fee2e2;color:#dc2626}.subs-plan-modal{max-width:900px}.subs-plans-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.subs-plan-option{border:2px solid var(--border-color);border-radius:12px;padding:24px;position:relative;transition:all .2s}.subs-plan-option:hover{border-color:var(--text-muted)}.subs-plan-option.current{border-width:2px}.subs-plan-option.popular{border-color:#10b981}.subs-popular-tag{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:11px;font-weight:700;color:#fff;background:#10b981;padding:3px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.subs-current-tag{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:11px;font-weight:700;color:#fff;background:var(--primary);padding:3px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.subs-plan-option-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;margin-bottom:12px}.subs-plan-option h4{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.subs-plan-option-desc{font-size:13px;color:var(--text-muted);margin:0 0 16px}.subs-plan-option-price{margin-bottom:16px}.subs-plan-option-amount{font-size:28px;font-weight:700;color:var(--text-primary)}.subs-plan-option-period{font-size:14px;color:var(--text-muted)}.subs-plan-option-features{list-style:none;padding:0;margin:0 0 20px}.subs-plan-option-features li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);padding:4px 0}.subs-plan-option-features li svg{width:14px;height:14px;color:#10b981;flex-shrink:0}.subs-confirm-modal{max-width:440px}.subs-confirm-modal .modal-body p{font-size:14px;color:var(--text-secondary);line-height:1.6}.subs-confirm-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border-color)}@media(max-width:1200px){.subs-stats-grid,.subs-addons-grid,.subs-plans-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.subs-stats-grid,.subs-addons-grid,.subs-bundles-grid{grid-template-columns:1fr}.subs-billing-summary{grid-template-columns:repeat(2,1fr)}.subs-plans-grid{grid-template-columns:1fr}.subs-plan-actions{flex-direction:column;align-items:flex-start}.subs-core-grid{grid-template-columns:1fr}}.trial-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-radius:10px;margin-bottom:20px;gap:16px;flex-wrap:wrap}.trial-banner-content{display:flex;align-items:center;gap:12px}.trial-banner-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.trial-banner-icon svg{width:18px;height:18px}.trial-banner-text{display:flex;flex-direction:column}.trial-banner-text strong{font-size:14px;line-height:1.3}.trial-banner-text span{font-size:12px;opacity:.85}.trial-banner-actions{display:flex;align-items:center;gap:12px}.trial-banner.trial-active{background:#f8fffc;border:1px solid #bfead8}.trial-banner.trial-active .trial-banner-icon{background:#10b981;color:#fff}.trial-banner.trial-active .trial-banner-text strong{color:#065f46}.trial-banner.trial-active .trial-banner-text span{color:#047857}.trial-banner.trial-reminder{background:#fffdf6;border:1px solid #f5d89f}.trial-banner.trial-reminder .trial-banner-icon{background:#f59e0b;color:#fff}.trial-banner.trial-reminder .trial-banner-text strong{color:#92400e}.trial-banner.trial-reminder .trial-banner-text span{color:#b45309}.trial-banner.trial-expired{background:#fff8f8;border:1px solid #f3b8b8}.trial-banner.trial-expired .trial-banner-icon{background:#ef4444;color:#fff}.trial-banner.trial-expired .trial-banner-text strong{color:#991b1b}.trial-banner.trial-expired .trial-banner-text span{color:#b91c1c}.trial-progress-mini{width:80px;height:5px;background:#0000001a;border-radius:3px;overflow:hidden}.trial-progress-mini-fill{height:100%;border-radius:3px;background:var(--primary);transition:width .4s ease}.trial-banner.trial-active .trial-progress-mini-fill{background:#10b981}.trial-banner.trial-reminder .trial-progress-mini-fill{background:#f59e0b}.read-only-badge{display:inline-flex;align-items:center;gap:4px;background:#fef2f2;color:#b91c1c;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:6px;border:1px solid #fecaca;margin-left:8px}.sidebar.read-only .nav-item{position:relative}.main-content.read-only .btn-primary,.main-content.read-only .btn-success,.main-content.read-only .btn-danger,.main-content.read-only button[type=submit]{opacity:.5;cursor:not-allowed}.main-content.read-only .module-subscription .btn-primary,.main-content.read-only .module-subscription .btn-success,.main-content.read-only .module-subscription .btn-danger,.main-content.read-only .module-subscription button[type=submit],.main-content.read-only .trial-banner .btn-primary,.main-content.read-only .trial-banner .btn-success{opacity:1;cursor:pointer}.subs-trial-hero{background:var(--card-bg);border:1px solid var(--border-color);border-left:4px solid #10b981;border-radius:12px;padding:24px;display:block;margin-bottom:24px}.subs-trial-expired-hero{border-left-color:#ef4444}.subs-trial-hero-content{flex:1}.subs-trial-hero-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;background:#10b981;color:#fff;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.subs-trial-hero-badge svg{width:14px;height:14px}.subs-trial-hero-badge.expired{background:#ef4444}.subs-trial-hero h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.subs-trial-expired-hero h2{color:var(--text-primary)}.subs-trial-hero p{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.6;max-width:680px}.subs-trial-expired-hero p{color:var(--text-secondary)}.subs-trial-progress{margin-bottom:20px;max-width:360px}.subs-trial-progress-bar{width:100%;height:8px;background:#fff9;border-radius:4px;overflow:hidden;margin-bottom:6px}.subs-trial-progress-fill{height:100%;border-radius:4px;transition:width .4s ease}.subs-trial-progress-text{font-size:12px;color:var(--text-muted);font-weight:500}.subs-trial-hero-visual,.subs-trial-circle{display:none}.subs-trial-circle-number{font-size:40px;font-weight:800;color:#065f46;line-height:1}.subs-trial-circle-label{font-size:12px;color:#047857;font-weight:600}.subs-detail-row.subs-trial-note{background:#fffbeb;margin:-4px -8px 4px;padding:8px 12px;border-radius:6px;border:1px dashed #fde68a}.subs-detail-row.subs-trial-note .subs-detail-label{color:#92400e;font-weight:500}.subs-detail-row.subs-trial-note .subs-detail-value{color:#b45309;font-size:13px}.subs-paystack-modal{max-width:540px}.subs-paystack-modal .modal-header h2{display:flex;align-items:center;gap:8px}.subs-paystack-modal .modal-header h2 svg{width:20px;height:20px}.subs-checkout-summary{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:20px;margin-bottom:24px}.subs-checkout-summary h4{font-size:14px;font-weight:600;color:var(--text-muted);margin:0 0 14px;text-transform:uppercase;letter-spacing:.5px}.subs-checkout-plan{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:12px}.subs-checkout-plan-badge{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px}.subs-checkout-plan strong{font-size:15px;color:var(--text-primary);display:block}.subs-checkout-plan span{font-size:12px;color:var(--text-muted)}.subs-checkout-plan-price{margin-left:auto;font-weight:600;color:var(--text-primary)}.subs-checkout-modules{display:flex;align-items:flex-start;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:12px;flex-wrap:wrap}.subs-checkout-modules-label{font-size:13px;color:var(--text-muted);min-width:60px}.subs-checkout-modules-list{display:flex;flex-wrap:wrap;gap:4px;flex:1}.subs-checkout-module-tag{font-size:11px;padding:2px 8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary)}.subs-checkout-modules-price{font-weight:600;font-size:14px;color:var(--text-primary);margin-left:auto}.subs-checkout-extra{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.subs-checkout-total{display:flex;justify-content:space-between;font-size:18px;color:var(--text-primary)}.subs-checkout-form{margin-bottom:20px}.subs-checkout-form .form-group{margin-bottom:16px}.subs-checkout-form label{font-size:13px;font-weight:600;color:var(--text-primary);display:block;margin-bottom:6px}.subs-checkout-form input[type=email]{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--card-bg);box-sizing:border-box}.subs-checkout-form input[type=email]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0d94881a}.subs-checkout-form small{font-size:11px;color:var(--text-muted);margin-top:4px;display:block}.subs-channel-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.subs-channel-option{display:flex;align-items:center;gap:10px;padding:12px;border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s}.subs-channel-option:hover{border-color:var(--text-muted)}.subs-channel-option.active{border-color:var(--primary);background:#0d948808}.subs-channel-option input[type=radio]{display:none}.subs-channel-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.subs-channel-option svg{width:20px;height:20px;color:var(--text-muted)}.subs-channel-option.active svg{color:var(--primary)}.subs-channel-logo{width:100%;height:100%;object-fit:contain}.subs-channel-option strong{font-size:13px;color:var(--text-primary);display:block}.subs-channel-option span{font-size:11px;color:var(--text-muted)}.subs-paystack-trust{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:12px;color:#065f46}.subs-paystack-trust svg{flex-shrink:0}.subs-pay-btn{min-width:200px}.subs-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:subs-spin .6s linear infinite;display:inline-block;margin-right:8px}@keyframes subs-spin{to{transform:rotate(360deg)}}.subs-paystack-card-info{display:flex;align-items:center;gap:16px}.subs-card-icon{width:48px;height:32px;border-radius:6px;background:var(--bg-secondary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center}.subs-card-icon svg{width:20px;height:20px;color:var(--text-muted)}.subs-card-details{display:flex;flex-direction:column}.subs-card-brand{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:1px}.subs-card-number{font-size:14px;font-weight:500;color:var(--text-primary);font-family:monospace;letter-spacing:1px}.subs-paystack-badge{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:#10b981;font-weight:500}.subs-paystack-badge svg{width:14px;height:14px}.subs-paystack-info{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px}.subs-paystack-info-icon{flex-shrink:0;margin-top:2px}.subs-paystack-info-content strong{font-size:14px;color:var(--text-primary);display:block;margin-bottom:4px}.subs-paystack-info-content p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.subs-empty-history{text-align:center;padding:48px 24px;color:var(--text-muted)}.subs-empty-history svg{width:40px;height:40px;margin-bottom:12px;opacity:.4}.subs-empty-history h4{font-size:16px;color:var(--text-secondary);margin:0 0 4px}.subs-empty-history p{font-size:13px;margin:0}@media(max-width:768px){.subs-trial-hero{flex-direction:column;text-align:center}.subs-trial-hero p,.subs-trial-progress{max-width:100%}.subs-channel-options{grid-template-columns:1fr}.trial-banner{flex-direction:column;align-items:flex-start}}@media print{.app{display:block}.sidebar,.modal-actions,.main-content-top,.role-badge{display:none}.main-content{margin-left:0;padding:0}.modal-overlay{position:static;background:none}.modal{max-width:100%;box-shadow:none}}.results-warning{font-size:13px;color:#ef4444;margin-bottom:8px}.history-section--previous{opacity:.7;border-top:2px dashed var(--border-color);padding-top:16px;margin-top:8px}.history-section--previous .history-section-title{font-size:13px;color:var(--text-muted)}.history-rx-card--previous,.history-lab-card--previous{border-left:3px solid var(--border-color)}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.analytics-kpi-grid--3{grid-template-columns:repeat(3,1fr)}.analytics-kpi-grid--4{grid-template-columns:repeat(4,1fr)}.analytics-kpi-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;transition:box-shadow .2s}.analytics-kpi-card:hover{box-shadow:0 2px 12px #0000000f}.analytics-kpi-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.analytics-kpi-icon svg{width:22px;height:22px}.analytics-kpi-body{display:flex;flex-direction:column;min-width:0}.analytics-kpi-value{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.analytics-kpi-label{font-size:13px;color:var(--text-muted);margin-top:2px}.analytics-kpi-sub{font-size:11px;color:var(--text-muted);margin-top:2px;opacity:.8}.analytics-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.analytics-hbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.analytics-hbar-label{font-size:13px;color:var(--text-secondary);min-width:50px;flex-shrink:0;text-align:right}.analytics-hbar-label--wide{min-width:140px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-hbar-track{flex:1;height:10px;background:var(--bg-secondary);border-radius:5px;overflow:hidden}.analytics-hbar-fill{height:100%;border-radius:5px;background:var(--primary);transition:width .4s ease}.analytics-hbar-value{font-size:13px;font-weight:600;color:var(--text-primary);min-width:30px;text-align:right}.analytics-stacked-bar{display:flex;height:32px;border-radius:8px;overflow:hidden;margin-bottom:12px}.analytics-stacked-fill{transition:width .4s ease;min-width:2px}.analytics-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}.analytics-legend--col{flex-direction:column;gap:8px}.analytics-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.analytics-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.analytics-donut-wrap{display:flex;align-items:center;gap:24px}.analytics-donut{width:140px;height:140px;border-radius:50%;position:relative;flex-shrink:0}.analytics-donut-hole{position:absolute;inset:25%;background:var(--card-bg);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.analytics-donut-hole span{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1}.analytics-donut-hole small{font-size:10px;color:var(--text-muted);margin-top:2px}.analytics-rank-list{display:flex;flex-direction:column;gap:8px}.analytics-rank-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-secondary);border-radius:8px;transition:background .15s}.analytics-rank-item:hover{background:var(--hover-bg)}.analytics-rank-num{width:24px;height:24px;border-radius:6px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.analytics-rank-name{flex:1;font-size:14px;color:var(--text-primary);font-weight:500}.analytics-rank-badge{font-size:12px;font-weight:600;color:var(--primary);background:#0d94881a;padding:3px 10px;border-radius:12px}.analytics-stat-list{display:flex;flex-direction:column;gap:2px}.analytics-stat-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color);font-size:14px}.analytics-stat-row:last-child{border-bottom:none}.analytics-stat-row span{color:var(--text-secondary)}.analytics-stat-row strong{color:var(--text-primary)}.analytics-vbar-chart{display:flex;align-items:flex-end;gap:8px;height:220px;padding-top:24px}.analytics-vbar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.analytics-vbar-value{font-size:10px;font-weight:600;color:var(--text-muted);margin-bottom:4px;white-space:nowrap;opacity:0;transition:opacity .15s}.analytics-vbar-col:hover .analytics-vbar-value{opacity:1}.analytics-vbar-track{flex:1;width:100%;max-width:40px;display:flex;align-items:flex-end;border-radius:6px 6px 0 0;overflow:hidden}.analytics-vbar-fill{width:100%;background:var(--primary);border-radius:6px 6px 0 0;transition:height .4s ease;min-height:2px}.analytics-vbar-col:hover .analytics-vbar-fill{opacity:.8}.analytics-vbar-label{font-size:10px;color:var(--text-muted);margin-top:6px;text-align:center;white-space:nowrap}.reports-tabs{display:flex;gap:6px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.reports-tabs::-webkit-scrollbar{height:3px}.reports-tabs::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}@media(max-width:1200px){.reports-grid,.analytics-kpi-grid,.analytics-kpi-grid--3,.analytics-kpi-grid--4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.reports-grid,.analytics-kpi-grid,.analytics-kpi-grid--3,.analytics-kpi-grid--4,.analytics-two-col{grid-template-columns:1fr}.analytics-donut-wrap{flex-direction:column}.analytics-hbar-label--wide{min-width:100px}.analytics-vbar-chart{height:160px}.system-info{grid-template-columns:1fr}}.login-subtitle{font-size:14px;color:var(--text-muted);text-align:center;margin:-16px 0 24px}.login-divider{display:flex;align-items:center;gap:14px;margin:20px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.login-divider span{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.staff-login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:300px;margin:0 auto;padding:12px 24px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.staff-login-btn:hover{background:var(--hover-bg);border-color:var(--text-muted)}.staff-login-btn svg{opacity:.6}.color-picker-row{display:flex;align-items:center;gap:10px}.color-picker-input{width:44px;height:44px;padding:2px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;background:none}.color-hex-input{width:100px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-family:monospace}.color-hex-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.color-preview-swatch{width:44px;height:44px;border-radius:8px;border:1px solid var(--border-color);flex-shrink:0}.color-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.color-preset-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.color-preset-btn:hover{transform:scale(1.15)}.color-preset-btn.active{border-color:var(--text-primary);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--text-primary)}.login-switch-prompt{text-align:center;font-size:14px;color:var(--text-muted);margin-top:16px}.login-switch-link{background:none;border:none;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:color .15s}.login-switch-link:hover{color:var(--primary-dark);text-decoration:underline}.signup-terms{text-align:center;font-size:12px;color:var(--text-muted);margin-top:12px;line-height:1.5}.forgot-password-link{display:inline-block;background:none;border:none;color:var(--primary);font-size:13px;cursor:pointer;padding:6px 0;margin-top:8px;text-decoration:none;transition:color .15s}.forgot-password-link:hover{color:var(--primary-dark);text-decoration:underline}.forgot-password-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.forgot-password-hint{font-size:12px;color:var(--text-muted);margin-bottom:20px}.forgot-password-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:12px 0}.forgot-password-success h2{margin:4px 0 0}.forgot-password-success .forgot-password-desc{max-width:340px}.forgot-password-success .login-btn{margin-top:8px}.success-icon-circle{width:64px;height:64px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:4px}.login-content .btn-secondary{display:block;width:100%;max-width:300px;margin:12px auto 0;padding:10px 24px;border-radius:8px;font-size:14px;text-align:center;cursor:pointer}.appointments-module .module-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.appointments-header-actions{display:flex;gap:10px;align-items:center}.appointments-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}@media(max-width:1024px){.appointments-layout{grid-template-columns:1fr}}.appointments-schedule-card{min-width:0}.appointments-upcoming-card{position:sticky;top:24px}.appointments-upcoming-card .card-body{max-height:400px;overflow-y:auto}.appointments-date-nav{display:flex;align-items:center;gap:12px;margin-bottom:20px}.appointments-nav-btn{padding:8px 12px;min-width:40px}.appointments-date-display{display:flex;align-items:center;gap:12px;flex:1;justify-content:center}.appointments-date-text{font-weight:600;font-size:15px;color:var(--text-primary)}.appointments-today-btn{padding:6px 12px;font-size:13px;color:var(--text-muted);background:transparent;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.appointments-today-btn:hover{color:var(--primary);border-color:var(--primary)}.appointments-today-btn.active{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.appointments-empty-state{text-align:center;padding:48px 24px;border:2px dashed var(--border-color);border-radius:12px;background:var(--bg-secondary)}.appointments-empty-icon{width:64px;height:64px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);border-radius:50%}.appointments-empty-icon svg{width:32px;height:32px}.appointments-empty-state p{margin:0 0 16px;color:var(--text-muted);font-size:15px}.appointments-upcoming-empty{color:var(--text-muted);font-size:14px;margin:0;padding:24px 0;text-align:center}.appointments-list{display:flex;flex-direction:column;gap:10px}.appointment-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary);border-radius:10px;border-left:4px solid var(--primary)}.appointment-card.status-cancelled{opacity:.7;border-left-color:var(--text-muted)}.appointment-card.status-completed{border-left-color:#10b981}.appointment-card-main{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.appointment-time{font-weight:600;min-width:56px;font-size:14px}.appointment-duration{font-size:13px;color:var(--text-muted)}.appointment-patient{font-weight:500}.appointment-type{font-size:12px;padding:3px 8px;background:var(--primary-light);border-radius:6px;color:var(--primary)}.appointment-staff{font-size:13px;color:var(--text-muted)}.appointment-status-badge{font-size:11px;padding:3px 8px;border-radius:6px;text-transform:capitalize}.appointment-status-badge.scheduled{background:#dbeafe;color:#1d4ed8}.appointment-status-badge.confirmed{background:#d1fae5;color:#047857}.appointment-status-badge.completed{background:#e5e7eb;color:#4b5563}.appointment-status-badge.cancelled{background:#fee2e2;color:#b91c1c}.appointment-status-badge.no_show{background:#fef3c7;color:#b45309}.appointment-card-actions{display:flex;gap:6px}.appointments-upcoming{display:flex;flex-direction:column;gap:8px}.appointment-upcoming-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:background .2s;border:1px solid transparent}.appointment-upcoming-item:hover{background:var(--primary-light);border-color:var(--primary)}.appointment-upcoming-item .apt-time{font-weight:600;min-width:48px;font-size:14px}.appointment-upcoming-item .apt-date{font-size:13px;color:var(--text-muted);min-width:90px}.appointment-upcoming-item .apt-patient{flex:1;font-weight:500}.appointments-modal{max-width:480px;background-color:var(--card-bg)}.appointments-form-body .form-group{margin-bottom:16px}.appointments-form-body .form-group:last-of-type{margin-bottom:0}.appointments-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
