body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border-bottom:1px solid #e2e8f0cc;height:80px;justify-content:space-between;left:0;padding:0 40px;position:fixed;right:0;top:0;z-index:1000}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:15px}.navbar-logo{align-items:center;background:#10b981;border-radius:12px;color:#fff;display:flex;height:45px;justify-content:center;width:45px}.logo-icon{font-size:1.5rem}.app-name{color:#1e293b;font-size:1.4rem;font-weight:800;line-height:1;margin:0}.app-subtitle{color:#64748b;font-size:.8rem;font-weight:500;margin:2px 0 0}.login-btn{align-items:center;background:#1e293b;border:none;border-radius:100px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.login-btn:hover{background:#334155;transform:translateY(-1px)}.user-info{align-items:center;display:flex;gap:20px}.user-info span{color:#475569;font-weight:600}.logout-btn{align-items:center;background:#fee2e2;border:none;border-radius:100px;color:#ef4444;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:8px 16px}.logout-btn:hover{background:#fecaca}.home-container{background-color:#f8fafc;padding-top:20px}.top-nav{display:flex;justify-content:flex-start;margin:0 auto;max-width:1200px;padding:0 20px}.auth-buttons{display:flex;gap:12px}.nav-btn{border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .2s}.admin-btn{background:#1e293b;border:none;color:#fff}.admin-btn:hover{background:#334155}.patient-btn{background:#fff;border:2px solid #10b981;color:#10b981}.patient-btn:hover{background:#f0fdf4}.hero-section{margin:0 auto;max-width:1200px;padding:60px 20px;text-align:center}.hero-badge{align-items:center;background-color:#dcfce7;border-radius:100px;color:#166534;display:inline-flex;font-weight:500;gap:8px;margin-bottom:24px;padding:8px 16px}.hero-section h1{color:#1e293b;font-size:3.5rem;font-weight:800;margin-bottom:20px}.highlight{color:#10b981}.hero-desc{color:#64748b;font-size:1.25rem;line-height:1.6;margin:0 auto 60px;max-width:800px}.card-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:40px}.role-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;cursor:pointer;padding:40px;transition:all .3s ease}.role-card:hover{border-color:#10b981;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-5px)}.role-icon{color:#10b981;font-size:3rem;margin-bottom:20px}.role-card h3{color:#1e293b;font-size:1.5rem;margin-bottom:10px}.role-card p{color:#64748b}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;max-width:450px;padding:40px;position:relative;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.modal-header h2{color:#1e293b;font-size:1.8rem}.close-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:2rem}.form-group input{border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;transition:all .2s}.form-group input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.login-submit-btn{background:#10b981;border-radius:12px;font-size:1.1rem;padding:14px;transition:background .2s}.login-submit-btn:hover{background:#059669}.error-msg{color:#ef4444;font-size:.9rem;margin-bottom:15px}body{background-color:#f8faf9;color:#1c2a23;font-family:Inter,sans-serif;margin:0;padding:0}.home-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding:4rem 2rem}.login-container,.main-content{align-items:center;display:flex;justify-content:center}.login-container{background-color:#f4f7f6;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001a;max-width:400px;padding:2.5rem;text-align:center;width:100%}.login-card h2{color:#0d98a5;font-size:1.8rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{color:#4b5b4c;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #dfe6e9;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#0d98a5;outline:none}.login-submit-btn{background-color:#0d98a5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:12px;transition:background-color .3s;width:100%}.login-submit-btn:hover{background-color:#0b7e86}.back-btn{background:none;border:none;color:#636e72;cursor:pointer;font-size:.9rem;margin-top:1.5rem;text-decoration:underline}.back-btn:hover{color:#2d3436}.admin-theme{background-color:#f1f5f9;background-image:radial-gradient(at 0 0,#3b82f60d 0,#0000 50%),radial-gradient(at 100% 0,#8b5cf60d 0,#0000 50%)}.admin-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:40px}.digital-clock-card{animation:fadeIn .5s ease-out;background:#fff;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 10px 15px -3px #0000001a;min-width:250px;padding:20px 30px;text-align:right}.clock-time{color:#1e293b;font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:800;gap:12px}.clock-date,.clock-time{align-items:center;display:flex;justify-content:flex-end}.clock-date{color:#64748b;font-size:.95rem;gap:8px;margin-top:5px}.icon-pulse{animation:pulse 2s infinite;color:#3b82f6}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.stats-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 6px -1px #0000000d;display:flex;gap:20px;padding:25px;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-5px)}.stat-card svg{border-radius:15px;font-size:2.5rem;padding:15px}.stat-card.blue svg{background:#eff6ff;color:#3b82f6}.stat-card.green svg{background:#ecfdf5;color:#10b981}.stat-card.purple svg{background:#f5f3ff;color:#8b5cf6}.stat-info h3{color:#64748b;font-size:.9rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.stat-value{color:#1e293b;font-size:1.8rem;font-weight:800;margin:5px 0 0}.viz-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:40px}.viz-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 4px 6px -1px #0000000d;padding:30px}.chart-wrapper{height:300px;position:relative}.glass-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #ffffff80}.main-content-grid{align-items:start;display:grid;grid-template-columns:400px 1fr}.onboard-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 10px 15px -3px #2563eb4d;transition:all .3s ease}.onboard-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:scale(1.02)}.onboard-btn:active{transform:scale(.98)}@media (max-width:1024px){.main-content-grid,.viz-section{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-container{padding:80px 20px 20px}.admin-header-row{align-items:stretch;flex-direction:column}.digital-clock-card{text-align:center}.clock-date,.clock-time{justify-content:center}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.glass-card,.stat-card,.viz-card{animation:fadeIn .6s ease-out forwards}.viz-card:nth-child(2){animation-delay:.1s}.main-content-grid>div:first-child{animation-delay:.2s}.main-content-grid>div:nth-child(2){animation-delay:.3s}.dashboard-container{margin:0 auto;max-width:1500px;min-height:100vh;padding:120px 40px 40px}h1{color:#1e293b;font-size:2.5rem;font-weight:800}h1,h2{margin:0}h2{color:#334155;font-size:1.5rem;font-weight:700}.admin-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.consultation-area,.form-section,.list-section,.patient-list,.prescription-list,.registration-form,.test-list{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 4px 6px -1px #0000001a;padding:30px}.reception-theme{background-color:#f8fafc;background-image:radial-gradient(at 100% 100%,#10b9810d 0,#0000 50%),radial-gradient(at 0 100%,#3b82f60d 0,#0000 50%)}.reception-split-grid{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:450px 1fr}.admission-form .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.patient-workflow-list{display:flex;flex-direction:column;gap:15px;max-height:700px;overflow-y:auto;padding-right:10px}.workflow-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 2px 4px #00000005;display:flex;justify-content:space-between;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.workflow-card:hover{border-color:#e2e8f0;box-shadow:0 10px 15px -3px #0000001a;transform:translateX(5px)}.workflow-card-left{align-items:center;display:flex;gap:15px}.patient-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;box-shadow:0 4px 6px -1px #2563eb33;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:48px;justify-content:center;width:48px}.patient-meta h3{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0}.patient-meta p{color:#64748b;font-size:.85rem;margin:2px 0 0}.workflow-card-right{align-items:center;display:flex;gap:30px}.workflow-step{align-items:center;display:flex;gap:10px}.step-icon{color:#94a3b8;font-size:1.1rem}.step-info{display:flex;flex-direction:column}.step-label{color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.step-value{color:#334155;font-size:.9rem;font-weight:600}.status-pill{align-items:center;border-radius:9999px;display:flex;font-size:.75rem;font-weight:700;gap:6px;letter-spacing:.025em;padding:6px 14px;text-transform:uppercase}.status-pill.registered{background-color:#eff6ff;color:#3b82f6}.status-pill.consulted{background-color:#fffbeb;color:#f59e0b}.status-pill.completed{background-color:#ecfdf5;color:#10b981}.spin-slow{animation:spin 3s linear infinite}@media (max-width:1200px){.reception-split-grid{grid-template-columns:1fr}}@media (max-width:640px){.workflow-card{align-items:flex-start;flex-direction:column;gap:15px}.workflow-card-right{justify-content:space-between;width:100%}}.doctor-theme{background-color:#f1f5f9;background-image:radial-gradient(at 0 100%,#8b5cf60d 0,#0000 50%),radial-gradient(at 100% 0,#3b82f60d 0,#0000 50%)}.doctor-grid{grid-template-columns:380px 1fr;height:calc(100vh - 250px);min-height:600px}.queue-wrapper{display:flex;flex-direction:column;gap:12px;max-height:calc(100% - 60px);overflow-y:auto;padding-right:8px}.patient-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:16px;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:all .2s ease}.patient-card:hover{background:#fdfcff;border-color:#ddd6fe}.patient-card.active{background:#f5f3ff;border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf61a}.patient-info h3{color:#1e293b;font-size:1rem;margin:0}.patient-info p{color:#64748b;font-size:.8rem;margin:2px 0 0}.patient-status{align-items:center;display:flex;gap:8px}.status-icon{font-size:1rem}.status-icon.amber{color:#f59e0b}.status-icon.blue{color:#3b82f6}.status-icon.green{color:#10b981}.status-text{font-size:.75rem;font-weight:700;text-transform:uppercase}.consultation-area{overflow-y:auto;padding:30px}.consultation-area,.no-selection{display:flex;flex-direction:column}.no-selection{align-items:center;color:#94a3b8;gap:15px;height:100%;justify-content:center;text-align:center}.consult-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:20px}.vitals-row{color:#64748b;display:flex;font-size:.9rem;font-weight:500;gap:20px;margin-top:8px}.symptoms-box{background:#f8fafc;border-radius:16px;margin-bottom:30px;padding:20px}.symptoms-box h3{color:#64748b;font-size:.9rem;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.action-tabs{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr}.action-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:25px}.action-card h3{color:#1e293b;font-size:1.1rem}.action-card h3,.test-selector .search-bar{align-items:center;display:flex;gap:10px;margin-bottom:20px}.test-selector .search-bar{background:#f1f5f9;border-radius:12px;padding:10px 15px}.test-selector .search-bar input{background:none;border:none;font-size:.9rem;padding:0;width:100%}.test-catalog{max-height:250px;overflow-y:auto;padding-right:5px}.test-category h4{color:#94a3b8;font-size:.8rem;margin:15px 0 10px;text-transform:uppercase}.test-chips{display:flex;flex-wrap:wrap;gap:8px}.test-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:99px;color:#475569;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .2s ease}.test-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.test-chip.selected{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.selected-summary{align-items:center;border-top:1px dashed #e2e8f0;display:flex;justify-content:space-between;margin-top:20px;padding-top:15px}.request-btn{background:#1e293b;border-radius:10px;color:#fff;font-size:.85rem;font-weight:600;padding:8px 16px}.lab-results-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:16px;margin-bottom:30px;padding:20px}.results-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:15px}.result-card{background:#fff;border:1px solid #e0f2fe;border-radius:12px;padding:12px}.test-name{color:#64748b;display:block;font-size:.75rem;font-weight:600}.test-val{color:#0369a1;font-size:1rem;font-weight:700;margin:4px 0 0}.med-list{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.med-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 100px 100px 40px}.med-row input{border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;padding:10px}.remove-med{background:#fef2f2;border-radius:8px;color:#ef4444}.add-med-btn,.remove-med{align-items:center;display:flex;justify-content:center}.add-med-btn{background:#f5f3ff;border-radius:10px;color:#8b5cf6;font-size:.85rem;font-weight:600;gap:8px;margin-bottom:20px;padding:10px 15px;width:100%}@media (max-width:1280px){.doctor-grid{grid-template-columns:320px 1fr}.action-tabs{grid-template-columns:1fr}}@media (max-width:900px){.doctor-grid{grid-template-columns:1fr;height:auto}.patient-list{height:400px}}.pharmacy-theme{background-color:#f8fafc;background-image:radial-gradient(at 0 0,#f59e0b0d 0,#0000 50%),radial-gradient(at 100% 100%,#10b9810d 0,#0000 50%)}.pharmacy-grid{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:1fr 1fr}.prescription-list-wrapper{display:flex;flex-direction:column;gap:20px;max-height:800px;overflow-y:auto;padding-right:10px}.prescription-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 6px -1px #0000000d;padding:25px}.p-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.p-patient-info h3{color:#1e293b;font-size:1.2rem;margin:0}.p-patient-info span{color:#64748b;font-size:.9rem}.issue-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;display:flex;font-weight:700;gap:8px;padding:10px 20px;transition:transform .2s ease}.issue-btn:hover{transform:scale(1.05)}.medication-details table{border-collapse:collapse;width:100%}.medication-details th{color:#94a3b8;font-size:.75rem;padding-bottom:10px;text-align:left;text-transform:uppercase}.medication-details td{border-top:1px solid #f1f5f9;color:#334155;font-size:.9rem;font-weight:500;padding:12px 0}.inventory-search{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;gap:10px;padding:8px 15px;width:250px}.inventory-search input{background:none;border:none;font-size:.85rem;width:100%}.inventory-grid-wrapper{max-height:800px;overflow-y:auto;padding-right:10px}.inventory-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.inventory-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;display:flex;gap:15px;padding:20px;transition:all .3s ease}.inventory-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-5px)}.inv-icon{align-items:center;border-radius:14px;display:flex;font-size:1.5rem;height:50px;justify-content:center;width:50px}.stock-good .inv-icon{background:#ecfdf5;color:#10b981}.stock-low .inv-icon{background:#fffbeb;color:#f59e0b}.stock-out .inv-icon{background:#fef2f2;color:#ef4444}.inv-info h3{color:#1e293b;font-size:1rem;margin:0}.inv-cat{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.stock-meter{margin-top:15px}.stock-label{display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;margin-bottom:8px}.progress-bar-bg{background:#f1f5f9;border-radius:10px;height:6px;overflow:hidden}.progress-bar-fill{border-radius:10px;height:100%;transition:width 1s ease-out}.stock-good .progress-bar-fill{background:#10b981}.stock-low .progress-bar-fill{background:#f59e0b}.stock-out .progress-bar-fill{background:#ef4444}.low-stock-alert{align-items:center;color:#ef4444;display:flex;font-size:.75rem;font-weight:700;gap:5px;margin-top:8px}@media (max-width:1400px){.pharmacy-grid{grid-template-columns:1fr}}.lab-theme{background-color:#f0fdf4;background-image:radial-gradient(at 0 0,#10b9810d 0,#0000 50%),radial-gradient(at 100% 100%,#3b82f60d 0,#0000 50%)}.dashboard-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.header-actions{display:flex;gap:15px}.action-btn-outline,.action-btn-primary{align-items:center;border-radius:12px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:10px;padding:10px 20px;transition:all .3s ease}.action-btn-outline{background:#fff;border:1px solid #e2e8f0;color:#64748b}.action-btn-outline:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.action-btn-primary{background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 4px 6px -1px #10b98133;color:#fff}.patient-portal-wrapper{background-color:#f8fafc;margin:80px auto 0;max-width:1400px;min-height:calc(100vh - 80px);padding:40px}.portal-top-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.portal-top-header h1{color:#1e293b;font-size:2.2rem;font-weight:800;margin:0}.portal-logout-btn{align-items:center;background:#fff;border:1.5px solid #fecaca;border-radius:10px;color:#ef4444;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease}.portal-logout-btn:hover{background:#fef2f2;border-color:#ef4444;transform:translateY(-1px)}.portal-content-layout{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:350px 1fr}.portal-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 20px #0000000d;padding:30px}.card-title-row{align-items:center;display:flex;gap:15px;margin-bottom:20px}.card-title-row h2{color:#334155;font-size:1.25rem;font-weight:700;margin:0}.icon-circle{align-items:center;border-radius:12px;display:flex;height:40px;justify-content:center;width:40px}.icon-circle.green{background:#f0fdf4;color:#10b981}.divider{background:#f1f5f9;height:1px;margin:0 -30px 25px}.info-items-list{display:flex;flex-direction:column;gap:25px}.info-item{align-items:flex-start;display:flex;gap:15px}.item-icon{color:#10b981;margin-top:4px}.item-content label{color:#94a3b8;display:block;font-size:.8rem;font-weight:500;margin-bottom:4px}.item-content span{color:#1e293b;font-size:1rem;font-weight:600}.portal-column-right{display:flex;flex-direction:column;gap:30px}.portal-table{border-collapse:collapse;width:100%}.portal-table th{border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:.85rem;font-weight:700;padding:12px 15px;text-align:left;text-transform:uppercase}.portal-table td{border-bottom:1px solid #f8fafc;color:#334155;font-size:.95rem;padding:20px 15px;vertical-align:top}.medicines-bullet-list{list-style-type:disc;margin:0;padding-left:20px}.medicines-bullet-list li{margin-bottom:4px}.status-pill-badge{border-radius:8px;font-size:.75rem;font-weight:700;padding:4px 12px;text-transform:uppercase}.status-pill-badge.registered{background:#eff6ff;color:#3b82f6}.status-pill-badge.consulted{background:#fffbeb;color:#f59e0b}.status-pill-badge.completed,.status-pill-badge.dispensed{background:#f0fdf4;color:#10b981}.empty-lab-state{background:#f8fafc;border-radius:16px;padding:40px 20px;text-align:center}.empty-icon{color:#3b82f6;margin-bottom:15px;opacity:.5}.empty-lab-state h3{color:#475569;font-size:1.1rem;margin:0 0 8px}.empty-lab-state p{color:#94a3b8;font-size:.9rem;margin:0}.portal-loading{color:#64748b;gap:15px}.portal-error,.portal-loading{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.portal-error{gap:20px}@media (max-width:1100px){.portal-content-layout{grid-template-columns:1fr}}@media (max-width:640px){.patient-portal-wrapper{padding:20px}.portal-table td:nth-child(3),.portal-table th:nth-child(3){display:none}}.lab-main-grid{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:320px 1fr}.filter-sidebar{gap:25px;padding:25px}.filter-group,.filter-sidebar{display:flex;flex-direction:column}.filter-group{gap:10px}.filter-group label{color:#94a3b8;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input-wrapper svg{color:#94a3b8;left:12px;position:absolute}.search-input-wrapper input{border:1px solid #e2e8f0;border-radius:10px;font-size:.9rem;padding:10px 12px 10px 38px;transition:all .2s ease;width:100%}.search-input-wrapper input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.lab-viz-widget{background:#f8fafc;border-radius:16px;margin-top:10px;padding:20px}.lab-viz-widget h3{align-items:center;color:#1e293b;display:flex;font-size:.9rem;gap:8px;margin-bottom:15px}.viz-placeholder{align-items:flex-end;display:flex;gap:10px;height:100px;margin-bottom:15px;padding:0 10px}.viz-bar{animation:barGrow 1s ease-out forwards;background:#10b981;border-radius:4px 4px 0 0;flex:1 1;opacity:.6;transition:all .5s ease}@keyframes barGrow{0%{height:0}}.viz-bar:hover{opacity:1}.lab-viz-widget p{color:#64748b;font-size:.75rem;text-align:center}.badge-count{background:#ecfdf5;border-radius:99px;color:#059669;font-size:.75rem;font-weight:700;padding:4px 12px}.d-cell,.p-cell{display:flex;flex-direction:column}.p-subtext{color:#64748b;font-size:.75rem;margin-top:2px}.animated-row{animation:rowFadeIn .5s ease-out forwards;opacity:0}@keyframes rowFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.test-list-section{padding:30px}@media (max-width:1024px){.lab-main-grid{grid-template-columns:1fr}}.dashboard-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.spinner{animation:spin 1s linear infinite;color:#10b981;font-size:3rem;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fee2e2;border-radius:12px;color:#ef4444;display:flex;font-weight:500;gap:15px;margin-bottom:30px;padding:15px 25px}.error-banner button{background:#ef4444;font-size:.9rem;margin-left:auto;padding:6px 15px}.dashboard-header{margin-bottom:40px}.dashboard-header h1{margin-bottom:8px}.subtitle{color:#64748b;font-size:1.1rem}.section-header{align-items:center;border-bottom:1px solid #f1f5f9;color:#1e293b;display:flex;gap:12px;margin-bottom:25px;padding-bottom:15px}.section-header h2{font-size:1.5rem;font-weight:700;margin:0}.section-header svg{color:#10b981;font-size:1.5rem}.form-group{margin-bottom:20px}.form-group label{color:#475569;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.message.error{color:#ef4444}.message.success{color:#10b981}.table-wrapper{overflow-x:auto}.font-bold{color:#1e293b;font-weight:700}.role-badge{border-radius:100px;font-size:.85rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.role-badge.reception{background:#e0f2fe;color:#0369a1}.role-badge.doctor{background:#dcfce7;color:#15803d}.role-badge.pharmacy{background:#fef3c7;color:#b45309}.role-badge.laboratory{background:#f3e8ff;color:#7e22ce}.empty-state{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:15px;color:#94a3b8;padding:60px 20px;text-align:center}form input,form select,form textarea{border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;margin-bottom:15px;padding:12px;width:100%}button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}button:hover{background:#059669}.message{color:#10b981;font-weight:500;margin-top:15px}table{border-collapse:collapse;margin-top:10px;width:100%}td,th{border-bottom:1px solid #e2e8f0;padding:15px;text-align:left}th{background:#f8fafc;color:#64748b;font-weight:600}.doctor-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:300px 1fr}.patient-list ul{list-style:none;padding:0}.patient-list li{background:#f8fafc;border-radius:10px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .2s}.patient-list li:hover{background:#f1f5f9}.patient-list li.active{background:#dcfce7;color:#166534;font-weight:600}.medicine-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 1fr 1fr;margin-bottom:10px}.consultation-area h3{border-bottom:2px solid #f1f5f9;color:#1e293b;margin:30px 0 15px;padding-bottom:10px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.submit-btn{font-size:1.1rem;margin-top:20px;padding:15px;width:100%}
/*# sourceMappingURL=main.b17af507.css.map*/