@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{background-color:var(--bg-secondary);display:grid;grid-template-columns:5fr 6fr;min-height:100vh}.login-brand-panel{align-items:center;background:linear-gradient(160deg,var(--brand-dark) 0,var(--brand-primary) 100%);display:flex;justify-content:center;overflow:hidden;padding:calc(var(--grid-unit)*6);position:relative}.login-brand-panel:before{background-image:linear-gradient(#ffffff0d 1px,#0000 0),linear-gradient(90deg,#ffffff0d 1px,#0000 0);background-size:32px 32px;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at 30% 30%,#000,#0000 75%);mask-image:radial-gradient(circle at 30% 30%,#000,#0000 75%);position:absolute}.login-brand-content{color:#fff;max-width:380px;position:relative;z-index:1}.login-brand-mark{align-items:center;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:var(--radius-md);color:var(--brand-accent);display:flex;height:44px;justify-content:center;margin-bottom:calc(var(--grid-unit)*3);width:44px}.login-brand-title{font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:calc(var(--grid-unit)*1.5)}.login-brand-tagline{color:#ffffffb8;font-size:.9375rem;font-weight:400;line-height:1.6}.login-pulse-wrap{color:var(--brand-accent);margin:calc(var(--grid-unit)*5) 0;opacity:.85}.login-pulse-line{display:block;height:56px;width:100%}.login-brand-footnote{align-items:center;border-top:1px solid #ffffff1f;color:#fff9;display:flex;font-size:.8125rem;font-weight:500;gap:calc(var(--grid-unit)*1);padding-top:calc(var(--grid-unit)*3)}.login-form-panel{align-items:center;background-color:var(--bg-primary);display:flex;justify-content:center;padding:calc(var(--grid-unit)*4)}.login-card{max-width:380px;width:100%}.login-header{margin-bottom:calc(var(--grid-unit)*4)}.login-eyebrow{color:var(--brand-accent);display:inline-block;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin-bottom:calc(var(--grid-unit)*1.5);text-transform:uppercase}.login-title{color:var(--brand-dark);font-family:var(--font-display);font-size:1.625rem;font-weight:800;letter-spacing:-.02em;margin-bottom:calc(var(--grid-unit)*.75)}.login-subtitle{color:var(--text-muted);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:calc(var(--grid-unit)*2.5)}.form-group{gap:calc(var(--grid-unit)*.75)}.form-label-row{align-items:baseline;display:flex;justify-content:space-between}.form-label{color:var(--text-primary);font-size:.8125rem;font-weight:600;letter-spacing:.01em}.forgot-link{color:var(--brand-accent);font-size:.75rem;font-weight:600;text-decoration:none}.forgot-link:hover{text-decoration:underline}.input-wrapper{align-items:center;display:flex;width:100%}.input-icon{left:12px;pointer-events:none}.form-input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--brand-dark);font-size:.875rem;outline:none;padding:11px 12px;transition:all var(--transition-fast);width:100%}.form-input.has-icon{padding-left:36px}.form-input::placeholder{color:var(--text-muted);opacity:.7}.form-input:hover{border-color:var(--border-focus)}.form-input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #0ea5b726}.form-input:focus~.input-icon,.input-wrapper:focus-within .input-icon{color:var(--brand-accent)}.login-button{align-items:center;background-color:var(--brand-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:700;gap:8px;justify-content:center;margin-top:calc(var(--grid-unit)*.5);padding:12px;transition:all var(--transition-fast)}.login-button:hover:not(:disabled){background-color:var(--brand-primary-hover);box-shadow:0 6px 16px #0a4d8c40}.login-button:active:not(:disabled){transform:scale(.985)}.login-button:disabled{background-color:var(--text-muted);cursor:not-allowed;opacity:.6;transform:none}.error-message{align-items:center;background-color:#fef2f2;border:1px solid #fee2e2;border-radius:var(--radius-sm);color:#dc2626;display:flex;font-size:.8125rem;font-weight:500;margin-bottom:calc(var(--grid-unit)*1);padding:10px 12px;text-align:left}@media (max-width:900px){.login-container{grid-template-columns:1fr}.login-brand-panel{min-height:260px;padding:calc(var(--grid-unit)*5) calc(var(--grid-unit)*4) calc(var(--grid-unit)*4)}.login-brand-tagline{display:none}.login-pulse-wrap{margin:calc(var(--grid-unit)*3) 0 0}.login-brand-footnote{display:none}.login-form-panel{padding:calc(var(--grid-unit)*4) calc(var(--grid-unit)*3)}}@media (max-width:480px){.login-brand-title{font-size:1.5rem}}.dashboard{background-color:var(--bg-primary);margin:0 auto;max-width:1400px;min-height:calc(100vh - 64px);padding:calc(var(--grid-unit)*4)}.dashboard .dash-header{align-items:flex-end;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:calc(var(--grid-unit)*2);justify-content:space-between;margin-bottom:calc(var(--grid-unit)*4);padding-bottom:calc(var(--grid-unit)*3)}.dashboard .dash-header-text{align-items:flex-start;display:flex;flex-direction:column}.dashboard .dash-eyebrow{align-items:center;color:var(--brand-accent);display:inline-flex;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;gap:6px;letter-spacing:.08em;margin-bottom:calc(var(--grid-unit)*1);text-transform:uppercase}.dashboard .dash-eyebrow:before{background:var(--brand-accent);border-radius:50%;box-shadow:0 0 0 3px var(--info-light);content:"";height:6px;width:6px}.dashboard .dash-header-text h1{color:var(--brand-dark);font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:calc(var(--grid-unit)*.5)}.dashboard .dash-header-text p{color:var(--text-muted);font-size:.9375rem;font-weight:500}.dashboard .dash-date-badge{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-family:var(--font-mono);font-size:.8125rem;font-weight:500;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*1.75);white-space:nowrap}.dashboard .dash-stats-grid{grid-gap:calc(var(--grid-unit)*2.5);align-items:stretch;display:grid;gap:calc(var(--grid-unit)*2.5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:calc(var(--grid-unit)*5)}.dashboard .dash-stat-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:calc(var(--grid-unit)*2);padding:calc(var(--grid-unit)*2.5) calc(var(--grid-unit)*3);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.dashboard .dash-stat-card:hover{border-color:var(--border-focus);box-shadow:0 8px 20px -6px #0b1f3314}.dashboard .dash-stat-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.dashboard .dash-stat-icon--patients{background-color:var(--info-light);color:var(--brand-primary)}.dashboard .dash-stat-icon--vaccinations{background-color:#0ea5b71a;color:var(--brand-accent)}.dashboard .dash-stat-icon--pending{background-color:var(--warning-light);color:var(--warning)}.dashboard .dash-stat-content{flex:1 1;min-width:0}.dashboard .dash-stat-content h3{color:var(--brand-dark);font-size:1.875rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:2px}.dashboard .dash-stat-content p{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:1px}.dashboard .dash-stat-subtitle{color:var(--text-muted);font-size:.75rem;font-weight:500}.dashboard .dash-stat-card--completion{gap:calc(var(--grid-unit)*2.5)}.dashboard .dash-progress-ring{flex-shrink:0}.dashboard .dash-progress-ring-track{stroke:var(--border-color)}.dashboard .dash-progress-ring-value{stroke:var(--success);transition:stroke-dashoffset .6s ease}.dashboard .dash-recent-activity{grid-gap:calc(var(--grid-unit)*3);display:grid;gap:calc(var(--grid-unit)*3);grid-template-columns:1fr 1fr}.dashboard .dash-activity-section{display:flex;flex-direction:column}.dashboard .dash-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:calc(var(--grid-unit)*1.5)}.dashboard .dash-section-header h3{color:var(--brand-dark);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}.dashboard .dash-view-all-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:4px;padding:6px 12px;transition:all var(--transition-fast)}.dashboard .dash-view-all-btn:hover{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.dashboard .dash-activity-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex:1 1;min-height:260px;padding:calc(var(--grid-unit)*1.5)}.dashboard .dash-activity-card,.dashboard .dash-activity-list{display:flex;flex-direction:column}.dashboard .dash-activity-item{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:calc(var(--grid-unit)*1.5);padding:calc(var(--grid-unit)*1.5) calc(var(--grid-unit)*1);transition:background-color var(--transition-fast)}.dashboard .dash-activity-list .dash-activity-item:last-child{border-bottom:none}.dashboard .dash-activity-item:hover{background-color:var(--bg-primary)}.dashboard .dash-patient-avatar{align-items:center;background-color:var(--info-light);border-radius:var(--radius-sm);color:var(--brand-primary);display:flex;flex-shrink:0;font-family:var(--font-display);font-size:.8125rem;font-weight:700;height:38px;justify-content:center;width:38px}.dashboard .dash-patient-details{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.dashboard .dash-patient-details strong{color:var(--brand-dark);font-size:.9375rem;font-weight:600}.dashboard .dash-patient-details span{color:var(--text-muted);font-size:.75rem}.dashboard .dash-vaccine-count{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);flex-shrink:0;font-size:.6875rem;font-weight:600;padding:3px 10px;white-space:nowrap}.dashboard .dash-vaccine-badge{align-items:center;border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.dashboard .dash-vaccine-badge--completed{background-color:var(--success-light);border:1px solid var(--success-border);color:var(--success)}.dashboard .dash-vaccine-badge--pending{background-color:var(--warning-light);border:1px solid var(--warning-border);color:var(--warning)}.dashboard .dash-vaccine-badge--scheduled{background-color:var(--info-light);border:1px solid var(--info-border);color:var(--brand-primary)}.dashboard .dash-vaccine-details{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.dashboard .dash-vaccine-details strong{color:var(--brand-dark);font-size:.9375rem;font-weight:600}.dashboard .dash-vaccine-date,.dashboard .dash-vaccine-details span{color:var(--text-muted);font-size:.75rem}.dashboard .dash-vaccine-date{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.dashboard .dash-status-indicator{border-radius:4px;font-size:.625rem;font-weight:700;letter-spacing:.02em;padding:1px 7px;text-transform:uppercase}.dashboard .dash-status-indicator--completed{background-color:var(--success-light);color:var(--success)}.dashboard .dash-status-indicator--pending{background-color:var(--warning-light);color:var(--warning)}.dashboard .dash-status-indicator--scheduled{background-color:var(--info-light);color:var(--brand-primary)}.dashboard .dash-empty-state{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:calc(var(--grid-unit)*4) calc(var(--grid-unit)*2);text-align:center}.dashboard .dash-empty-state svg{color:var(--brand-primary);margin-bottom:calc(var(--grid-unit)*1.5);opacity:.35}.dashboard .dash-empty-state p{color:var(--brand-dark);font-size:.9375rem;font-weight:600;margin:0 0 calc(var(--grid-unit)*.5) 0}.dashboard .dash-empty-subtitle{font-size:.8125rem;opacity:.8}.dashboard .dash-quick-actions{margin-top:calc(var(--grid-unit)*4)}.dashboard .dash-action-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin:0 auto;max-width:480px;padding:calc(var(--grid-unit)*4);text-align:center}.dashboard .dash-action-card h3{color:var(--brand-dark);font-size:1.25rem;font-weight:700;margin-bottom:calc(var(--grid-unit)*1)}.dashboard .dash-action-card p{color:var(--text-muted);font-size:.875rem;margin-bottom:calc(var(--grid-unit)*3)}.dashboard .dash-action-btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*2);transition:all var(--transition-fast)}.dashboard .dash-action-btn--primary{background-color:var(--brand-primary);color:#fff}.dashboard .dash-action-btn--primary:hover{background-color:var(--brand-primary-hover);box-shadow:0 4px 12px #0a4d8c33}@media (max-width:1024px){.dashboard .dash-recent-activity{gap:calc(var(--grid-unit)*3);grid-template-columns:1fr}}@media (max-width:768px){.dashboard{padding:calc(var(--grid-unit)*2)}.dashboard .dash-stats-grid{gap:calc(var(--grid-unit)*1.5);grid-template-columns:repeat(2,1fr)}.dashboard .dash-header{align-items:flex-start;flex-direction:column;gap:calc(var(--grid-unit)*1.5)}.dashboard .dash-header-text h1{font-size:1.625rem}.dashboard .dash-stat-card{align-items:flex-start;flex-direction:column;gap:calc(var(--grid-unit)*1.5);padding:calc(var(--grid-unit)*2)}.dashboard .dash-stat-icon{height:40px;width:40px}.dashboard .dash-stat-content h3{font-size:1.5rem}}@media (max-width:480px){.dashboard .dash-stats-grid{grid-template-columns:1fr 1fr}.dashboard .dash-vaccine-date{align-items:flex-end}}.patient-list{margin:0 auto;max-width:1400px;min-height:calc(100vh - 64px);padding:calc(var(--grid-unit)*4)}.patient-list-header{margin-bottom:calc(var(--grid-unit)*3)}.patient-list-header h1{color:var(--brand-dark);font-size:2rem;font-weight:700;letter-spacing:-.025em;margin-bottom:calc(var(--grid-unit)*.5)}.patient-list-header p{color:var(--text-muted);font-size:1rem;font-weight:500}.search-container{gap:16px;justify-content:space-between;margin-bottom:calc(var(--grid-unit)*3);width:100%}.search-bar,.search-container{align-items:center;display:flex}.search-bar{flex:1 1;max-width:500px;position:relative}.export-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;transition:all .25s ease}.export-btn:hover{transform:translateY(-2px)}.search-input{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--brand-dark);font-size:.875rem;outline:none;padding:10px 16px 10px 40px;transition:all var(--transition-fast);width:100%}.search-input,.search-input:focus{background-color:var(--bg-secondary)}.search-input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #14b8a626}.search-bar:focus-within .search-icon,.search-input:focus~.search-icon{color:var(--brand-accent)}.search-icon{color:var(--text-muted);left:14px;pointer-events:none;position:absolute;transition:color var(--transition-fast)}.patient-count{color:var(--text-muted);font-size:.875rem;font-weight:500;margin-bottom:calc(var(--grid-unit)*2)}.patients-grid{grid-gap:calc(var(--grid-unit)*3);display:grid;gap:calc(var(--grid-unit)*3);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.patient-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000005,0 4px 12px #0f172a05;display:flex;flex-direction:column;gap:calc(var(--grid-unit)*2);padding:calc(var(--grid-unit)*3);transition:all var(--transition-normal)}.patient-card:hover{border-color:var(--border-focus);box-shadow:0 1px 3px #00000005,0 12px 24px -4px #0f172a0a;transform:translateY(-2px)}.patient-header{align-items:center;display:flex;gap:calc(var(--grid-unit)*1.5)}.patient-avatar{align-items:center;background-color:#0a25400f;border-radius:var(--radius-sm);color:var(--brand-primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.patient-basic-info{display:flex;flex-direction:column;min-width:0}.patient-name{color:var(--brand-dark);font-size:1.0625rem;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-mrn{color:var(--text-muted);font-size:.8125rem;font-weight:500}.patient-contact{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:calc(var(--grid-unit)*.75);padding-bottom:calc(var(--grid-unit)*1.5)}.contact-icon{color:var(--text-muted);flex-shrink:0}.vaccine-summary{margin-bottom:calc(var(--grid-unit)*.5)}.vaccine-stats{align-items:center;display:flex;justify-content:space-between}.vaccine-count{background-color:#0a25400a;color:var(--brand-primary);font-size:.875rem}.completed-count,.vaccine-count{border-radius:12px;padding:2px 8px}.completed-count{background-color:var(--success-light);color:var(--success);font-size:.8125rem;font-weight:600}.action-buttons{align-items:center;gap:calc(var(--grid-unit)*1);margin-top:auto}.view-details-btn{background:var(--brand-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.8125rem;font-weight:600;margin-right:auto;padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*2);transition:all var(--transition-fast)}.view-details-btn:hover{background:var(--brand-dark)}.icon-btn{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.edit-btn{color:var(--brand-primary)}.edit-btn:hover{background:#0a25400a;border-color:var(--border-focus)}.delete-btn{border-color:#fee2e2;color:#dc2626}.delete-btn:hover{background:#fef2f2;border-color:#fca5a5}.empty-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:calc(var(--grid-unit)*6) calc(var(--grid-unit)*3);text-align:center}.empty-icon{color:var(--text-muted);margin-bottom:calc(var(--grid-unit)*2);opacity:.4}.empty-state h3{color:var(--brand-dark);font-size:1.25rem;font-weight:600;margin-bottom:calc(var(--grid-unit)*.5)}.empty-state p{font-size:.875rem}@media (max-width:1024px){.patients-grid{grid-template-columns:repeat(2,1fr)}.search-container{align-items:stretch;flex-direction:column}.search-bar{max-width:100%}.export-btn{width:100%}}@media (max-width:768px){.patients-grid{grid-template-columns:1fr}.patient-list{padding:calc(var(--grid-unit)*2)}}.patient-details{margin:0 auto;max-width:1000px;min-height:calc(100vh - 64px);padding:calc(var(--grid-unit)*4)}.details-header{align-items:center;display:flex;gap:calc(var(--grid-unit)*1.5);margin-bottom:calc(var(--grid-unit)*3)}.details-header h1{color:var(--brand-dark);font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000005,0 4px 12px #0f172a05;padding:calc(var(--grid-unit)*3.5)}.profile-card,.profile-header{margin-bottom:calc(var(--grid-unit)*3)}.profile-header{align-items:flex-start;display:flex;gap:calc(var(--grid-unit)*3)}.profile-avatar{align-items:center;background:#0a25400f;border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--brand-primary);display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:72px;justify-content:center;width:72px}.profile-info h2{color:var(--brand-dark);font-size:1.5rem;font-weight:700;margin-bottom:calc(var(--grid-unit)*.5)}.mrn{color:var(--text-muted);font-size:.875rem;font-weight:500;margin-bottom:calc(var(--grid-unit)*1.5)}.profile-stats{display:flex;gap:calc(var(--grid-unit)*4)}.stat{text-align:left}.stat-value{display:block;font-size:1.5rem;line-height:1.1}.stat-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.contact-info{grid-gap:calc(var(--grid-unit)*2);border-top:1px solid var(--border-color);display:grid;gap:calc(var(--grid-unit)*2);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-top:calc(var(--grid-unit)*3)}.contact-item{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;gap:calc(var(--grid-unit)*1)}.contact-item svg{color:var(--text-muted)}.tab-navigation{border-bottom:1px solid var(--border-color);display:flex;gap:calc(var(--grid-unit)*1);margin-bottom:calc(var(--grid-unit)*3)}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:600;padding:calc(var(--grid-unit)*1.5) calc(var(--grid-unit)*3);transition:all var(--transition-fast)}.tab-btn.active{border-bottom-color:var(--brand-accent);color:var(--brand-accent)}.tab-btn:hover:not(.active){color:var(--text-primary)}.tab-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000005,0 4px 12px #0f172a05;margin-bottom:calc(var(--grid-unit)*3);padding:calc(var(--grid-unit)*3.5)}.tab-content h3{color:var(--brand-dark);font-size:1.25rem;font-weight:700;margin-bottom:calc(var(--grid-unit)*2.5)}.vaccine-list{display:flex;flex-direction:column;gap:calc(var(--grid-unit)*1.5)}.vaccine-card{border-radius:var(--radius-md);gap:calc(var(--grid-unit)*2);padding:calc(var(--grid-unit)*2)}.vaccine-card:hover{background:var(--bg-primary)}.vaccine-icon{align-items:center;background:#0a25400a;border-radius:var(--radius-sm);color:var(--brand-primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.vaccine-info{flex:1 1}.vaccine-info h4{color:var(--brand-dark);font-size:.9375rem;font-weight:600;margin-bottom:2px}.vaccine-info p{color:var(--text-muted);font-size:.8125rem;margin-bottom:2px}.vaccine-date{color:var(--text-muted);font-size:.75rem}.vaccine-status{align-items:center;border:1px solid #0000;border-radius:20px;display:flex;font-size:.8125rem;font-weight:600;gap:calc(var(--grid-unit)*.5);padding:calc(var(--grid-unit)*.75) calc(var(--grid-unit)*1.5)}.vaccine-status.completed{background-color:var(--success-light);border-color:var(--success-border);color:var(--success)}.vaccine-status.pending{background-color:var(--warning-light);border-color:var(--warning-border);color:var(--warning)}.empty-vaccines{color:var(--text-muted);padding:calc(var(--grid-unit)*4);text-align:center}.info-grid{grid-gap:calc(var(--grid-unit)*3);display:grid;gap:calc(var(--grid-unit)*3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.info-item label{color:var(--text-muted);display:block;font-size:.8125rem;font-weight:600;letter-spacing:.05em;margin-bottom:calc(var(--grid-unit)*.75);text-transform:uppercase}.info-item p{color:var(--brand-dark);font-size:.9375rem;font-weight:500;margin:0}.action-buttons{display:flex;gap:calc(var(--grid-unit)*1.5);justify-content:flex-end}.btn-primary,.btn-secondary{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:600;padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*2);transition:all var(--transition-fast)}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--border-focus)}.error-state{color:var(--text-muted);padding:calc(var(--grid-unit)*6) calc(var(--grid-unit)*3);text-align:center}.error-state h3{color:var(--brand-dark);margin:calc(var(--grid-unit)*2) 0 calc(var(--grid-unit)*1)}@media (max-width:768px){.patient-details{padding:calc(var(--grid-unit)*2)}.profile-header{align-items:center;flex-direction:column;text-align:center}.profile-stats{justify-content:center}.tab-navigation{flex-direction:row;overflow-x:auto;scrollbar-width:none}.tab-navigation::-webkit-scrollbar{display:none}.action-buttons{flex-direction:column}.contact-info{grid-template-columns:1fr}}.profile-actions-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:calc(var(--grid-unit)*2);justify-content:space-between;width:100%}.action-btn-secondary,.header-actions{gap:calc(var(--grid-unit)*1)}.action-btn-secondary{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:.8125rem;font-weight:600;padding:calc(var(--grid-unit)*.75) calc(var(--grid-unit)*1.5);transition:all var(--transition-fast)}.action-btn-secondary.edit{background:#0a25400a;border-color:var(--border-color);color:var(--brand-primary)}.action-btn-secondary.edit:hover{background:#0a254014;border-color:var(--border-focus)}.action-btn-secondary.delete{background:#fef2f2;border-color:#fee2e2;color:#dc2626}.action-btn-secondary.delete:hover{background:#fee2e2;border-color:#fca5a5}.profile-actions-bottom{border-top:1px solid var(--border-color);display:flex;gap:calc(var(--grid-unit)*1.5);justify-content:flex-end;margin-top:calc(var(--grid-unit)*3);padding-top:calc(var(--grid-unit)*2)}.add-note-section{background:var(--bg-primary);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:calc(var(--grid-unit)*2);padding:calc(var(--grid-unit)*2.5)}.add-note-section,.note-textarea{border:1px solid var(--border-color)}.note-textarea{background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--brand-dark);font-family:inherit;font-size:.875rem;min-height:100px;padding:calc(var(--grid-unit)*1.5);resize:vertical;transition:all var(--transition-fast);width:100%}.note-textarea:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #14b8a626;outline:none}.notes-list{display:flex;flex-direction:column;gap:calc(var(--grid-unit)*2);margin-top:calc(var(--grid-unit)*3)}.note-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:calc(var(--grid-unit)*2.5);transition:all var(--transition-normal)}.note-card:hover{border-color:var(--border-focus);box-shadow:0 1px 3px #00000005,0 8px 16px #0f172a0a;transform:translateY(-2px)}.note-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:calc(var(--grid-unit)*1);padding-bottom:calc(var(--grid-unit)*1)}.note-date{color:var(--text-muted);font-size:.8125rem;font-weight:500}.note-author{background:#14b8a60f;border-radius:4px;color:var(--brand-accent);font-size:.8125rem;font-weight:600;padding:2px 8px}.note-content p{color:var(--text-primary);font-size:.875rem;line-height:1.6;white-space:pre-wrap}.add-note-section .btn-primary{align-self:flex-end;min-width:120px}.reports{background-color:var(--bg-primary);margin:0 auto;max-width:1400px;min-height:calc(100vh - 64px);padding:calc(var(--grid-unit)*4)}.reports-header{align-items:center;display:flex;flex-wrap:wrap;gap:calc(var(--grid-unit)*2);justify-content:space-between;margin-bottom:calc(var(--grid-unit)*4)}.header-content h1{color:var(--brand-dark);font-size:2rem;font-weight:700;letter-spacing:-.025em;margin-bottom:calc(var(--grid-unit)*.5)}.header-content p{color:var(--text-muted);font-size:1rem;font-weight:500}.header-actions{display:flex;gap:calc(var(--grid-unit)*1.5)}.export-btn,.filter-btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*2);transition:all var(--transition-fast)}.export-btn{background:var(--brand-primary);color:#fff}.export-btn:hover{background:var(--brand-dark);box-shadow:0 4px 12px #0f172a14}.filter-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.filter-btn:hover{background:var(--bg-primary);border-color:var(--border-focus)}.metrics-grid{grid-gap:calc(var(--grid-unit)*3);display:grid;gap:calc(var(--grid-unit)*3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:calc(var(--grid-unit)*4)}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000005,0 4px 12px #0f172a05;gap:calc(var(--grid-unit)*2);padding:calc(var(--grid-unit)*2.5)}.metric-card,.metric-icon{align-items:center;display:flex}.metric-icon{border-radius:var(--radius-sm);flex-shrink:0;height:52px;justify-content:center;width:52px}.metric-icon.total{background-color:#0a25400f;color:var(--brand-primary)}.metric-icon.vaccinations{background-color:#14b8a60f;color:var(--brand-accent)}.metric-icon.completion{background-color:#10b9810f;color:var(--success)}.metric-icon.pending{background-color:#f59e0b0f;color:var(--warning)}.metric-content h3{color:var(--brand-dark);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:2px}.metric-content p{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:2px}.metric-trend{font-size:.75rem;font-weight:600}.metric-trend.positive{color:var(--success)}.metric-trend.negative{color:#dc2626}.charts-grid{grid-gap:calc(var(--grid-unit)*3);display:grid;gap:calc(var(--grid-unit)*3);grid-template-columns:repeat(auto-fit,minmax(500px,1fr));margin-bottom:calc(var(--grid-unit)*4)}.chart-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000005,0 4px 12px #0f172a05;padding:calc(var(--grid-unit)*3)}.chart-header{margin-bottom:calc(var(--grid-unit)*2.5)}.chart-header h3{color:var(--brand-dark);font-size:1.25rem;font-weight:700;margin-bottom:4px}.chart-header p{color:var(--text-muted);font-size:.8125rem;font-weight:500}.chart-container{height:300px;width:100%}.summary-cards{grid-gap:calc(var(--grid-unit)*3);display:grid;gap:calc(var(--grid-unit)*3);grid-template-columns:1fr 1fr}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000005,0 4px 12px #0f172a05;padding:calc(var(--grid-unit)*3)}.summary-card h4{color:var(--brand-dark);font-size:1.125rem;font-weight:700;margin-bottom:calc(var(--grid-unit)*2)}.stats-list,.vaccine-list{flex-direction:column}.stats-list,.vaccine-item,.vaccine-list{display:flex;gap:calc(var(--grid-unit)*1.5)}.vaccine-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*1.5)}.vaccine-rank{align-items:center;background:var(--brand-primary);border-radius:50%;color:#fff;display:flex;font-size:.8125rem;font-weight:700;height:28px;justify-content:center;width:28px}.vaccine-name{color:var(--brand-dark);flex:1 1;font-size:.875rem;font-weight:600}.vaccine-count{color:var(--text-muted);font-size:.8125rem;font-weight:600}.stat-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*1.5)}.stat-item span:first-child{color:var(--text-primary);font-size:.875rem;font-weight:500}.stat-value{color:var(--brand-dark);font-size:.875rem;font-weight:700}@media (max-width:1200px){.charts-grid,.summary-cards{grid-template-columns:1fr}}@media (max-width:768px){.reports{padding:calc(var(--grid-unit)*2)}.reports-header{align-items:flex-start;flex-direction:column;gap:calc(var(--grid-unit)*1.5)}.header-actions{justify-content:stretch;width:100%}.export-btn,.filter-btn{flex:1 1;justify-content:center}.charts-grid,.metrics-grid{grid-template-columns:1fr}.metrics-grid{gap:calc(var(--grid-unit)*2)}.chart-card{padding:calc(var(--grid-unit)*2)}}@media (max-width:480px){.header-content h1{font-size:1.75rem}.metric-card{flex-direction:column;padding:calc(var(--grid-unit)*2);text-align:center}}.nepali-date-picker{position:relative}.nepali-date-picker .calender{background:#fff none repeat scroll 0 0;border-radius:6px;box-shadow:0 2px 6px 0 #0000001a;box-sizing:border-box;color:#8c8c8c;display:block;font-family:NotoSans,sans-serif;font-size:14px;font-style:normal;font-weight:400;height:auto;left:0;letter-spacing:.2px;line-height:1.25em;padding:15px;position:absolute;text-align:right;-webkit-user-select:none;user-select:none;z-index:9999}.nepali-date-picker .calender .calendar-controller{align-items:center;display:flex;justify-content:space-between;position:relative}.nepali-date-picker .calender .calendar-controller .date-indicator{display:flex}.nepali-date-picker .calender .calendar-controller .control{cursor:pointer;position:relative;text-align:center}.nepali-date-picker .calender .calendar-controller .control.icon-today{position:absolute;right:20px}.nepali-date-picker .calender .calendar-controller .control.month,.nepali-date-picker .calender .calendar-controller .control.year{border:1px solid #eee;line-height:24px;width:70px}.nepali-date-picker .calender .calendar-controller .control.month .current-month,.nepali-date-picker .calender .calendar-controller .control.month .current-year,.nepali-date-picker .calender .calendar-controller .control.year .current-month,.nepali-date-picker .calender .calendar-controller .control.year .current-year{display:block;padding:4px}.nepali-date-picker .calender .calendar-controller .control.year{border-left:none}.nepali-date-picker .calender .calendar-controller .control .drop-down{background-color:#fff;box-shadow:0 2px 6px 0 #0000001a;left:0;max-height:200px;overflow-y:scroll;position:absolute;top:0;width:100%;z-index:100}.nepali-date-picker .calender .calendar-controller .control .drop-down ul{list-style:none;margin:0;padding:0}.nepali-date-picker .calender .calendar-controller .control .drop-down li{padding:4px 10px}.nepali-date-picker .calender .calendar-controller .control .drop-down li.active{background:#2096f5;color:#fff}.nepali-date-picker .calender td.month-day.current{opacity:1}.nepali-date-picker .calender td.month-day.disabled{color:#d8d8d8}.nepali-date-picker .calender td.month-day.today{color:#4a4a4a;position:relative}.nepali-date-picker .calender td.month-day.today:before{background-color:#2096f5;border-radius:50%;bottom:6px;content:"";height:4px;left:50%;margin:auto;position:absolute;transform:translateX(-50%);width:4px}.nepali-date-picker .calender td.month-day.selected{color:#fff;position:relative}.nepali-date-picker .calender td.month-day.selected:after{background:#2096f5;border-radius:50%;content:"";height:35px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:35px;z-index:-1}.nepali-date-picker .calender table{border:none;text-align:center;width:100%}.nepali-date-picker .calender table td{border:none;height:40px;width:40px}.nepali-date-picker .calender table tr{border:none;height:36px}.unified-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:94vh;max-width:920px;overflow-y:auto;padding:calc(var(--grid-unit)*4);position:relative;width:95%}.modal-header{border-bottom:1px solid var(--border-color);margin-bottom:calc(var(--grid-unit)*3);padding-bottom:calc(var(--grid-unit)*1.5)}.modal-header h2{color:var(--brand-dark);font-weight:700;gap:calc(var(--grid-unit)*1);letter-spacing:-.02em}.close-btn,.modal-header h2{align-items:center;display:flex}.close-btn{background:#fef2f2;border:1px solid #fee2e2;border-radius:var(--radius-sm);color:#dc2626;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.close-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}.input-wrapper{margin-bottom:calc(var(--grid-unit)*2.5);position:relative}.input-wrapper input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--brand-dark);font-size:.875rem;padding:1.1rem 1rem .6rem 3rem;transition:all var(--transition-fast);width:100%}.input-wrapper input:focus{background:var(--bg-secondary);border-color:var(--brand-accent);box-shadow:0 0 0 3px #14b8a626;outline:none}.input-wrapper label{color:var(--text-muted);font-size:.875rem;left:3rem;pointer-events:none;position:absolute;top:1.1rem;transition:all var(--transition-fast)}.input-wrapper input:focus~label,.input-wrapper input:not(:placeholder-shown)~label{background:var(--bg-secondary);color:var(--brand-accent);font-size:.75rem;font-weight:600;left:1rem;padding:0 .4rem;top:.5rem}.input-icon{color:var(--text-muted);left:1rem;position:absolute;top:1.1rem;transition:color var(--transition-fast)}.input-wrapper input:focus~.input-icon{color:var(--brand-accent)}.input-wrapper.error input{border-color:#dc2626}.radio-group{display:flex;flex-wrap:wrap;gap:calc(var(--grid-unit)*1.5);margin-top:calc(var(--grid-unit)*1)}.radio-pill{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;min-width:100px;padding:calc(var(--grid-unit)*1.25);text-align:center;transition:all var(--transition-fast)}.radio-pill:hover{background-color:var(--border-color);border-color:var(--border-focus)}.radio-pill.selected{background:#14b8a614;border-color:var(--brand-accent);color:var(--brand-accent)}.radio-pill input{display:none}.vaccine-grid{grid-gap:calc(var(--grid-unit)*1.5);background:var(--bg-primary);border:1px dashed var(--border-color);border-radius:var(--radius-md);display:grid;gap:calc(var(--grid-unit)*1.5);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:calc(var(--grid-unit)*2.5)}.vaccine-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 3px #00000003;cursor:pointer;display:flex;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1.5);transition:all var(--transition-fast)}.vaccine-card:hover{border-color:var(--border-focus);box-shadow:0 4px 12px #0f172a0a;transform:translateY(-2px)}.vaccine-card.checked{background:var(--success-light);border-color:var(--success-border);color:var(--success);font-weight:600}.vaccine-card input{accent-color:var(--success)}.form-actions{border-top:1px solid var(--border-color);gap:calc(var(--grid-unit)*1.5);margin-top:calc(var(--grid-unit)*3);padding-top:calc(var(--grid-unit)*3)}.btn-cancel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:600;padding:calc(var(--grid-unit)*1.25) calc(var(--grid-unit)*2.5);transition:all var(--transition-fast)}.btn-cancel:hover{background:var(--border-color);border-color:var(--border-focus)}.btn-primary{align-items:center;background:var(--brand-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1.25) calc(var(--grid-unit)*2.5);transition:all var(--transition-fast)}.btn-primary:hover{background:var(--brand-dark);box-shadow:0 4px 12px #0f172a14}@media (max-width:768px){.unified-modal{border:none;border-radius:0;height:100vh;padding:calc(var(--grid-unit)*2);width:100%}.form-grid{grid-template-columns:1fr}.radio-group{flex-direction:column}.vaccine-grid{grid-template-columns:repeat(2,1fr)}}.nepali-datepicker-container{position:relative}.nepali-datepicker-container input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--brand-dark);font-size:.875rem;padding:10px 12px;transition:all var(--transition-fast);width:100%}.nepali-datepicker-container input:focus{background:var(--bg-secondary);border-color:var(--brand-accent);box-shadow:0 0 0 3px #14b8a626;outline:none}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.vaccine-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0}.close-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;padding:.5rem;transition:all .3s ease}.close-btn:hover{background:#f1f5f9;color:#374151}.vaccine-form{padding:2rem}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-group label{align-items:center;color:#374151;display:flex;font-weight:500;gap:.5rem;margin-bottom:.5rem}.form-group input,.form-group select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}.btn-cancel,.btn-submit{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-cancel{background:#f8fafc;border:1px solid #e2e8f0;color:#374151}.btn-cancel:hover{background:#f1f5f9}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}@media (max-width:768px){.vaccine-modal{margin:1rem}.vaccine-form{padding:1.5rem}.modal-header{padding:1rem 1.5rem}}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px 0 #00000005,0 1px 2px 0 #00000003;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 calc(var(--grid-unit)*3)}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:calc(var(--grid-unit)*2)}.back-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:calc(var(--grid-unit)*1);transition:all var(--transition-fast)}.back-btn:hover{background:var(--border-color);color:var(--text-primary)}.logo{align-items:center;cursor:pointer;display:flex;gap:calc(var(--grid-unit)*1)}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-primary{color:var(--brand-dark);font-size:1.125rem;font-weight:700}.logo-secondary{font-size:.875rem;font-weight:600}.logo-icon,.logo-secondary{color:var(--brand-accent)}.navigation{background:var(--bg-primary);border-radius:var(--radius-md);gap:calc(var(--grid-unit)*.5);padding:calc(var(--grid-unit)*.5)}.nav-btn,.navigation{display:flex;position:relative}.nav-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:600;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*2);transition:all var(--transition-fast)}.nav-btn:hover{background-color:#00000005;color:var(--text-primary)}.nav-btn.active{background:var(--bg-secondary);box-shadow:0 1px 3px 0 #0000000a;color:var(--brand-accent)}.nav-indicator{background:var(--brand-accent);border-radius:2px;bottom:-2px;height:3px;left:50%;position:absolute;transform:translateX(-50%);width:20px}.header-right{gap:calc(var(--grid-unit)*2)}.add-patient-btn,.header-right{align-items:center;display:flex}.add-patient-btn{background:var(--brand-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*2);transition:all var(--transition-fast)}.add-patient-btn:hover{background:var(--brand-dark);box-shadow:0 2px 8px #0f172a14}.add-patient-btn:active{transform:scale(.98)}.notification-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:calc(var(--grid-unit)*1);position:relative;transition:all var(--transition-fast)}.notification-btn:hover{background:var(--bg-primary);border-color:var(--border-focus);color:var(--text-primary)}.notification-badge{align-items:center;background:#ef4444;border:2px solid var(--bg-secondary);border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:18px;justify-content:center;position:absolute;right:-5px;top:-5px;width:18px}.user-menu-container{position:relative}.user-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*.75) calc(var(--grid-unit)*1.25);transition:all var(--transition-fast)}.user-btn:hover{background:var(--bg-primary);border-color:var(--border-focus)}.user-avatar{align-items:center;background:var(--brand-accent);border-radius:50%;color:#fff;display:flex;height:24px;justify-content:center;width:24px}.user-name{font-size:.875rem;font-weight:600}.user-dropdown{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 15px -3px #0000000d;margin-top:calc(var(--grid-unit)*1);min-width:180px;overflow:hidden;padding:calc(var(--grid-unit)*.5) 0;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item,.user-dropdown{background:var(--bg-secondary)}.dropdown-item{align-items:center;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:calc(var(--grid-unit)*1);padding:calc(var(--grid-unit)*1) calc(var(--grid-unit)*1.5);text-align:left;transition:all var(--transition-fast);width:100%}.dropdown-item:hover{background:var(--bg-primary);color:var(--brand-accent)}.progress-bar{background:var(--brand-accent);bottom:0;height:3px;left:0;position:absolute;right:0;transform-origin:left}@media (max-width:1024px){.navigation span{display:none}.nav-btn{padding:calc(var(--grid-unit)*1)}}@media (max-width:768px){.header-content{height:56px;padding:0 calc(var(--grid-unit)*1.5)}.add-patient-btn span,.user-name{display:none}.add-patient-btn{padding:calc(var(--grid-unit)*1)}.logo-text{display:none}}@media (max-width:480px){.header-right{gap:calc(var(--grid-unit)*1)}.notification-btn{padding:calc(var(--grid-unit)*.75)}}.mobile-bottom-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-top:1px solid #e2e8f0;bottom:0;box-shadow:0 -4px 6px -1px #0000001a;display:flex;left:0;padding:.5rem;position:fixed;right:0;z-index:1000}.nav-item{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-height:60px;padding:.5rem;position:relative}.nav-item.active{color:#3b82f6}.nav-icon{align-items:center;display:flex;height:40px;justify-content:center;position:relative;width:40px}.active-indicator{background:#3b82f6;border-radius:50%;height:8px;position:absolute;right:-2px;top:-2px;width:8px}.nav-label{font-size:.75rem;font-weight:500}.fab{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;left:50%;position:absolute;top:-20px;transform:translateX(-50%);width:56px;z-index:1001}@media (min-width:769px){.mobile-bottom-nav{display:none}}@supports (padding:max(0px)){.mobile-bottom-nav{padding-bottom:max(.5rem,env(safe-area-inset-bottom))}}.loading-screen{align-items:center;background-color:var(--brand-dark);color:#fff;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative}.loading-container{position:relative;text-align:center;z-index:10}.loading-logo{margin-bottom:calc(var(--grid-unit)*3)}.loading-logo .logo-icon{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border:1px solid #ffffff14;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000026;display:flex;font-size:2.25rem;height:80px;justify-content:center;margin:0 auto;width:80px}.loading-text h2{color:#fff;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;margin-bottom:calc(var(--grid-unit)*.75)}.loading-text p{color:var(--text-muted);font-size:.875rem;margin-bottom:calc(var(--grid-unit)*3)}.loading-progress-container{margin:0 auto;width:240px}.loading-progress-bar{background:#ffffff14;height:4px;overflow:hidden}.loading-progress-bar,.progress-fill{border-radius:2px;position:relative;width:100%}.progress-fill{background:var(--success);height:100%;transform-origin:left}.progress-fill:after{animation:shimmer 1.8s infinite;background:linear-gradient(90deg,#0000,#ffffff40,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.loading-screen:before{background:radial-gradient(circle at center,#0000 0,#0003 100%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@media (max-width:768px){.loading-text h2{font-size:1.375rem}.loading-logo .logo-icon{font-size:1.875rem;height:72px;width:72px}.loading-progress-container{width:200px}}@media (prefers-reduced-motion:reduce){.loading-logo .logo-icon,.loading-screen:before,.progress-fill{animation:none!important}}@media (max-width:768px){.action-btn,.btn-primary,.btn-secondary,.nav-btn,.view-details-btn,button{min-height:44px!important;min-width:44px!important}.stats-grid{gap:1rem!important}.recent-activity,.stats-grid{grid-template-columns:1fr!important}.recent-activity{gap:1.5rem!important}.patients-grid{grid-template-columns:1fr!important}.dashboard,.patient-details,.patient-list,.reports{padding:1rem!important}.dashboard-header h1,.details-header h1,.patient-list-header h1,.reports-header h1{font-size:1.75rem!important}input,select,textarea{font-size:16px!important}}@media (min-width:769px) and (max-width:1024px){.patients-grid,.stats-grid{grid-template-columns:repeat(2,1fr)!important}}:root{--brand-primary:#0a4d8c;--brand-primary-hover:#073a6b;--brand-dark:#0b1f33;--brand-accent:#0ea5b7;--brand-accent-hover:#0b8a99;--success:#10b981;--success-light:#ecfdf5;--success-border:#a7f3d0;--warning:#f59e0b;--warning-light:#fffbeb;--warning-border:#fde68a;--info:#0a4d8c;--info-light:#eaf3fb;--info-border:#bfdbfe;--border-color:#e1e7ed;--border-focus:#c7d2dc;--bg-primary:#f7f9fb;--bg-secondary:#fff;--text-primary:#263544;--text-muted:#64748b;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition-fast:0.15s ease-in-out;--transition-normal:0.25s ease-in-out;--grid-unit:8px;--font-display:"Manrope",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono","SFMono-Regular",Menlo,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f9fb;background-color:var(--bg-primary);color:#263544;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);line-height:1.6}.font-display,h1,h2,h3,h4{font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-display)}.font-mono,.patient-mrn,.vaccine-date{font-feature-settings:"tnum";font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-family:var(--font-mono)}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-top:0}html{scroll-behavior:smooth}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f7f9fb;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #0ea5b7;outline:2px solid var(--brand-accent);outline-offset:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (max-width:768px){.main-content{padding-bottom:80px}}@media (hover:none) and (pointer:coarse){.activity-item,.nav-btn,.patient-card,button{min-height:44px;min-width:44px}.stat-card{padding:1.5rem 1rem}.activity-item{padding:1rem .75rem}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.activity-card,.stat-card{border:2px solid #000}}code{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-family:var(--font-mono)}
/*# sourceMappingURL=main.d8861276.css.map*/