*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;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}.welcome-container{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c 50%,#fff);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.welcome-background{background-image:url(https://images.unsplash.com/photo-1576091160399-112ba8d25d1f?w=1920&h=1080&fit=crop);background-position:50%;background-size:cover;opacity:.15;z-index:0}.welcome-background,.welcome-container:before{bottom:0;left:0;position:absolute;right:0;top:0}.welcome-container:before{background:linear-gradient(135deg,#040456e6,#1c1c4cd9 50%,#ffffffe6);content:"";z-index:1}.welcome-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:420px;padding:48px;position:relative;width:100%;z-index:2}.welcome-header{margin-bottom:32px;text-align:center}.welcome-logo{display:flex;justify-content:center;margin-bottom:20px}.welcome-logo-img{height:auto;max-width:200px;object-fit:contain;width:100%}.welcome-header h1{color:#040456;font-size:22px;margin-bottom:4px}.welcome-tagline{color:#6b7280;font-size:13px;margin-bottom:8px}.welcome-header p{color:#6b7280;font-size:14px}.welcome-actions{display:flex;flex-direction:column;gap:12px}.welcome-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:transform .2s,box-shadow .2s;width:100%}.welcome-btn-primary{background:linear-gradient(135deg,#040456,#1c1c4c);color:#fff}.welcome-btn-primary:hover{background:linear-gradient(135deg,#1c1c4c,#040456);box-shadow:0 4px 12px #1c1c4c59;transform:translateY(-2px)}.welcome-btn-secondary{background:#fff;border:2px solid #1c1c4c;color:#040456}.welcome-btn-secondary:hover{background:#f0fdfa;transform:translateY(-2px)}.welcome-footer{color:#6b7280;font-size:12px;margin-top:24px;text-align:center}.login-container{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c 50%,#fff);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-background-image{background-image:url(https://images.unsplash.com/photo-1576091160399-112ba8d25d1f?w=1920&h=1080&fit=crop);background-position:50%;background-size:cover;bottom:0;left:0;opacity:.15;position:absolute;right:0;top:0;z-index:0}.login-container:before{background:linear-gradient(135deg,#040456e6,#1c1c4cd9 50%,#ffffffe6);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;position:relative;width:100%;z-index:2}.auth-back-btn{align-items:center;background:#fff;border:1px solid #dbeafe;border-radius:999px;box-shadow:0 2px 8px #1c1c4c1f;color:#040456;cursor:pointer;display:inline-flex;font-size:18px;height:36px;justify-content:center;left:12px;line-height:1;position:absolute;top:12px;width:36px}.auth-back-btn:hover{background:#e0e7ff;border-color:#1c1c4c}.login-header{margin-bottom:30px;text-align:center}.login-logo{display:flex;justify-content:center;margin-bottom:20px}.logo-image{height:auto;max-width:200px;object-fit:contain;width:100%}.login-header h1{color:#040456;font-size:24px;margin-bottom:4px}.login-tagline{color:#6b7280;font-size:13px;margin-bottom:8px}.login-header p{color:#6b7280;font-size:14px}.login-form{display:flex;flex-direction:column}.form-group input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:40px}.password-eye-btn{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:0;position:absolute;right:10px}.password-eye-btn:hover{color:#040456}.password-eye-icon{height:20px;width:20px}.form-group input:focus{border-color:#1c1c4c;box-shadow:0 0 0 3px #1c1c4c1f;outline:none}.login-btn{background:linear-gradient(135deg,#040456,#1c1c4c);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:12px;transition:transform .2s,box-shadow .2s;width:100%}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#1c1c4c,#040456);box-shadow:0 4px 12px #1c1c4c59;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fee2e2;color:#dc2626}.error-message,.success-message{border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px}.success-message{background:#dcfce7;color:#16a34a}.login-back-link{background:none;border:none;color:#040456;cursor:pointer;font-size:13px;margin-top:8px;padding:0;text-decoration:underline}.login-back-link:hover{color:#1c1c4c}.login-footer{color:#6b7280;font-size:12px;margin-top:20px;text-align:center}.signup-box{max-width:480px}.step-indicator{margin-top:16px}.step,.step-indicator{align-items:center;display:flex;justify-content:center}.step{background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:14px;font-weight:600;height:32px;transition:all .3s;width:32px}.step.active{background:#040456;color:#fff}.step-line{background:#e5e7eb;height:2px;margin:0 8px;width:60px}.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group select:focus{border-color:#1c1c4c;box-shadow:0 0 0 3px #14b8a61a;outline:none}.form-section-title{border-bottom:1px solid #e5e7eb;color:#040456;font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.form-actions-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:10px}.login-btn.secondary{background:#f3f4f6;color:#374151}.login-btn.secondary:hover:not(:disabled){background:#e5e7eb;box-shadow:none;transform:none}@media (max-width:480px){.form-actions-row,.form-row{grid-template-columns:1fr}.signup-box{padding:24px}}.dashboard{padding:0}.dashboard-hero{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c);border-radius:16px;box-shadow:0 4px 20px #1c1c4c4d;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;overflow:hidden;padding:40px;position:relative}.dashboard-hero:before{background-image:url(https://images.unsplash.com/photo-1576091160550-2173cba13d5f?w=800&h=600&fit=crop);background-position:50%;background-size:cover;content:"";height:100%;opacity:.2;position:absolute;right:0;top:0;width:50%;z-index:0}.dashboard-hero:after{background:radial-gradient(180% 88% at -12% 18%,#0000 63%,#ffffff1a 64%,#0000 65%) 0 0 /320px 140px repeat,radial-gradient(180% 88% at 112% 48%,#0000 63%,#ffffff14 64%,#0000 65%) 0 0 /360px 160px repeat;content:"";inset:0;opacity:.32;pointer-events:none;position:absolute;z-index:0}.dashboard-hero-content{flex:1 1;position:relative;z-index:1}.dashboard-title{color:#fff;font-size:32px;font-weight:700;margin-bottom:10px}.dashboard-subtitle{color:#ffffffe6;font-size:16px;margin:0}.dashboard-hero-image{border-radius:50%;box-shadow:0 8px 24px #0003;display:none;height:90px;overflow:hidden;position:relative;width:90px;z-index:1}.dashboard-hero-image img{height:100%;object-fit:cover;width:100%}@media (min-width:768px){.dashboard-hero-image{display:block}.dashboard-title{font-size:36px}}.dashboard-loading{color:#6b7280;padding:40px;text-align:center}.dashboard-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:30px}@media (max-width:1024px){.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.dashboard-stats-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.stat-card{border-top:4px solid;box-shadow:0 1px 3px #0000001a;cursor:pointer;flex-direction:column;height:auto;max-height:120px;overflow:hidden;padding:0;position:relative;text-align:center;transition:transform .2s,box-shadow .2s,max-height .3s ease}.stat-card:hover{box-shadow:0 8px 20px #1c1c4c38;max-height:260px;transform:translateY(-2px) scale(1.02)}.stat-card-image{height:120px;overflow:hidden;position:relative;width:100%}.stat-card-image img{height:100%;object-fit:cover;opacity:.3;transition:opacity .3s;width:100%}.stat-card:hover .stat-card-image img{opacity:.5}.stat-card-image:after{background:linear-gradient(180deg,#0000 0,#e0e7ffd1);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.stat-header{align-items:center;display:flex;justify-content:center;margin-bottom:16px;padding:16px 24px 0}.stat-icon{display:inline-flex;font-size:24px;margin-right:12px}.stat-icon-svg{stroke:#111827;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:22px;width:22px}.stat-icon-text{color:#111827;font-size:22px;font-weight:700}.stat-title{color:#6b7280;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:normal;word-break:break-word}.stat-value{font-size:32px;font-size:clamp(22px,3vw,32px);margin-bottom:8px;padding:0 24px}.stat-subtitle,.stat-value{text-align:center;white-space:normal;word-break:break-word}.stat-subtitle{color:#9ca3af;font-size:13px;padding:0 24px 24px}.dashboard-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.recent-section{background:linear-gradient(180deg,#fff 0,#e0e7ff);border:1px solid #dbeafe;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.recent-section h2{color:#040456;font-size:18px;font-weight:600;margin-bottom:20px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:center;background:#e0e7ff;border-left:3px solid #0000;border-radius:8px;display:flex;padding:16px;transition:background .2s}.activity-item:hover{background:#dbeafe;border-left-color:#1c1c4c}.activity-icon{font-size:24px;margin-right:16px}.activity-details{flex:1 1}.activity-title{color:#1f2937;font-weight:600;margin-bottom:4px}.activity-meta{color:#6b7280;font-size:13px}.activity-amount,.activity-status{border-radius:6px;font-size:12px;font-weight:600;padding:4px 12px}.activity-status{text-transform:capitalize}.status-scheduled{color:#1c1c4c}.status-completed{background:#e0e7ff}.status-cancelled{background:#fee2e2;color:#991b1b}.activity-amount{background:#e0e7ff;color:#1c1c4c}.stat-card[data-color="#040456"]{background-color:#dbeafe}.stat-card[data-color="#f59e0b"]{background-color:#fffbeb}.stat-card[data-color="#8b5cf6"]{background-color:#ede9fe}.stat-card[data-color="#ef4444"]{background-color:#fee2e2}.stat-card[data-color="#1c1c4c"]{background-color:#e0e7ff}.no-data{padding:20px}.patient-quick-links{grid-column:1/-1}.quick-links-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.quick-link-card{align-items:center;background:#e0e7ff;border:2px solid #0000;border-radius:12px;color:#040456;display:flex;flex-direction:column;justify-content:center;padding:24px 16px;position:relative;text-decoration:none;transition:all .2s}.quick-link-card:hover{background:#dbeafe;border-color:#040456;transform:translateY(-2px)}.quick-link-card:after{background:#fff;border:1px solid #dbeafe;border-radius:8px;bottom:calc(100% + 10px);box-shadow:0 8px 20px #1c1c4c29;color:#1c1c4c;content:attr(data-helper);font-size:12px;left:50%;line-height:1.35;max-width:300px;min-width:210px;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%) translateY(4px);transition:opacity .16s ease,transform .16s ease;visibility:hidden;z-index:20}.quick-link-card:focus-visible:after,.quick-link-card:hover:after{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.quick-link-icon{font-size:32px;margin-bottom:12px}.quick-link-text{font-size:14px;font-weight:600;text-align:center}@media (max-width:768px){.dashboard-content,.dashboard-stats-grid{grid-template-columns:1fr}.quick-links-grid{grid-template-columns:repeat(2,1fr)}}.page-container{padding:0}.page-header{margin-bottom:30px}.page-header h1{color:#040456;font-size:28px;font-weight:700}.btn-primary{background:linear-gradient(135deg,#040456,#1c1c4c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.btn-primary:hover{background:linear-gradient(135deg,#1c1c4c,#040456);box-shadow:0 4px 12px #1c1c4c59;transform:translateY(-2px)}.btn-secondary{background:#e5e7eb;border:none;border-radius:8px;color:#374151;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.btn-secondary:hover{background:#d1d5db}.btn-cancel-small{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.btn-cancel-small:hover{background:#fecaca}.muted{color:#9ca3af}.table-container{background:linear-gradient(180deg,#fff 0,#e0e7ff);border:1px solid #dbeafe;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-height:70vh;overflow-x:auto;overflow-y:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:linear-gradient(135deg,#e0e7ff,#dbeafe)}.data-table th{color:#374151;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.data-table td{border-top:1px solid #e5e7eb;color:#1f2937;padding:16px}.data-table tbody tr:hover{background:#e0e7ff}.badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.badge-scheduled{background:#dbeafe;color:#1c1c4c}.badge-completed{background:#e0e7ff;color:#1c1c4c}.badge-cancelled{background:#fee2e2;color:#991b1b}.badge-pending{background:#fef3c7;color:#92400e}.badge-paid{background:#e0e7ff;color:#1c1c4c}.no-data{color:#9ca3af;font-style:italic}.loading,.no-data{padding:40px;text-align:center}.loading{color:#6b7280}.global-loading-overlay{align-items:center;background:#f9fafb99;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:9999px;border-top-color:#040456;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{bottom:20px;display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;z-index:2100}.toast{align-items:flex-start;background:#111827;border-radius:8px;box-shadow:0 10px 25px #00000040;color:#f9fafb;display:flex;font-size:14px;justify-content:space-between;max-width:320px;min-width:260px;padding:12px 16px}.toast-success{border-left:4px solid #040456}.toast-error{border-left:4px solid #ef4444}.toast-content{flex:1 1;padding-right:8px}.toast-title{font-weight:600;margin-bottom:4px}.toast-message{font-size:13px}.toast-close{background:#0000;border:none;color:#9ca3af;cursor:pointer;font-size:16px;line-height:1}.confirm-toast-container{bottom:20px;position:fixed;right:20px;z-index:2200}.confirm-toast{background:#111827;border-left:4px solid #040456;border-radius:10px;box-shadow:0 10px 25px #00000040;color:#f9fafb;max-width:380px;min-width:320px;padding:12px 16px}.confirm-toast-content{margin-bottom:10px}.confirm-toast-title{font-weight:700;margin-bottom:4px}.confirm-toast-message{color:#e5e7eb;font-size:13px;line-height:1.4}.confirm-toast-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-toast-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.confirm-toast-btn.secondary{background:#374151;color:#f9fafb}.confirm-toast-btn.secondary:hover{background:#4b5563}.confirm-toast-btn.primary{background:linear-gradient(135deg,#040456,#1c1c4c);color:#fff}.confirm-toast-btn.primary:hover{background:linear-gradient(135deg,#1c1c4c,#040456)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-width:500px;padding:30px;width:90%}.modal-content-scroll{max-height:80vh;overflow-y:auto}.modal-content-wide{max-height:90vh;max-width:720px;overflow-y:auto}.password-toggle-button{background:#0000;border:none;color:#040456;cursor:pointer;font-size:13px;font-weight:500;padding:0 4px;white-space:nowrap}.password-toggle-button:hover{color:#1c1c4c;text-decoration:underline}.modal-content h2{color:#040456;font-size:24px;font-weight:700;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1c1c4c;box-shadow:0 0 0 3px #1c1c4c1f;outline:none}.form-readonly{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:14px;padding:12px}.form-help{color:#6b7280;font-size:14px;margin:0;padding:8px 0}.form-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.form-section{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px}.form-section h3{color:#040456;font-size:14px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.action-buttons{flex-wrap:wrap;gap:8px}.btn-edit-small{background:#dbeafe;border:1px solid #93c5fd;border-radius:6px;color:#1d4ed8;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.btn-edit-small:hover{background:#bfdbfe}.btn-history-small{background:#e0e7ff;border:1px solid #bfdbfe;border-radius:6px;color:#1c1c4c;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.btn-history-small:hover{background:#dbeafe}.patient-history{display:flex;flex-direction:column;gap:24px}.history-section h3{color:#374151;font-size:16px;margin-bottom:12px}.history-table-wrap{overflow-x:auto}.history-table-wrap .data-table{margin-bottom:0}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.appointment-notes-view{max-height:60vh;overflow-y:auto}.appointment-notes-view .notes-meta{color:#6b7280;font-size:14px;margin-bottom:16px}.appointment-notes-view .notes-block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:12px}.appointment-notes-view .notes-block strong{color:#374151;display:block;font-size:14px;margin-bottom:8px}.appointment-notes-view .notes-field{margin-bottom:12px}.appointment-notes-view .notes-field:last-child{margin-bottom:0}.appointment-notes-view .notes-field strong{color:#6b7280;display:block;font-size:12px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.appointment-notes-view .notes-block>p,.appointment-notes-view .notes-field p{color:#111827;line-height:1.5;margin:0;white-space:pre-wrap}.role-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease}.role-badge:hover{transform:translateY(-1px)}.page-header{flex-wrap:wrap;gap:16px;justify-content:space-between}.header-left,.page-header{align-items:center;display:flex}.header-left{gap:12px}.header-left h1{margin:0}.header-actions{align-items:center;display:flex;gap:16px}.view-toggle{background:#f3f4f6}.toggle-btn{color:#6b7280}.toggle-btn:hover{color:#374151}.toggle-btn svg{height:18px;width:18px}.cell-with-badge{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.type-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.type-badge.type-consultation{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.type-badge.type-follow-up{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.type-badge.type-emergency{animation:pulse-emergency 2s infinite;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}@keyframes pulse-emergency{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.calendar-container{background:linear-gradient(180deg,#fff 0,#e0e7ff);border:1px solid #dbeafe;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.calendar-header{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.calendar-title{font-size:20px;font-weight:600;margin:0}.calendar-nav{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.calendar-nav:hover{background:#ffffff4d;transform:scale(1.05)}.calendar-grid{grid-gap:1px;background:#e5e7eb;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day-header{background:#f9fafb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:center;text-transform:uppercase}.calendar-day{background:#fff;min-height:100px;padding:8px;position:relative;transition:background .2s ease}.calendar-day:hover{background:#e0e7ff}.calendar-day.empty{background:#f9fafb}.calendar-day.today{background:linear-gradient(135deg,#e0e7ff,#dbeafe)}.calendar-day.today .day-number{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c);border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.calendar-day.has-appointments{border-left:3px solid #040456}.day-number{color:#374151;font-size:14px;font-weight:600;margin-bottom:6px}.day-appointments{display:flex;flex-direction:column;gap:4px}.calendar-appointment{border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-size:11px;padding:4px 6px;transition:transform .2s ease,box-shadow .2s ease}.calendar-appointment:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(2px)}.calendar-appointment.type-consultation{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left:2px solid #3b82f6}.calendar-appointment.type-follow-up{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:2px solid #f59e0b}.calendar-appointment.type-emergency{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:2px solid #ef4444}.apt-time{color:#374151;font-weight:600}.apt-patient{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-appointments{color:#040456;font-size:11px;font-weight:500;padding:2px 4px;text-align:center}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.availability-status{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:16px;padding:12px 16px;transition:all .3s ease}.availability-status.checking{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.availability-status.available{background:linear-gradient(135deg,#e0e7ff,#bfdbfe);border:1px solid #1c1c4c;color:#1c1c4c}.availability-status.unavailable{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #f87171;color:#991b1b}.status-icon{border-radius:50%;flex-shrink:0;height:12px;width:12px}.status-icon.checking{animation:pulse-check 1.5s infinite;background:#9ca3af}.status-icon.available{background:#1c1c4c;box-shadow:0 0 0 3px #1c1c4c33}.status-icon.unavailable{background:#ef4444;box-shadow:0 0 0 3px #ef444433}@keyframes pulse-check{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.badge-no-show{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column}.header-actions{justify-content:space-between;width:100%}.view-toggle{flex:1 1}.toggle-btn{flex:1 1;justify-content:center}.calendar-day{min-height:80px;padding:4px}.calendar-appointment{font-size:10px;padding:2px 4px}.form-row{grid-template-columns:1fr}.cell-with-badge{align-items:flex-start;flex-direction:column;gap:4px}}@keyframes slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-appointment{animation:slide-in .3s ease}.data-table tbody tr{transition:all .2s ease}.data-table tbody tr:hover{background:linear-gradient(90deg,#e0e7ff,#fff);transform:scale(1.005)}.btn-primary:disabled{background:linear-gradient(135deg,#9ca3af,#d1d5db);cursor:not-allowed}.btn-primary:disabled,.btn-primary:disabled:hover{box-shadow:none;transform:none}.actions-cell{align-items:center;display:flex;gap:8px}.btn-action{border:none;font-weight:600;padding:6px 12px;transition:all .2s ease}.btn-start{background:linear-gradient(135deg,#040456,#1c1c4c);color:#fff}.btn-start:hover{box-shadow:0 4px 12px #1c1c4c4d;transform:translateY(-1px)}.btn-continue{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.btn-continue:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-action.btn-view{background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff}.btn-action.btn-view:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.badge-in-progress{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.consultation-modal{display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:95%}.consultation-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.patient-info-header h2{margin:0 0 8px}.patient-details{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.patient-name{color:#1f2937;font-size:16px;font-weight:600}.patient-id{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:13px;padding:2px 8px}.close-btn{color:#9ca3af;transition:color .2s}.close-btn:hover{color:#374151}.consultation-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:20px;padding-bottom:0}.tab-btn{padding:10px 20px;transition:all .2s ease}.consultation-body{flex:1 1;overflow-y:auto;padding:4px 0}.files-tab,.notes-tab,.prescriptions-tab,.vitals-tab{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vitals-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.file-upload-section{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.upload-btn{white-space:nowrap}.file-hint{color:#6b7280;font-size:12px}.files-list{display:flex;flex-direction:column;gap:8px}.file-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s}.file-item:hover{border-color:#040456;box-shadow:0 2px 8px #1c1c4c1a}.file-info{align-items:center;display:flex;gap:12px}.file-icon{font-size:24px}.file-details{display:flex;flex-direction:column}.file-name{color:#1f2937;font-weight:500}.file-meta{color:#6b7280;font-size:12px}.btn-download{background:linear-gradient(135deg,#040456,#1c1c4c);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.btn-download:hover{box-shadow:0 4px 12px #1c1c4c4d;transform:translateY(-1px)}.no-files,.no-prescriptions{background:#f9fafb;border-radius:8px;color:#6b7280;padding:40px 20px;text-align:center}.create-prescription-btn{margin-bottom:20px}.prescriptions-list{gap:12px}.prescription-card{background:#fff;transition:all .2s}.prescription-card:hover{border-color:#040456;box-shadow:0 4px 12px #00000014}.rx-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.rx-number{color:#1f2937;font-size:16px;font-weight:700}.rx-status{border-radius:20px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.status-active{color:#1e40af}.status-pending-payment{background:#fef3c7;color:#92400e}.status-ready-for-dispensing{background:#e0e7ff;color:#1c1c4c}.status-dispensed{background:#e5e7eb;color:#374151}.rx-medicines{gap:8px;margin-bottom:12px}.rx-medicine,.rx-medicines{display:flex;flex-direction:column}.rx-medicine{background:#f9fafb;border-radius:6px;padding:8px 12px}.med-name{color:#1f2937;font-weight:500}.med-dosage{color:#6b7280;font-size:12px}.rx-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding-top:12px}.rx-total{color:#040456;font-weight:700}.rx-date{color:#6b7280;font-size:12px}.consultation-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.btn-complete{background:linear-gradient(135deg,#040456,#1c1c4c)}.btn-complete:hover{box-shadow:0 4px 16px #1c1c4c4d}.prescription-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:95%}.prescription-patient{background:#e0e7ff;border-radius:8px;color:#040456;margin-bottom:20px;padding:12px 16px}.add-medicine-section{background:#f9fafb;border-radius:12px;margin-bottom:24px;padding:20px}.add-medicine-section h4{color:#374151;margin:0 0 16px}.medicine-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:16px}.btn-add-med{width:100%}.medicines-list{margin-bottom:20px}.medicines-list h4{color:#374151;margin:0 0 12px}.medicines-table td,.medicines-table th{border-bottom:1px solid #e5e7eb;padding:10px 12px;text-align:left}.medicines-table tbody tr:hover{background:#e0e7ff}.medicines-table tfoot td{background:#e0e7ff;border-top:2px solid #040456;font-weight:700}.btn-remove{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#991b1b;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;transition:all .2s;width:24px}.btn-remove:hover{background:#fecaca;transform:scale(1.1)}@media (max-width:768px){.consultation-modal,.prescription-modal{margin:10px;max-height:95vh;max-width:100%}.consultation-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-btn{padding:10px 12px;white-space:nowrap}.vitals-grid{grid-template-columns:1fr 1fr}.medicine-form-grid{grid-template-columns:1fr}.file-upload-section{flex-direction:column;text-align:center}.actions-cell{flex-direction:column;gap:4px}.btn-action{text-align:center;width:100%}}.beds-page{display:flex;flex-direction:column;gap:24px}.page-subtitle{color:#6b7280;font-size:14px;margin-top:4px}.beds-header-actions{align-items:center;display:flex;gap:10px}.beds-header-actions .btn-primary,.beds-header-actions .btn-secondary{align-items:center;display:flex;gap:6px;padding:10px 18px}.beds-header-actions svg{height:16px;width:16px}.beds-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.beds-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.beds-stats-grid{grid-template-columns:1fr}}.beds-stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000012;display:flex;gap:16px;padding:20px 24px}.beds-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.beds-stat-icon svg{height:24px;width:24px}.beds-stat-total .beds-stat-icon{background:#f0fdfa;color:#040456}.beds-stat-occupied .beds-stat-icon{background:#eff6ff;color:#3b82f6}.beds-stat-available .beds-stat-icon{background:#f0fdf4;color:#16a34a}.beds-stat-maintenance .beds-stat-icon{background:#fff7ed;color:#ea580c}.beds-stat-value{color:#111827;font-size:26px;font-weight:700;line-height:1}.beds-stat-label{color:#6b7280;font-size:13px;margin-top:4px}.beds-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000012;overflow:hidden}.beds-section-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:18px 24px}.beds-section-header h2{color:#111827;font-size:16px;font-weight:700;margin:0}.beds-section-sub{color:#9ca3af;font-size:13px}.wards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);padding:20px 24px}@media (max-width:900px){.wards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.wards-grid{grid-template-columns:1fr}}.ward-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;padding:16px;transition:box-shadow .2s}.ward-card:hover{box-shadow:0 2px 8px #00000014}.ward-card-high{background:#fff7ed;border-color:#fed7aa}.ward-card-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.ward-name{color:#111827;flex:1 1;font-size:14px;font-weight:600}.ward-floor{background:#f3f4f6;border-radius:20px;color:#9ca3af;font-size:11px;padding:2px 8px}.ward-alert-icon{color:#ea580c}.ward-alert-icon svg{height:16px;width:16px}.ward-progress-label{color:#6b7280;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.rate-high{color:#ea580c;font-weight:600}.ward-progress-bar{background:#e5e7eb;border-radius:999px;height:8px;margin-bottom:8px;overflow:hidden}.ward-progress-fill{background:linear-gradient(90deg,#040456,#1c1c4c);border-radius:999px;height:100%;transition:width .4s ease}.ward-progress-fill.fill-high{background:linear-gradient(90deg,#dc2626,#ea580c)}.ward-progress-footer{color:#9ca3af;display:flex;font-size:11px;justify-content:space-between}.beds-filters-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #00000012;display:flex;flex-direction:column;gap:12px;padding:16px 20px}.beds-filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.beds-search-wrap{flex:1 1;min-width:200px;position:relative}.beds-search-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.beds-search-icon svg{height:16px;width:16px}.beds-search-input{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#374151;font-size:14px;outline:none;padding:10px 12px 10px 38px;transition:border-color .2s;width:100%}.beds-search-input:focus{border-color:#040456}.beds-filter-chips,.beds-ward-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#fff;border:1px solid #e5e7eb;border-radius:20px;color:#6b7280;cursor:pointer;font-size:12px;font-weight:500;padding:5px 14px;transition:all .15s}.chip-active,.chip:hover{border-color:#040456;color:#040456}.chip-active{background:#f0fdfa}.chip-available.chip-active-available{background:#f0fdf4;border-color:#16a34a;color:#16a34a}.chip-occupied.chip-active-occupied{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.chip-maintenance.chip-active-maintenance{background:#fff7ed;border-color:#ea580c;color:#ea580c}.chip-reserved.chip-active-reserved{background:#f5f3ff;border-color:#8b5cf6;color:#8b5cf6}.beds-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding:20px 24px}@media (max-width:1100px){.beds-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:780px){.beds-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.beds-grid{grid-template-columns:1fr}}.bed-card{border:1.5px solid;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:box-shadow .2s,transform .2s}.bed-card:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-1px)}.bed-status-available{background:#f0fdf4;border-color:#86efac;color:#166534}.bed-status-occupied{background:#eff6ff;border-color:#93c5fd;color:#1e3a5f}.bed-status-maintenance{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}.bed-status-reserved{background:#f5f3ff;border-color:#c4b5fd;color:#4c1d95}.bed-card-top{align-items:center;display:flex;justify-content:space-between}.bed-number{font-family:monospace;font-size:14px;font-weight:700}.bed-status-badge{background:#fff9;border:1px solid #00000014;border-radius:20px;font-size:11px;font-weight:600;padding:2px 10px;text-transform:capitalize}.bed-ward-name{font-size:11px;opacity:.7}.bed-patient-info{border-top:1px solid #0000001a;display:flex;flex:1 1;flex-direction:column;gap:3px;padding-top:10px}.bed-patient-name{font-size:13px;font-weight:600}.bed-patient-sub{font-size:11px;opacity:.75}.bed-condition-tag{background:#fff6;border:1px solid #0000001a;border-radius:20px;display:inline-block;font-size:11px;font-weight:500;margin-top:6px;padding:2px 10px;width:-webkit-fit-content;width:fit-content}.bed-empty-body{align-items:center;border-top:1px solid #00000014;display:flex;flex:1 1;justify-content:center;opacity:.2;padding-top:12px}.bed-empty-body svg{height:32px;width:32px}.bed-card-actions{border-top:1px solid #00000014;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;padding-top:10px}.bed-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:11px;font-weight:600;padding:5px 8px;transition:opacity .15s;white-space:nowrap}.bed-btn:hover{opacity:.85}.bed-btn-admit{background:#040456;color:#fff}.bed-btn-discharge{background:#3b82f6;color:#fff}.bed-btn-status{background:#0000001a;color:inherit}.bed-btn-delete{background:#fee2e2;color:#991b1b}.beds-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 24px}.beds-empty svg{height:48px;opacity:.3;width:48px}.beds-empty p{font-size:15px}.modal-wide{max-width:600px!important}.modal-narrow{max-width:420px!important}.modal-bed-id{color:#040456}.modal-sub{color:#6b7280;font-size:13px;margin:-10px 0 16px}.modal-confirm-body{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px}.modal-confirm-body p{color:#374151;margin:4px 0}.form-row-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:520px){.form-row-2{grid-template-columns:1fr}}.btn-danger{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.view-toggle{background:#b8b3b3;border-radius:10px;display:flex;gap:4px;padding:4px}.toggle-btn{align-items:center;background:#0000;border-radius:8px;color:#111827;display:flex;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.toggle-btn:hover{background:#ffffff80}.toggle-btn.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#040456}.prescriptions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.prescription-card-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.prescription-card-item:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.prescription-card-item.active{border-left:4px solid #3b82f6}.prescription-card-item.completed{border-left:4px solid #1c1c4c}.prescription-card-item.cancelled{border-left:4px solid #6b7280;opacity:.8}.prescription-card-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px}.prescription-date-badge{display:flex;flex-direction:column}.prescription-day{color:#040456;font-size:24px;font-weight:700;line-height:1}.prescription-month{color:#6b7280;font-size:12px}.prescription-status-badge{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.prescription-card-body{padding:16px}.prescription-doctor-info{align-items:center;display:flex;gap:12px;margin-bottom:16px}.doctor-icon{font-size:24px}.prescription-doctor-info div{display:flex;flex-direction:column}.prescription-doctor-info strong{color:#1f2937}.prescription-doctor-info span{color:#6b7280;font-size:13px}.prescription-diagnosis-box{background:#dbeafe;border-radius:8px;color:#1e40af;font-size:14px;margin-bottom:16px;padding:12px}.prescription-medicines-preview ul{margin:8px 0 0 16px;padding:0}.prescription-medicines-preview li{color:#374151;font-size:14px;margin-bottom:4px}.more-medicines{color:#6b7280;font-style:italic}.prescription-card-footer{text-align:center}.view-details-btn{background:none;border:none;border-radius:6px;color:#040456;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .2s}.view-details-btn:hover{background:#f0fdfa}.no-prescriptions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 20px;text-align:center}.no-prescriptions-icon{font-size:64px;margin-bottom:16px}.no-prescriptions h3{color:#374151;margin-bottom:8px}.no-prescriptions p{color:#6b7280}.prescription-detail-modal{max-height:80vh;max-width:600px;overflow-y:auto}.modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h2{color:#1f2937;font-size:18px;margin:0}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:28px;line-height:1;padding:0}.close-btn:hover{color:#1f2937}.prescription-detail-content{padding:20px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{border-bottom:1px solid #e5e7eb;color:#040456;margin-bottom:12px;padding-bottom:8px}.detail-row{border-bottom:1px dashed #e5e7eb;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500}.diagnosis-text{background:#dbeafe;color:#1e40af}.diagnosis-text,.notes-text{border-radius:8px;margin:0;padding:12px}.notes-text{background:#f3f4f6;color:#374151;font-style:italic}.medicines-detail-list{display:flex;flex-direction:column;gap:16px}.medicine-detail-item{background:#f9fafb;border-left:4px solid #040456;border-radius:8px;padding:16px}.medicine-name{margin-bottom:12px}.medicine-name strong{color:#1f2937;font-size:16px}.medicine-brand{color:#6b7280;font-size:14px;margin-left:8px}.medicine-info-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.medicine-info{display:flex;flex-direction:column}.medicine-info .info-label{color:#6b7280;font-size:12px;text-transform:uppercase}.medicine-info span:not(.info-label){color:#1f2937;font-weight:500}.medicine-instructions{border-top:1px dashed #e5e7eb;margin-top:12px;padding-top:12px}.medicine-instructions .info-label{color:#6b7280;display:block;font-size:12px;margin-bottom:4px;text-transform:uppercase}.medicine-instructions p{color:#374151;font-size:14px;margin:0}.status-completed{background:#d1fae5}.prescription-number{font-size:13px}.prescription-number,.rx-number{color:#040456;font-family:monospace;font-weight:600}.prescription-cost{align-items:center;background:#f0fdfa;border-radius:8px;display:flex;justify-content:space-between;margin-top:16px;padding:12px}.prescription-cost span{color:#6b7280}.cost-value,.prescription-cost strong{color:#040456;font-size:18px}.cost-value{font-weight:700}.cost-cell{color:#040456;font-weight:600}.cost-highlight{color:#040456;font-size:16px;font-weight:700}.prescription-payment-status{align-items:center;border-top:1px dashed #e5e7eb;display:flex;gap:12px;margin-top:12px;padding-top:12px}.payment-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px}.invoice-number{color:#6b7280;font-size:12px}.prescription-card-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.prescription-date{font-size:12px}.status-badge-inline{font-size:12px}.status-badge,.status-badge-inline{border-radius:12px;display:inline-block;font-weight:600;padding:4px 12px}.status-badge{font-size:11px;white-space:nowrap}.filter-tabs{background:#f3f4f6;border-radius:10px;display:flex;gap:8px;padding:4px}.filter-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.filter-tab:hover{background:#ffffff80;color:#374151}.filter-tab.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#040456}.medicines-cell{font-size:12px}.medicine-mini{color:#374151;margin-bottom:4px}.medicine-more{color:#6b7280;font-style:italic}.invoice-cell{display:flex;flex-direction:column;gap:4px}.invoice-number-small{color:#6b7280;font-family:monospace;font-size:11px}.invoice-status{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;padding:2px 8px}.action-buttons{display:flex;gap:6px}.btn-action{border:1px solid;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .2s}.btn-action.view{background:#f0fdfa;border-color:#99f6e4;color:#040456}.btn-action.view:hover{background:#ccfbf1}.btn-action.download{background:#f3f4f6;border-color:#d1d5db;color:#374151}.btn-action.download:hover{background:#e5e7eb}.btn-action.dispense{background:#d1fae5;border-color:#a7f3d0;color:#065f46}.btn-action.dispense:hover{background:#a7f3d0}.detail-grid-2col{grid-gap:16px;background:#f9fafb;border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item .detail-label{color:#6b7280;font-size:11px;font-weight:600;text-transform:uppercase}.detail-item .detail-value{color:#1f2937;font-size:14px}.detail-item .detail-value small{color:#6b7280;font-weight:400}.medicine-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.medicine-price{color:#040456;font-size:15px;font-weight:600}.medicines-table{border-collapse:collapse;font-size:13px;width:100%}.medicines-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 12px;text-align:left}.medicines-table td{border-bottom:1px solid #e5e7eb;padding:12px;vertical-align:top}.medicines-table td strong{color:#1f2937;display:block}.medicines-table td small{display:block;font-size:11px;margin-top:4px}.stock-warning{color:#dc2626}.stock-ok{color:#1c1c4c}.medicines-table tfoot td{background:#f0fdfa;font-weight:600}.total-label{color:#374151;text-align:right}.total-value{color:#040456;font-size:16px}.dispense-section{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px}.payment-warning{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;display:flex;gap:16px;padding:16px}.warning-icon{font-size:24px}.payment-warning strong{color:#92400e;display:block;margin-bottom:8px}.payment-warning p{color:#78350f;font-size:14px;margin:4px 0}.dispense-confirmation{background:#f0fdfa;border-radius:8px;margin-top:16px;padding:16px}.dispense-confirmation p{color:#374151;font-weight:500;margin:0 0 12px}.dispense-confirmation ul{color:#6b7280;margin:0;padding-left:20px}.dispense-confirmation li{margin-bottom:4px}.prescription-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.dispense-btn{background:linear-gradient(135deg,#1c1c4c,#040456)}.dispense-btn:hover{background:linear-gradient(135deg,#040456,#1c1c4c)}@media (max-width:768px){.medicine-info-grid,.prescriptions-grid{grid-template-columns:1fr}.filter-tabs{flex-wrap:wrap}.detail-grid-2col{grid-template-columns:1fr}.action-buttons{flex-direction:column}.prescription-detail-modal{max-width:95%}.medicines-table{font-size:12px}.medicines-table td,.medicines-table th{padding:8px}}.my-profile-page{margin:0 auto;max-width:1200px;padding:20px}.profile-header{align-items:center;background:linear-gradient(135deg,#040456,#1c1c4c);border-radius:16px;color:#fff;display:flex;gap:24px;margin-bottom:24px;padding:30px}.profile-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;width:80px}.profile-info h1{font-size:28px;margin:0}.profile-info .patient-id{font-size:16px;margin:4px 0;opacity:.9}.profile-info .member-since{font-size:14px;margin:0;opacity:.7}.profile-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.stat-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;text-align:center}.stat-box .stat-number{color:#040456;display:block;font-size:28px;font-weight:700}.stat-box .stat-label{color:#6b7280;display:block;font-size:13px;margin-top:4px}.profile-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:0}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:#040456}.tab-btn.active{border-bottom-color:#040456;color:#040456}.tab-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.info-section{margin-bottom:32px}.info-section:last-child{margin-bottom:0}.info-section h3{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:18px;margin-bottom:16px;padding-bottom:8px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:#6b7280;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#1f2937;font-size:15px}.info-item .blood-group{background:#fee2e2;border-radius:20px;color:#dc2626;display:inline-block;font-weight:500;padding:4px 12px;width:-webkit-fit-content;width:fit-content}.no-data-text{color:#9ca3af;font-style:italic}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-item{background:#e0e7ff;border-left:4px solid #040456;border-radius:8px;gap:16px;padding:12px}.upcoming-date,.upcoming-item{align-items:center;display:flex}.upcoming-date{flex-direction:column;min-width:50px}.upcoming-date .day{color:#040456;font-size:24px;font-weight:700}.upcoming-date .month{color:#6b7280;font-size:12px;text-transform:uppercase}.upcoming-details strong{color:#1f2937;display:block}.upcoming-details span{color:#6b7280;font-size:13px}.appointment-section{margin-bottom:32px}.appointment-section h3{color:#1f2937;font-size:18px;margin-bottom:16px}.appointments-list{display:flex;flex-direction:column;gap:16px}.appointment-card{align-items:center;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:20px;padding:16px;transition:transform .2s,box-shadow .2s}.appointment-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.appointment-card.upcoming{background:#e0e7ff;border-color:#040456}.appointment-card.past{background:#f9fafb}.apt-date{align-items:center;background:#fff;border-radius:8px;display:flex;flex-direction:column;min-width:60px;padding:8px}.apt-day{color:#040456;font-size:28px;font-weight:700}.apt-month{color:#6b7280;font-size:11px;text-transform:uppercase}.apt-info{flex:1 1}.apt-info h4{color:#1f2937;margin:0 0 4px}.apt-info p{color:#6b7280;font-size:13px;margin:0}.apt-time{color:#374151!important;font-weight:500}.apt-reason{font-style:italic;margin-top:8px!important}.apt-status{border-radius:20px;font-size:12px;font-weight:500;padding:6px 16px}.medical-section{margin-bottom:32px}.medical-section h3{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:18px;margin-bottom:16px;padding-bottom:8px}.medical-history-list{display:flex;flex-direction:column;gap:16px}.medical-history-item{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:12px;display:flex;gap:16px;padding:16px}.condition-icon{align-items:center;background:#f59e0b;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.condition-details h4{color:#92400e;margin:0 0 4px}.diagnosis-date{color:#b45309;font-size:13px;margin:0}.condition-notes{color:#78350f;font-size:14px;margin-top:8px}.allergies-list{display:flex;flex-wrap:wrap;gap:8px}.allergy-tag{background:#fee2e2;border-radius:20px;color:#dc2626;font-size:14px;font-weight:500;padding:6px 16px}.prescriptions-list{display:flex;flex-direction:column;gap:16px}.prescription-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.prescription-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.prescription-date{color:#6b7280;font-size:14px}.prescription-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.prescription-doctor{margin-bottom:12px}.prescription-doctor strong{color:#1f2937;display:block}.prescription-doctor span{color:#6b7280;font-size:13px}.prescription-diagnosis{background:#dbeafe;border-radius:8px;font-size:14px;margin-bottom:12px;padding:8px 12px}.prescription-medicines{margin-bottom:12px}.prescription-medicines ul{margin:8px 0 0 20px;padding:0}.prescription-medicines li{color:#374151;font-size:14px;margin-bottom:4px}.prescription-notes{background:#f3f4f6;border-radius:8px;color:#6b7280;font-size:14px;margin-top:8px;padding:8px 12px}.billing-summary{grid-gap:16px;background:#e0e7ff;border-radius:12px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px;padding:20px}.billing-stat{text-align:center}.billing-label{color:#6b7280;display:block;font-size:13px;margin-bottom:4px}.billing-value{color:#1f2937;font-size:24px;font-weight:700}.billing-value.paid{color:#040456}.billing-value.outstanding{color:#ef4444}.billing-section{margin-bottom:32px}.billing-section h3{color:#1f2937;font-size:18px;margin-bottom:16px}.invoices-list{display:flex;flex-direction:column;gap:16px}.invoice-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px}.invoice-card.overdue,.invoice-card.pending{background:#fef3c7;border-color:#f59e0b}.invoice-card.paid{background:#dbeafe;border-color:#1c1c4c}.invoice-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.invoice-number{color:#1f2937;font-size:16px;font-weight:700}.invoice-status{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px}.invoice-details{display:flex;flex-direction:column;gap:8px}.invoice-row{display:flex;font-size:14px;justify-content:space-between}.invoice-row.balance{border-top:1px dashed #e5e7eb;color:#ef4444;font-weight:700;padding-top:8px}.invoice-items{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.invoice-items ul{margin:8px 0 0 20px;padding:0}.invoice-items li{color:#6b7280;font-size:13px}.status-scheduled{background:#dbeafe;color:#1d4ed8}.status-completed{background:#dbeafe;color:#1c1c4c}.status-cancelled{background:#f3f4f6;color:#6b7280}.status-no-show{background:#fee2e2;color:#dc2626}.status-active{background:#dbeafe;color:#1d4ed8}.status-paid{background:#dbeafe;color:#1c1c4c}.status-pending{background:#fef3c7;color:#b45309}.status-overdue{background:#fee2e2;color:#dc2626}.no-profile-message{padding:60px 20px;text-align:center}.no-profile-message h2{color:#6b7280;margin-bottom:12px}.no-profile-message p{color:#9ca3af}@media (max-width:768px){.profile-header{flex-direction:column;text-align:center}.profile-tabs{flex-wrap:nowrap}.tab-btn{font-size:13px;padding:10px 16px}.appointment-card{align-items:flex-start;flex-direction:column}.apt-date{flex-direction:row;gap:8px}.apt-day{font-size:20px}}.access-denied{background:#fee2e2;border-radius:12px;color:#991b1b;padding:60px 20px;text-align:center}.access-denied h2{margin-bottom:10px}.log-count{background:#e5e7eb;border-radius:20px;color:#6b7280;font-size:13px;margin-left:12px;padding:4px 12px}.export-btn{align-items:center;display:flex;gap:8px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;gap:16px;padding:20px}.stat-card,.stat-icon{align-items:center;display:flex;justify-content:center}.stat-icon{background:#0000;height:50px;width:50px}.stat-icon.total{color:#1e40af}.stat-icon.today{color:#065f46}.stat-icon.actions{color:#92400e}.stat-content{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-value{color:#1f2937;font-size:24px;font-weight:700}.stat-label{color:#6b7280;font-size:13px}.filters-section{background:#f9fafb;border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase}.filter-group input,.filter-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:140px;padding:8px 12px}.filter-group input:focus,.filter-group select:focus{border-color:#0d9488;box-shadow:0 0 0 2px #0d94881a;outline:none}.search-group{flex:1 1;min-width:200px}.search-group input{width:100%}.audit-table .timestamp{color:#6b7280;font-size:13px;white-space:nowrap}.role-tag{border-radius:12px;color:#fff;padding:3px 10px}.action-badge,.role-tag{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase}.action-badge{border-radius:6px;padding:4px 10px;white-space:nowrap}.resource-type{color:#374151;display:block;font-weight:600}.resource-name{color:#6b7280;display:block;font-size:12px;margin-top:2px}.description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-view{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:12px;padding:4px 12px;transition:all .2s}.btn-view:hover{background:#e5e7eb}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px;padding:16px}.pagination button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:8px 16px;transition:all .2s}.pagination button:hover:not(:disabled){background:#f3f4f6}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:#6b7280;font-size:14px}.detail-modal{max-width:700px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.detail-row{display:flex;flex-direction:column;gap:4px}.detail-row.full-width{grid-column:1/-1}.detail-label{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase}.detail-value{color:#1f2937;font-size:14px}.json-display{background:#1f2937;border-radius:8px;color:#e5e7eb;font-size:12px;max-height:200px;overflow-x:auto;overflow-y:auto;padding:12px}@media (max-width:768px){.filters-section{flex-direction:column}.filter-group,.filter-group input,.filter-group select{width:100%}.detail-grid,.stats-grid{grid-template-columns:1fr}.audit-table{font-size:13px}.description{max-width:150px}}.layout{height:100vh}.layout,.sidebar{display:flex;overflow:hidden}.sidebar{background:linear-gradient(180deg,#040456,#1c1c4c);box-shadow:2px 0 10px #0000001a;color:#fff;flex-direction:column;position:relative;transition:width .3s ease;width:250px}.sidebar:after,.sidebar:before{content:"";inset:0;pointer-events:none;position:absolute}.sidebar:before{background:radial-gradient(140% 80% at -10% 12%,#0000 62%,#ffffff14 63%,#0000 64%) 0 0 /240px 110px repeat-y,radial-gradient(140% 80% at -10% 42%,#0000 62%,#ffffff0f 63%,#0000 64%) 0 0 /280px 130px repeat-y;opacity:.34}.sidebar:after{background:radial-gradient(140% 80% at 110% 28%,#0000 63%,#ffffff0f 64%,#0000 65%) 100% 0 /260px 120px repeat-y;opacity:.28}.sidebar>*{position:relative;z-index:1}.sidebar.closed{width:70px}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:20px}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{gap:12px}.sidebar-logo-img{height:40px;max-width:120px;object-fit:contain;width:auto}.sidebar-header h2{font-size:18px;font-weight:600;margin:0;overflow:hidden;white-space:nowrap}.toggle-btn{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:5px 10px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:20px 0}.nav-item{align-items:center;border-left:3px solid #0000;color:#ffffffe6;display:flex;padding:12px 20px;text-decoration:none;transition:all .3s ease}.nav-item:hover{background:#ffffff1a;border-left-color:#fff}.nav-item.active{background:#fff3;border-left-color:#fff;font-weight:600}.nav-icon{font-size:20px;margin-right:12px;min-width:24px;position:relative}.nav-icon-svg{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:20px;width:20px}.nav-label{overflow:hidden;white-space:nowrap}.nav-badge{background:#040456;border:2px solid #ffffff40;border-radius:999px;color:#fff;font-size:11px;font-weight:700;line-height:1;padding:2px 7px;position:absolute;right:-10px;top:-8px}.sidebar.closed .nav-label{display:none}.sidebar-footer{border-top:1px solid #ffffff1a;padding:20px}.user-info{margin-bottom:10px}.user-name{display:block;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{display:block;font-size:12px;opacity:.8;text-transform:capitalize}.logout-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px;transition:all .3s ease;width:100%}.logout-btn:hover{background:#ffffff4d}.main-content{background:#fff;flex:1 1;overflow-y:auto}.content-wrapper{margin:0 auto;max-width:1400px;padding:30px}@media (max-width:768px){.sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:1000}.sidebar.open{transform:translateX(0)}.main-content{width:100%}}
/*# sourceMappingURL=main.ccaca821.css.map*/