:root{--primary: #0066CC;--primary-hover: #0052A3;--primary-light: #E6F2FF;--primary-dark: #004080;--bg-main: #F5F7FA;--bg-white: #FFFFFF;--bg-light: #FAFBFC;--bg-hover: #F0F4F8;--bg-tertiary: #E5E7EB;--text-primary: #1A202C;--text-secondary: #4A5568;--text-muted: #718096;--text-white: #FFFFFF;--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--info: #3B82F6;--border: #E2E8F0;--border-hover: #CBD5E0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--will-change-scroll: scroll-position;--contain-scroll: layout style paint}.virtual-scroll-container{contain:layout style paint;will-change:scroll-position}.patient-card{contain:layout style}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in{animation:fadeIn .2s ease-in;will-change:opacity}.animate-slide-up{animation:slideUp .3s ease-out;will-change:transform,opacity}.patients-grid{contain:layout style paint}.modal-overlay{contain:layout style paint;will-change:opacity}.modal{contain:layout style paint}@media (max-width: 768px){*{animation-duration:.2s!important;transition-duration:.2s!important}button,a,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.patient-card,.modal{box-shadow:var(--shadow-sm)!important}}@media (prefers-color-scheme: dark){body.dark-mode,body.dark-mode :root{--primary: #4B9EFF;--primary-hover: #6BADFF;--primary-light: #1A3A4D;--primary-dark: #002D52;--bg-main: #0D1117;--bg-white: #161B22;--bg-light: #21262D;--bg-hover: #30363D;--bg-tertiary: #484F58;--text-primary: #E0E6ED;--text-secondary: #C9D1D9;--text-muted: #8B949E;--text-white: #FFFFFF;--border: #30363D;--border-hover: #484F58;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}}body.dark-mode{--primary: #4B9EFF;--primary-hover: #6BADFF;--primary-light: #1A3A4D;--primary-dark: #002D52;--bg-main: #0D1117;--bg-white: #161B22;--bg-light: #21262D;--bg-hover: #30363D;--bg-tertiary: #484F58;--text-primary: #E0E6ED;--text-secondary: #C9D1D9;--text-muted: #8B949E;--text-white: #FFFFFF;--border: #30363D;--border-hover: #484F58;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background:var(--bg-main);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}button{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;padding:.5rem 1rem;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .2s;background:var(--bg-white);color:var(--text-primary);border-color:var(--border);display:inline-flex;align-items:center;gap:.5rem}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--text-white);border-color:var(--primary);flex-shrink:0;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;min-width:auto}.btn-primary:hover{background:var(--primary-hover)}.btn-success{background:var(--success);color:var(--text-white)}.btn-danger{background:var(--danger);color:var(--text-white)}.btn-icon{padding:.5rem;min-width:40px;justify-content:center}.btn-icon:hover{transform:none!important}.dropdown-menu{animation:fadeIn .15s ease-out}.dropdown-item{width:100%;text-align:left;padding:.75rem 1rem;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;display:flex;align-items:center;gap:.75rem;transition:background .2s;cursor:pointer}.dropdown-item:hover{background:var(--primary-light);color:var(--primary);transform:none;box-shadow:none}.dropdown-item i{width:1.25rem;text-align:center}.card-actions-menu{animation:fadeIn .15s ease-out}.card-action-item{width:100%;text-align:left;padding:.65rem .9rem;border:none;background:transparent;color:var(--text-primary);font-size:.85rem;display:flex;align-items:center;gap:.65rem;transition:background .2s;cursor:pointer}.card-action-item:hover{background:var(--primary-light);color:var(--primary);transform:none;box-shadow:none}.card-action-item i{width:1.1rem;text-align:center;font-size:.9rem}.header{background:var(--bg-white);border-bottom:1px solid var(--border);padding:var(--spacing-md) var(--spacing-xl);position:sticky;top:0;z-index:100}.header-left h1{color:var(--primary);font-size:var(--font-size-xl);display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.quick-stats{display:flex;gap:var(--spacing-md);margin-top:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.quick-stats::-webkit-scrollbar{height:4px}.quick-stats::-webkit-scrollbar-track{background:transparent}.quick-stats::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.stat-card{background:transparent;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;border:1px solid var(--border)}.tab-stats-panel{background:var(--bg-white);border:1px solid var(--border);border-radius:12px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.tab-stats-panel.collapsed .stats-grid{display:none}.tab-stats-panel.collapsed .stats-header .fa-chevron-up{transform:rotate(180deg)}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.stats-header h3{margin:0;font-size:var(--font-size-lg);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.stat-card-enhanced{background:var(--bg-light);border:1px solid var(--border);border-radius:8px;padding:var(--spacing-md);text-align:center;transition:all .3s ease}.stat-card-enhanced:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border-hover)}.stat-card-enhanced.stat-warning{border-left:4px solid var(--warning);background:linear-gradient(to right,rgba(245,158,11,.1),var(--bg-light))}.stat-card-enhanced.stat-info{border-left:4px solid var(--info);background:linear-gradient(to right,rgba(59,130,246,.1),var(--bg-light))}.stat-card-enhanced.stat-success{border-left:4px solid var(--success);background:linear-gradient(to right,rgba(16,185,129,.1),var(--bg-light))}.stat-card-enhanced.stat-danger{border-left:4px solid var(--danger);background:linear-gradient(to right,rgba(239,68,68,.1),var(--bg-light))}.stat-card-enhanced .stat-number{font-size:var(--font-size-3xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.stat-card-enhanced .stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.stat-card-enhanced .stat-meta{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.stat-card-enhanced .stat-breakdown{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center;margin-top:var(--spacing-sm)}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:var(--font-size-xs);font-weight:600}.badge-info{background:var(--info);color:#fff}.badge-warning{background:var(--warning);color:#fff}.badge-success{background:var(--success);color:#fff}.patient-card-modern.long-stay{border-left:4px solid var(--warning)}.patient-card-modern.long-stay-14{border-left:4px solid var(--danger)}.patient-card-modern.upcoming-surgery{border-top:3px solid var(--info)}.patient-card-modern.pending-labs{border-right:3px solid var(--warning)}.patient-card-modern.discharge-priority{border-left:4px solid var(--success)}.patient-card-modern.readmission-risk{border-left:4px solid var(--danger)}.stat-number{display:block;font-size:var(--font-size-2xl);font-weight:700;color:var(--primary)}.stat-label{display:block;font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.tabs{background:var(--bg-white);border-bottom:1px solid var(--border);padding:0 var(--spacing-xl);display:flex;gap:var(--spacing-xs);overflow-x:auto}.tab{padding:var(--spacing-md) var(--spacing-lg);background:transparent;color:var(--text-secondary);border-bottom:3px solid transparent;transition:all .2s}.tab:hover{color:var(--primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.main-content{padding:var(--spacing-xl);max-width:1600px;margin:0 auto;animation:fadeIn .4s ease-out}.toolbar{background:var(--bg-white);padding:var(--spacing-lg);border-radius:8px;margin-bottom:var(--spacing-xl);display:flex;gap:var(--spacing-md);align-items:center;border:1px solid var(--border);position:relative}.toolbar-search input[type=search]{width:100%;padding:.75rem 1rem;border:2px solid var(--border);border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.toolbar-search input[type=search]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.context-menu{position:fixed;background:var(--bg-white);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 16px rgba(0,0,0,.12);overflow:hidden;min-width:200px;z-index:1000}.context-menu .item{padding:.6rem .8rem;cursor:pointer;display:flex;align-items:center;gap:.5rem}.context-menu .item:hover{background:var(--primary-light);color:var(--primary)}.context-menu-divider{height:1px;background:var(--border);margin:.25rem 0}#search-patients{flex:1;padding:.75rem 1rem;border:2px solid var(--border);border-radius:6px;font-size:var(--font-size-base)}#search-patients:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg);contain:layout style;content-visibility:auto}.patients-grid>div>h2{grid-column:1 / -1;width:100%}.patients-grid>div>div[style*="grid-template-columns: repeat"]{grid-column:1 / -1;width:100%}.patients-grid>div[style*="padding: 2rem"]{grid-column:1 / -1;width:100%;display:block}.patient-card{background:var(--bg-white);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:12px;padding:1.25rem;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease;position:relative;display:flex;flex-direction:column;min-height:280px;contain:layout style paint;content-visibility:auto}.patient-card:hover{box-shadow:var(--shadow)}.patient-card.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 4px 12px rgba(0,102,204,.15)}.patient-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.patient-header-content{flex:1;min-width:0}.patient-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0;margin-bottom:.5rem;line-height:1.3;display:flex;align-items:center;gap:.5rem}.patient-name:before{content:"👤";font-size:1.2rem}.patient-meta{font-size:var(--font-size-xs);color:var(--text-muted);margin:0;font-weight:600;letter-spacing:.3px;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.patient-badge{padding:.35rem .75rem;border-radius:4px;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;flex-shrink:0}.badge-admitted{background:#dcfce7;color:#166534}.badge-pre-op{background:#fef3c7;color:#92400e}.badge-post-op{background:#dbeafe;color:#1e40af}.badge-discharged{background:#f3f4f6;color:#374151}.badge-outpatient{background:#e0e7ff;color:#3730a3}.badge-outpatient:before{background:#3730a3}.badge-er{background:#fee2e2;color:#991b1b}.badge-er:before{background:#991b1b}.badge-default{background:#f3f4f6;color:#6b7280}.badge-default:before{background:#6b7280}.patient-primary-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,rgba(0,102,204,.02),rgba(0,102,204,.01));border-left:3px solid var(--primary);border-radius:8px}.info-group{display:flex;flex-direction:column;gap:.3rem}.info-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600;display:flex;align-items:center;gap:.4rem}.info-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600;padding:.4rem 0}.diagnosis-text{font-size:var(--font-size-sm);line-height:1.5;color:var(--text-secondary)}.info-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.patient-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.patient-actions-compact{display:flex;gap:.5rem;margin-top:auto;padding-top:1rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.action-btn-secondary{background:transparent;color:var(--text-muted);border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:.375rem}.action-btn-secondary:hover{background:var(--bg-hover);color:var(--primary)}.action-btn-primary{background:var(--primary);color:var(--text-white);border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:.375rem}.action-btn-primary:hover{background:var(--primary-hover);box-shadow:0 4px 12px rgba(0,102,204,.25)}.patient-events-summary{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-light);border-radius:8px;border-left:3px solid var(--primary);margin-bottom:.75rem}.patient-surgeries-summary{border-left-color:var(--success)}.events-list{display:flex;flex-direction:column;gap:.375rem}.patient-event{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .625rem;background:var(--bg-white);border-radius:6px;font-size:var(--font-size-xs);border-left:3px solid var(--primary);transition:all .2s ease}.patient-event:hover{background:var(--bg-hover)}.patient-event.event-today{border-left-color:var(--warning)}.patient-event.event-overdue{border-left-color:var(--danger)}.patient-event.event-upcoming{border-left-color:var(--info)}.event-content{display:flex;align-items:center;gap:.375rem;flex:1;min-width:0;font-size:var(--font-size-xs)}.event-content i{flex-shrink:0;width:1em;text-align:center}.event-content strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-date{font-size:var(--font-size-xs);font-weight:600;padding:.25rem .5rem;background:var(--primary);color:var(--text-white);border-radius:4px;flex-shrink:0}.events-more{text-align:center;color:var(--text-muted);font-size:var(--font-size-xs);padding:.375rem 0;font-style:italic}.patient-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border)}.bulk-actions{background:var(--primary);color:var(--text-white);padding:var(--spacing-md) var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-sm);box-shadow:var(--shadow);position:sticky;top:0;z-index:99}.bulk-actions-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-md);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:8px;color:var(--text-white);cursor:pointer;font-weight:500;min-height:48px;width:100%;transition:all .3s ease}.bulk-actions-toggle:hover{background:rgba(255,255,255,.25);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.2)}.bulk-actions-icon{transition:transform .3s ease;font-size:.85rem}.bulk-actions.expanded .bulk-actions-icon{transform:rotate(180deg)}.bulk-actions-content{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin .3s ease;margin-top:0}.bulk-actions.expanded .bulk-actions-content{max-height:200px;opacity:1;margin-top:var(--spacing-xs)}.bulk-actions.collapsed .bulk-actions-content{max-height:0;opacity:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.bulk-actions button{background:rgba(255,255,255,.2);color:var(--text-white);border-color:rgba(255,255,255,.3)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s;overflow:auto}.modal{background:var(--bg-white);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:1100px;max-height:90vh;animation:slideUp .3s ease-out;border:1px solid var(--border);display:flex;flex-direction:column;margin:auto}.modal-content{padding:var(--spacing-xl);width:100%;overflow-y:auto;flex:1;min-height:0}.modal-content.large{max-width:100%}.modal-header{display:flex;align-items:center;gap:.5rem}.modal-back{background:none!important;border:none!important;color:var(--text-primary)!important;font-size:1.25rem!important;cursor:pointer!important;padding:.25rem .5rem!important;margin-right:.5rem!important;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;border-radius:4px!important;transition:all .2s!important}.modal-back:hover{color:var(--primary)!important;background:var(--bg-light)!important}.modal-close{background:none!important;border:none!important;color:var(--text-primary)!important;font-size:1.5rem!important;cursor:pointer!important;padding:.25rem .5rem!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:4px!important;transition:all .2s!important}.modal-close:hover{background:var(--bg-light)!important;color:var(--danger)!important}.modal-header h2{flex:1;margin:0}.modal-header-old{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:var(--spacing-lg);border-bottom:2px solid var(--border);flex-shrink:0;background:var(--bg-white);border-radius:12px 12px 0 0}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg);border-bottom:1px solid var(--border)}.modal-footer{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);background:var(--bg-light)}.modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-muted);padding:0;width:32px;height:32px}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:6px;font-family:var(--font-family)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border)}#toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:10000;display:flex;flex-direction:column;gap:var(--spacing-sm)}.toast{background:var(--bg-white);border-left:4px solid var(--primary);padding:var(--spacing-md) var(--spacing-lg);border-radius:6px;box-shadow:var(--shadow-lg);min-width:300px;display:flex;align-items:center;gap:var(--spacing-md);animation:slideInRight .3s}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite;margin:var(--spacing-xl) auto}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes softPulse{0%,to{opacity:1;box-shadow:0 0 rgba(239,68,68,.7)}50%{opacity:.9;box-shadow:0 0 0 10px rgba(239,68,68,0)}}@keyframes warningPulse{0%,to{opacity:1;box-shadow:0 0 rgba(245,158,11,.7)}50%{opacity:.9;box-shadow:0 0 0 10px rgba(245,158,11,0)}}@keyframes successPulse{0%,to{opacity:1;box-shadow:0 0 rgba(16,185,129,.7)}50%{opacity:.9;box-shadow:0 0 0 10px rgba(16,185,129,0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes checkmark{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes countUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(500px) rotate(360deg);opacity:0}}@keyframes confetti-drop{to{transform:translateY(var(--fall-distance, 100vh))}}button{transition:all .2s cubic-bezier(.4,0,.2,1)}button:hover{box-shadow:var(--shadow)}button:active{animation:buttonClick .15s ease-out}@keyframes buttonClick{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.stat-number{animation:countUp .6s ease-out}.patient-card{animation:slideInUp .35s ease-out;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes slideInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.patient-card.urgent{animation:softPulse 2s infinite}.patient-card.warning{animation:warningPulse 2s infinite}.command-palette{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:none;justify-content:center;align-items:flex-start;padding-top:10vh;z-index:2000;animation:fadeIn .2s ease-out}.command-palette.active{display:flex}.command-palette-content{background:var(--bg-white);border-radius:8px;width:90%;max-width:600px;box-shadow:var(--shadow-lg);max-height:500px;display:flex;flex-direction:column;animation:slideInDown .3s ease-out}.command-palette-input{padding:var(--spacing-lg);border-bottom:1px solid var(--border);font-size:var(--font-size-lg);border:none;outline:none;font-family:var(--font-family)}.command-palette-results{overflow-y:auto;flex:1}.command-item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;border-bottom:1px solid var(--border);transition:all .2s;display:flex;justify-content:space-between;align-items:center}.command-item:hover{background:var(--primary-light)}.command-item.selected{background:var(--primary-light);border-left:3px solid var(--primary)}.command-shortcut{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--text-white);border:none;cursor:pointer;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease;z-index:500}.fab:hover{transform:scale(1.1) rotate(45deg);box-shadow:0 8px 20px rgba(0,102,204,.3)}.fab-menu{position:fixed;bottom:120px;right:2rem;display:flex;flex-direction:column;gap:.5rem;opacity:0;pointer-events:none;transition:opacity .3s ease}.fab-menu.active{opacity:1;pointer-events:auto}.fab-item{background:var(--bg-white);color:var(--text-primary);border:2px solid var(--primary);border-radius:8px;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:all .2s;display:flex;gap:var(--spacing-md);align-items:center;white-space:nowrap;box-shadow:var(--shadow);animation:slideInUp .3s ease-out}.fab-item:hover{background:var(--primary);color:var(--text-white);transform:translate(-10px)}#toast-container{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);z-index:1500;max-width:400px}.toast{background:var(--bg-white);padding:var(--spacing-lg);border-radius:8px;margin-bottom:var(--spacing-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--spacing-md);animation:slideInUp .3s ease-out;border-left:4px solid var(--primary)}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}.toast.info{border-left-color:var(--info)}.toast-close{cursor:pointer;font-weight:700;font-size:1.25rem;margin-left:auto;transition:all .2s}.toast.status-transition{cursor:pointer;border-left-width:4px;transition:all .2s}.toast.status-transition:hover{transform:translate(-5px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.tab-quick-actions-btn{margin-left:auto;padding:var(--spacing-md) var(--spacing-lg);background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:44px;height:100%;font-size:1.1rem}.tab-quick-actions-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.tab-quick-actions-menu{position:fixed;top:80px;right:var(--spacing-lg);background:var(--bg-white);border-radius:8px;box-shadow:var(--shadow-lg);min-width:250px;max-width:350px;z-index:1000;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .3s ease;border:1px solid var(--border)}.tab-quick-actions-menu.active{opacity:1;pointer-events:auto;transform:translateY(0)}.quick-actions-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--text-primary);background:var(--primary-light)}.quick-actions-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.quick-actions-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.quick-actions-list{max-height:400px;overflow-y:auto;padding:var(--spacing-sm)}.quick-action-item{padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;border-radius:6px;transition:all .2s;color:var(--text-primary)}.quick-action-item:hover{background:var(--primary-light);color:var(--primary);transform:translate(5px)}.quick-action-item i{width:20px;text-align:center;font-size:1.1rem}.auto-refresh-indicator{position:absolute;top:-5px;right:-5px;background:var(--success);color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.7rem;animation:spin .5s linear;box-shadow:0 2px 4px rgba(0,0,0,.2);z-index:10}@keyframes pulse{0%,to{box-shadow:0 0 rgba(0,102,204,.7)}50%{box-shadow:0 0 0 10px rgba(0,102,204,0)}}.toast-close:hover{transform:scale(1.2)}.keyboard-shortcut-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:.5rem;font-family:monospace;opacity:.7}.achievement-badge{background:linear-gradient(135deg,var(--warning),var(--success));color:var(--text-white);padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;margin-bottom:var(--spacing-md);animation:slideInUp .5s ease-out;display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-lg)}.achievement-icon{font-size:1.5rem;animation:bounce .6s ease-out}.streak-counter{display:inline-block;background:linear-gradient(135deg,#ff6b6b,#ffe66d);color:var(--text-white);padding:.25rem .75rem;border-radius:20px;font-weight:700;font-size:var(--font-size-sm);animation:bounce .5s ease-out}.progress-ring{transform:rotate(-90deg);transform-origin:50% 50%}.progress-ring-circle{transition:stroke-dashoffset .35s;stroke:var(--primary)}body{transition:background-color .3s ease,color .3s ease}button{transition:background-color .2s ease,border-color .2s ease}.patient-detail-grid{display:grid;grid-template-columns:340px 1fr;gap:var(--spacing-xl);align-items:start}.patient-detail-sidebar{position:sticky;top:calc(var(--spacing-xl) + 100px)}.patient-info-block{background:linear-gradient(135deg,var(--bg-light),var(--bg-white));padding:var(--spacing-lg);border-radius:12px;border-left:4px solid var(--primary);box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:var(--spacing-lg);transition:all .3s ease}.patient-info-block:hover{box-shadow:0 8px 16px rgba(0,0,0,.1);transform:translateY(-2px)}.patient-info-block h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--primary);display:flex;align-items:center;gap:var(--spacing-sm)}.patient-info-block>div:not(h3){display:grid;gap:var(--spacing-md)}.quick-notes-block{border-left:4px solid var(--info);margin-bottom:var(--spacing-lg)}.quick-notes-list{max-height:300px;overflow-y:auto;margin-bottom:var(--spacing-md);padding-right:.5rem}.quick-note-item{background:var(--bg-white);border:1px solid var(--border);border-radius:6px;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.note-type{background:var(--primary);color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.note-date{color:var(--text-muted);font-size:var(--font-size-xs)}.note-content{color:var(--text-primary);line-height:1.4;white-space:pre-wrap;word-break:break-word}.quick-notes-input textarea{font-family:inherit}.quick-actions-block{background:var(--bg-light);border-left:4px solid var(--success)}.quick-actions-block button{width:100%;justify-content:flex-start;font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-sm);transition:all .2s ease}.quick-actions-block button:last-child{margin-bottom:0}.quick-actions-block button:hover{transform:translate(4px);box-shadow:0 4px 12px rgba(0,102,204,.15)}.patient-timeline-section{background:var(--bg-white);padding:var(--spacing-lg);border-radius:12px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.06)}.patient-timeline-section h3{color:var(--primary);margin-bottom:var(--spacing-lg);font-size:var(--font-size-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.patient-detail-header{margin-bottom:var(--spacing-xl)}.header-breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-muted)}.breadcrumb-separator{color:var(--text-muted)}.breadcrumb-current{color:var(--text-primary);font-weight:500}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font-size:inherit;display:inline-flex;align-items:center;gap:.25rem;transition:color .2s ease}.btn-link:hover{color:var(--primary-dark);text-decoration:underline}.header-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.header-left{display:flex;align-items:center;gap:var(--spacing-lg);flex:1;min-width:0}.patient-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;flex-shrink:0}.patient-title-section{flex:1;min-width:0}.patient-name{color:var(--primary);margin:0 0 .5rem;font-size:1.75rem;font-weight:600;word-wrap:break-word}.patient-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-muted);flex-wrap:wrap}.meta-separator,.last-updated{color:var(--text-muted)}.header-right{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.status-badge-wrapper{margin-right:var(--spacing-sm)}.status-badge-animated{position:relative;animation:pulse 2s ease-in-out infinite}.status-badge-animated i{font-size:.5rem;margin-right:.25rem}.header-actions{display:flex;gap:.5rem;align-items:center}.btn-icon{background:var(--bg-light);border:1px solid var(--border);padding:.5rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease;font-size:1rem;width:36px;height:36px}.btn-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.btn-icon.favorited{color:var(--warning)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--bg-white);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:1000;min-width:180px;overflow:hidden}.dropdown-menu a{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:var(--text-primary);text-decoration:none;transition:background .2s ease}.dropdown-menu a:hover{background:var(--bg-light)}.quick-stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.quick-stat-card{background:var(--bg-light);border-radius:8px;padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);border:1px solid var(--border);transition:all .2s ease}.quick-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-content{flex:1}.stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.2}.stat-label{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:.25rem}.quick-stats-block{border-left:4px solid var(--info)}.quick-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stat-mini-card{background:var(--bg-white);border-radius:6px;padding:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm);border:1px solid var(--border)}.stat-mini-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.9rem}.stat-mini-info{flex:1}.stat-mini-value{font-size:1.1rem;font-weight:600;color:var(--text-primary);line-height:1.2}.stat-mini-label{font-size:var(--font-size-xs);color:var(--text-muted)}.block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.collapsible-header{cursor:pointer;user-select:none}.collapsible-content{max-height:1000px;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;opacity:1}.patient-info-block.expanded .collapsible-content{max-height:1000px;opacity:1;margin-bottom:var(--spacing-md)}.patient-info-block:not(.expanded) .collapsible-content{max-height:0;opacity:0;margin-bottom:0;overflow:hidden}.collapse-icon{transition:transform .3s ease}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.info-row:last-child{border-bottom:none}.info-value{color:var(--text-primary);text-align:right}.info-value.editable-field{cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;display:inline-block;min-width:60px}.info-value.editable-field:hover{background:var(--bg-light);color:var(--primary)}.inline-edit-input{padding:.25rem .5rem;border:2px solid var(--primary);border-radius:4px;background:var(--bg-white);color:var(--text-primary);font-size:inherit;font-family:inherit;min-width:100px}.inline-edit-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.timeline-filters{background:var(--bg-light);padding:var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-lg);border:1px solid var(--border)}.filter-group{margin-bottom:var(--spacing-md)}.filter-group:last-child{margin-bottom:0}.filter-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:6px;font-size:var(--font-size-sm);background:var(--bg-white);color:var(--text-primary);transition:border-color .2s ease}.filter-input:focus{outline:none;border-color:var(--primary)}.filter-checkboxes{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-white);border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm);user-select:none}.filter-checkbox:hover{background:var(--bg-light);border-color:var(--primary)}.filter-checkbox input[type=checkbox]{cursor:pointer}.filter-checkbox span{display:flex;align-items:center;gap:.25rem}.filter-results{font-size:var(--font-size-sm);color:var(--text-muted);margin-left:var(--spacing-sm)}.date-range-filter{margin-bottom:var(--spacing-sm)}.date-range-filter input[type=date]{font-size:var(--font-size-sm)}.timeline-count-badge{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:var(--font-size-sm);font-weight:500}.timeline-item-wrapper{position:relative}.timeline-connector{pointer-events:none}.timeline-item-content{transition:all .2s ease}.timeline-item-content:hover{transform:translate(4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.timeline-expand-icon{transition:transform .2s ease}.timeline-item-details{animation:fadeIn .3s ease}@keyframes highlight{0%,to{background-color:transparent}50%{background-color:rgba(59,130,246,.2)}}.lab-trend-card{transition:transform .2s ease}.lab-trend-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.clinical-alerts-block{border-left:4px solid var(--danger);margin-bottom:var(--spacing-lg)}.alert-count-badge{background:var(--danger);color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;margin-left:.5rem}.alerts-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.alert-item{background:var(--bg-white);border:1px solid var(--border);border-radius:6px;padding:var(--spacing-sm);display:flex;gap:var(--spacing-sm);align-items:flex-start;cursor:pointer;transition:all .2s ease}.alert-item:hover{transform:translate(4px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.alert-item.alert-critical{border-left:4px solid var(--danger);background:rgba(239,68,68,.05)}.alert-item.alert-warning{border-left:4px solid var(--warning);background:rgba(251,191,36,.05)}.alert-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}.alert-critical .alert-icon{background:var(--danger);color:#fff}.alert-warning .alert-icon{background:var(--warning);color:#fff}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:var(--font-size-sm)}.alert-message{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.alert-date{color:var(--text-muted);font-size:var(--font-size-xs);margin-top:.25rem}.timeline-view-modes{display:flex;gap:.25rem;border:1px solid var(--border);border-radius:6px;padding:.125rem;background:var(--bg-light)}.timeline-view-modes button{padding:.375rem .75rem;font-size:var(--font-size-xs);border-radius:4px;transition:all .2s ease}.timeline-view-modes button.active{background:var(--primary);color:#fff}.timeline-compact-view .timeline-item-content{padding:var(--spacing-sm)!important}.timeline-group{animation:fadeIn .3s ease}.related-patients-block{margin-bottom:var(--spacing-lg)}.related-patients-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.related-patient-item{background:var(--bg-white);border:1px solid var(--border);border-radius:6px;padding:var(--spacing-sm);transition:all .2s ease}.related-patient-item:hover{transform:translate(4px);box-shadow:0 2px 8px rgba(0,0,0,.1);border-color:var(--primary)}.related-patient-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.patient-tags-block{margin-bottom:var(--spacing-lg)}.patient-tags-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.current-tags{min-height:2rem;padding:.5rem;background:var(--bg-light);border-radius:6px}.patient-tag{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:16px;font-size:var(--font-size-sm);font-weight:500}.tag-remove{background:transparent;border:none;color:#fff;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.tag-remove:hover{background:rgba(255,255,255,.2)}.tags-input-container{display:flex;gap:var(--spacing-sm)}.tag-select,.custom-tag-input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:var(--font-size-sm);background:var(--bg-white);color:var(--text-primary)}.custom-tag-input{font-size:var(--font-size-sm)}.saved-filter-presets{background:var(--bg-light);padding:var(--spacing-sm);border-radius:6px;margin-bottom:var(--spacing-md)}.preset-remove{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;margin-left:.5rem;font-size:var(--font-size-xs);transition:all .2s ease}.preset-remove:hover{color:var(--danger)}.btn-xs{padding:.25rem .5rem;font-size:var(--font-size-xs);position:relative}.recent-activity-block{margin-bottom:var(--spacing-lg)}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.activity-item{display:flex;gap:var(--spacing-sm);align-items:flex-start;padding:var(--spacing-sm);background:var(--bg-white);border:1px solid var(--border);border-radius:6px;transition:all .2s ease}.activity-item:hover{transform:translate(4px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.activity-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem}.activity-content{flex:1;min-width:0}.activity-text{color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:.25rem}.activity-date{color:var(--text-muted);font-size:var(--font-size-xs)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-skeleton .skeleton-text,.loading-skeleton .skeleton-card,.loading-skeleton .skeleton-avatar{animation:pulse 1.5s ease-in-out infinite}.error-state{padding:var(--spacing-xl);text-align:center}[data-tooltip]{position:relative;cursor:help}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.5rem .75rem;background:var(--text-primary);color:var(--bg-white);border-radius:6px;font-size:var(--font-size-xs);white-space:nowrap;z-index:1000;margin-bottom:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}[data-tooltip]:hover:before{content:"";position:absolute;bottom:calc(100% - 5px);left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--text-primary);z-index:1000}@media print{.patient-detail-view{background:#fff}.patient-detail-header,.patient-detail-sidebar,.patient-detail-content{break-inside:avoid}.btn-icon,.mobile-sidebar-toggle,.fab-button,.fab-menu,.saved-filter-presets,.timeline-view-modes{display:none!important}.patient-detail-grid{display:block}.patient-info-block{page-break-inside:avoid;margin-bottom:var(--spacing-md)}.timeline-item-wrapper{page-break-inside:avoid}.quick-stats-bar,.quick-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.empty-state-message{margin-bottom:var(--spacing-lg);color:var(--text-secondary)}.empty-state-action{margin-top:var(--spacing-md)}.data-completeness-block{margin-bottom:var(--spacing-lg)}.completeness-badge{padding:.125rem .5rem;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;margin-left:.5rem}.completeness-high{background:var(--success);color:#fff}.completeness-medium{background:var(--warning);color:#fff}.completeness-low{background:var(--danger);color:#fff}.missing-field-badge{display:inline-block;padding:.25rem .5rem;background:rgba(239,68,68,.1);color:var(--danger);border:1px solid rgba(239,68,68,.2);border-radius:4px;font-size:var(--font-size-xs);font-weight:500}.medication-timeline-block{margin-bottom:var(--spacing-lg)}.medication-timeline-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.med-category-group{animation:fadeIn .3s ease}.med-item{transition:all .2s ease}.med-item:hover{transform:translate(4px);box-shadow:0 2px 8px rgba(0,0,0,.1);border-color:var(--primary)}.modal-overlay .modal-content .btn-danger{background:var(--danger);color:#fff}.modal-overlay .modal-content .btn-danger:hover{background:#dc2626}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.patient-info-block,.timeline-item-wrapper,.alert-item,.related-patient-item,.activity-item{animation:fadeIn .3s ease}.patient-detail-sidebar{animation:slideInRight .3s ease}.modal-content{animation:scaleIn .2s ease}@media (max-width: 768px){.patient-detail-grid{grid-template-columns:1fr}.patient-detail-sidebar{position:static;margin-bottom:var(--spacing-lg)}.header-main{flex-direction:column;align-items:stretch}.header-left{flex-direction:column;align-items:flex-start}.header-right{width:100%;justify-content:space-between;margin-top:var(--spacing-md)}.quick-stats-bar,.quick-stats-grid{grid-template-columns:repeat(2,1fr)}.filter-checkboxes{flex-direction:column}.filter-checkbox{width:100%}.patient-name{font-size:1.5rem}}@media (max-width: 480px){.quick-stats-bar{grid-template-columns:1fr}.header-actions{flex-wrap:wrap}.btn-icon{width:32px;height:32px;font-size:.9rem}}.mobile-sidebar-toggle{display:none;position:fixed;top:80px;left:10px;z-index:1001;background:var(--primary);color:#fff;border:none;border-radius:50%;width:48px;height:48px;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;align-items:center;justify-content:center;font-size:1.2rem}@media (max-width: 768px){.mobile-sidebar-toggle{display:flex}.patient-detail-sidebar{position:fixed;left:-100%;top:0;bottom:0;width:300px;background:var(--bg-white);z-index:1000;overflow-y:auto;transition:left .3s ease;box-shadow:2px 0 12px rgba(0,0,0,.1);padding:var(--spacing-xl)}.patient-detail-sidebar.mobile-open{left:0}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;animation:fadeIn .3s ease}.patient-detail-grid{grid-template-columns:1fr}.patient-timeline-section{margin-left:0}}.fab-button{display:none;position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;border:none;box-shadow:0 4px 12px rgba(0,0,0,.3);cursor:pointer;z-index:998;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease}.fab-button:hover,.fab-button.active{background:var(--primary-dark);transform:scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,.4)}.fab-menu{position:fixed;bottom:90px;right:20px;display:none;flex-direction:column;gap:.75rem;z-index:997;animation:slideUp .3s ease}.fab-menu button{background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:1rem;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;display:flex;align-items:center;gap:.75rem;min-width:180px;transition:all .2s ease;font-size:var(--font-size-sm);white-space:nowrap}.fab-menu button:hover{background:var(--primary);color:#fff;transform:translate(-4px)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.fab-button{display:flex}}.timeline-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-light);border-radius:8px;gap:var(--spacing-md)}.pagination-info{font-size:var(--font-size-sm);color:var(--text-muted);flex:1;text-align:center}.timeline-pagination button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.timeline-pagination{flex-direction:column;gap:var(--spacing-sm)}.pagination-info{order:-1}}.btn-sm{padding:.375rem .75rem;font-size:var(--font-size-sm)}.btn-secondary{background:var(--bg-light);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border);border-color:var(--text-muted)}.view{display:none}.view.active{display:block;animation:fadeIn .3s ease-out}.loading-container{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.spinner{border:4px solid var(--border);border-top:4px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite;margin:0 auto}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-light) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1s infinite}.hidden{display:none!important}@media (max-width: 900px) and (min-width: 600px){.quick-stats{display:flex!important;flex-direction:row;gap:var(--spacing-xs);margin-top:var(--spacing-xs);width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:0 0 var(--spacing-xs) 0;margin:0;flex-wrap:nowrap;scrollbar-width:none}.quick-stats::-webkit-scrollbar{display:none}.stat-card{min-width:70px;max-width:85px;padding:.4rem .6rem;font-size:.7rem;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-white) 100%);border:1px solid var(--border);text-align:center}.stat-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px)}.stat-number{font-size:.9rem;font-weight:800;display:block;color:var(--primary)}.stat-label{font-size:.6rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header>div{flex-direction:column!important;justify-content:flex-start!important;gap:var(--spacing-sm)!important}.header-left{order:1}.header-right{gap:.35rem;flex-wrap:wrap;order:2;width:100%;justify-content:flex-start}.header-right .btn-primary{padding:.45rem .6rem;font-size:.75rem;flex-shrink:0;display:inline-flex;white-space:nowrap}.header-right .btn-primary i{font-size:.85rem}}@media (max-width: 1024px){.patient-detail-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.patient-detail-sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media (max-width: 768px){.mobile-menu-toggle{display:flex}.header-right{display:none!important}.header-left{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.header-left h1{flex:1;margin:0}.patients-grid{grid-template-columns:1fr}.header{padding:var(--spacing-md);flex-direction:column;gap:var(--spacing-sm)}.header>div{flex-direction:column!important;width:100%!important;gap:var(--spacing-sm)!important;justify-content:flex-start!important;align-items:stretch!important}.header-left{width:100%;order:1;display:flex;align-items:center;gap:var(--spacing-sm)}.header-left h1{font-size:1rem;margin-bottom:var(--spacing-xs);flex:1}.mobile-tab-selector{display:block}.tabs-desktop{display:none}.tabs{padding:0;flex-direction:column;border-bottom:none}.toolbar-section{margin-bottom:var(--spacing-xs)}.toolbar-section-toggle{display:flex!important;min-height:32px;padding:.25rem var(--spacing-xs);font-size:.8rem}.toolbar{padding:var(--spacing-xs);gap:var(--spacing-xs)}.toolbar-section-content{flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--bg-light);border-radius:6px;margin-top:var(--spacing-xs)}.toolbar-section-search{width:100%;max-width:100%}.toolbar-section-search .toolbar-section-content{padding:var(--spacing-sm)}.quick-filters-bar{padding:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.quick-filters-toggle{display:flex!important;width:100%;justify-content:space-between;position:relative;min-height:32px;padding:.25rem var(--spacing-xs);font-size:.8rem}.quick-filters-content{flex-direction:column;width:100%;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--bg-light);border-radius:6px;margin-top:var(--spacing-xs);max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.summary-stats-bar{padding:.25rem var(--spacing-xs);gap:0;margin-bottom:var(--spacing-xs)}.summary-stats-toggle{display:flex!important;min-height:28px;padding:.25rem var(--spacing-xs);font-size:.75rem}.bulk-actions-toggle{display:flex!important}.quick-filter-btn{width:100%;justify-content:center;min-height:48px;padding:var(--spacing-md);font-size:var(--font-size-base);border-radius:8px}.quick-filters-count{position:absolute;top:-8px;right:-8px;margin-left:0;font-size:.7rem;padding:.25rem .5rem}.quick-filters-bar{flex-direction:column;align-items:stretch;padding:var(--spacing-md)}.modal{width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0;margin:0}.modal-content{padding:var(--spacing-md)}#ai-assistant{transition:bottom .3s ease,right .3s ease!important}#ai-assistant.ai-assistant-sidebar,#ai-assistant{width:100%!important;right:0!important;left:0!important;top:auto!important;bottom:-100%!important;height:80vh!important;max-height:80vh!important;border-left:none!important;border-top:3px solid var(--primary)!important;border-radius:16px 16px 0 0!important;padding:var(--spacing-lg)!important;box-shadow:0 -4px 20px rgba(0,0,0,.15)!important}#ai-assistant[style*="right: 0"],#ai-assistant[style*="right:0"],#ai-assistant.ai-assistant-sidebar[style*="right: 0"],#ai-assistant.ai-assistant-sidebar[style*="right:0"]{bottom:0!important}body,.main-content,.mobile-menu-content,#ai-assistant,.modal-content{-webkit-overflow-scrolling:touch}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:2px}button{-webkit-tap-highlight-color:rgba(0,102,204,.2);user-select:none}.quick-stats{display:flex!important;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:var(--spacing-xs);margin-top:var(--spacing-xs);max-width:100%;width:100%;padding-bottom:.25rem;scrollbar-width:thin}.quick-stats::-webkit-scrollbar{height:3px}.quick-stats::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.quick-stats .stat-card{min-width:70px;flex-shrink:0;padding:.4rem .5rem;font-size:.65rem;transform:none}.quick-stats .stat-number{font-size:.8rem}.quick-stats .stat-label{font-size:.55rem;white-space:nowrap}.patient-detail-grid{grid-template-columns:1fr}.patient-detail-sidebar{position:static;display:grid;grid-template-columns:1fr}.fab{bottom:1rem;right:1rem;width:48px;height:48px}.command-palette-content{width:95%}#toast-container{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}.toast{margin-bottom:var(--spacing-sm)}button{min-height:44px;min-width:44px}.tab{padding:var(--spacing-sm) var(--spacing-md)}.appointment-card,.stat-card-large{width:100%!important}#patients-container{display:block;width:100%}.patients-grid>div[style*="padding: 2rem"]{width:100%!important;padding:1rem!important}.patients-grid>div[style*="padding: 2rem"]>div[style*="display: grid; grid-template-columns"]{width:100%!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}}@media (max-width: 768px){.header{padding:var(--spacing-md) var(--spacing-md);flex-direction:column;gap:var(--spacing-sm);background:linear-gradient(to bottom,var(--bg-white),transparent);position:relative}.header>div{display:flex;flex-direction:column;width:100%;gap:var(--spacing-sm);flex-wrap:nowrap}.header-left{width:100%;flex-basis:100%;order:1}.header-right{width:100%;flex-basis:100%;order:2;justify-content:flex-start;flex-wrap:wrap;gap:var(--spacing-xs)}.header-left h1{font-size:1.4rem;margin-bottom:var(--spacing-xs);margin-top:0}.quick-stats{display:flex!important;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs);width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:0 0 var(--spacing-xs) 0;margin:0;flex-basis:100%;scrollbar-width:none}.quick-stats::-webkit-scrollbar{display:none}.stat-card{min-width:90px;max-width:120px;padding:.6rem .8rem;font-size:.8rem;transform:none;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-white) 100%);border:1px solid var(--border);text-align:center}.stat-number{font-size:1rem;font-weight:800;display:block}.stat-label{font-size:.65rem;color:var(--text-muted)}.header-right{gap:.35rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;width:100%;padding:0;margin:0;flex-basis:100%;scrollbar-width:none;display:flex}.header-right::-webkit-scrollbar{display:none}.header-right .btn-primary{display:inline-flex;min-width:fit-content;padding:.5rem .75rem;font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0}.header-right .btn-icon{flex-shrink:0;min-width:40px;padding:.5rem}.header-right .btn-primary,.header-right .btn-icon{padding:.5rem .75rem;font-size:var(--font-size-sm);border-radius:10px}.tabs,.mode-tabs{padding:0 var(--spacing-md);overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex-wrap:nowrap;display:flex;gap:var(--spacing-md);border-bottom:2px solid var(--border);min-height:44px}.tab,.mode-tab{padding:var(--spacing-md) var(--spacing-md);font-size:var(--font-size-sm);white-space:nowrap;border:none;background:transparent;cursor:pointer;transition:all .3s ease;position:relative;flex-shrink:0;color:var(--text-muted)}.tab.active,.mode-tab.active{color:var(--primary)}.tab:after,.mode-tab:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary);transform:scaleX(0);transition:transform .3s ease}.tab.active:after,.mode-tab.active:after{transform:scaleX(1)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md)}#search-patients{flex:1 1 100%;min-width:100%}.toolbar button,#filter-status{flex:1;min-width:120px}.main-content{padding:var(--spacing-lg)}.patients-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.patient-card{padding:1rem}.card-appointments{padding:.75rem .875rem;margin:.375rem 0;max-height:160px;gap:.375rem}.card-appointments h4{font-size:.8rem!important;padding-bottom:.25rem!important;margin-bottom:.375rem!important}.appointment-item{padding:.375rem .625rem;font-size:.78rem}.patient-actions{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.bulk-actions{flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-md)}.bulk-actions button{flex:1;min-width:100px;font-size:var(--font-size-sm)}.fab{bottom:1.25rem;right:1.25rem;width:56px;height:56px}.fab i{font-size:1.25rem}}@media (max-width: 480px){.header{padding:var(--spacing-sm)}.header-left h1{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.header-left h1 span{display:none}.quick-stats{display:flex!important;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:var(--spacing-xs);margin-top:var(--spacing-xs);width:100%;padding-bottom:var(--spacing-xs);scrollbar-width:none}.quick-stats::-webkit-scrollbar{display:none}.stat-card{flex-shrink:0;min-width:70px;padding:var(--spacing-xs) var(--spacing-sm);font-size:.65rem;transform:none}.stat-number{font-size:var(--font-size-sm)}.stat-label{font-size:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{gap:2px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.header-right .btn-primary,.header-right .btn-icon{padding:.375rem .5rem;font-size:.75rem;flex-shrink:0}.header-right .btn-primary{padding:.375rem .5rem;font-size:.65rem;flex-shrink:0;display:inline-flex;gap:.25rem}.header-right .btn-primary i{font-size:.8rem}.header-right .btn-icon:nth-child(n+5){display:none}.header>div{flex-direction:column!important;align-items:stretch!important;gap:var(--spacing-sm)!important;width:100%!important}.header-left{margin-bottom:0;order:1;width:100%}.header-right{order:2;width:100%;flex-wrap:wrap;justify-content:flex-start;gap:var(--spacing-xs)}.mobile-bottom-nav{display:flex}.mobile-tab-selector{display:none}.tabs{padding:0;overflow:visible;border-bottom:none}.tabs-desktop{display:none}.main-content{padding-bottom:calc(var(--spacing-xl) + 60px)}.fab{bottom:calc(60px + var(--spacing-md));right:var(--spacing-md);z-index:998}.fab{display:none}.mobile-bottom-nav{z-index:999}.modal-overlay{z-index:1001}#ai-assistant{z-index:1000}.mobile-menu-drawer{z-index:2000}.mobile-menu-content{background:var(--bg-white)}.mobile-menu-item{transition:all .2s ease}.mobile-menu-item:active{transform:translate(4px) scale(.98)}.toolbar{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs);margin-bottom:var(--spacing-xs);align-items:flex-start}.toolbar-section{flex:0 1 auto;min-width:120px;max-width:100%}.toolbar-section-search{flex:1 1 200px;min-width:200px}.toolbar-section-content{width:100%}.toolbar-section-content>*{flex:1;min-width:0}#search-patients{width:100%;padding:.75rem;font-size:var(--font-size-base);min-height:48px}#filter-status{width:100%;padding:.75rem;min-height:48px;font-size:var(--font-size-base)}.toolbar button{width:100%;font-size:var(--font-size-base);min-height:48px;padding:var(--spacing-md)}.toolbar .btn-icon{min-width:48px;min-height:48px}.main-content{padding:var(--spacing-md);padding-bottom:calc(var(--spacing-xl) + 60px)}.view{padding:0}.summary-stats-bar{padding:var(--spacing-md);font-size:var(--font-size-base);text-align:center}.bottom-nav-label{font-size:.6rem}.bottom-nav-item i{font-size:1.1rem}.bottom-nav-item{min-height:56px;padding:var(--spacing-xs)}.mobile-bottom-nav{position:fixed;will-change:transform}.patients-grid{scroll-behavior:smooth}.quick-filters-content::-webkit-scrollbar{width:4px}.quick-filters-content::-webkit-scrollbar-track{background:var(--bg-light)}.quick-filters-content::-webkit-scrollbar-thumb{background:var(--primary);border-radius:2px}.quick-filters-content{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:var(--spacing-sm);gap:var(--spacing-xs)}.quick-filter-btn{width:auto;min-width:120px;flex-shrink:0;white-space:nowrap}.quick-filters-label{display:none}body.menu-open{overflow:hidden;position:fixed;width:100%}.patients-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.patient-card{padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:12px}.patient-card-header{flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.patient-card-header>*{width:100%}.patient-name{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-xs)}.patient-meta{font-size:var(--font-size-sm);line-height:1.5}.patient-actions{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}.patient-actions button{padding:.5rem;font-size:.7rem}.bulk-actions{flex-direction:column;gap:var(--spacing-sm)}.bulk-actions button{width:100%}.fab{bottom:1rem;right:1rem;width:48px;height:48px}.fab i{font-size:1.125rem}.command-palette-content{width:95%;max-height:60vh}#toast-container{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}.toast{margin-bottom:var(--spacing-sm)}button,.btn-icon,.btn-primary,.btn-secondary{min-height:48px;min-width:48px}input,select,textarea{min-height:48px;font-size:var(--font-size-base)}.patient-card{padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .2s ease}.patient-card:active{transform:scale(.98);box-shadow:0 1px 4px rgba(0,0,0,.12)}.patient-actions button{min-height:48px;padding:var(--spacing-md);font-size:var(--font-size-base);border-radius:8px}.patient-card,.stat-card,.quick-filter-btn,.tab{-webkit-tap-highlight-color:rgba(0,102,204,.2)}.stat-card{min-height:48px;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;-webkit-tap-highlight-color:rgba(0,102,204,.2)}.patient-card{-webkit-tap-highlight-color:rgba(0,102,204,.1);transition:transform .2s,box-shadow .2s}.patient-card:active{transform:scale(.98)}.patient-actions{gap:var(--spacing-sm)}.patient-actions button{flex:1}.appointment-card,.stat-card-large{width:100%!important}#patients-container{display:block;width:100%}.patients-grid>div[style*="padding: 2rem"]{width:100%!important;padding:1rem!important}.patients-grid>div[style*="padding: 2rem"]>div[style*="display: grid; grid-template-columns"]{width:100%!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}}.timeline-container{position:relative;padding:2rem 0}.timeline-item{display:flex;gap:2rem;margin-bottom:2.5rem;opacity:0;animation:slideIn .3s ease-out forwards;animation-delay:calc(var(--index) * 50ms)}.timeline-item:before{content:"";position:absolute;left:1.5rem;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--primary),var(--border))}.timeline-date{position:absolute;left:-8rem;top:0;font-size:var(--font-size-sm);color:var(--text-muted);font-weight:600;width:7rem;text-align:right}.timeline-content{flex:1;position:relative;padding:1.5rem;background:var(--bg-white);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);transition:all .2s}.timeline-content:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translate(4px)}.timeline-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--primary-light);border:2px solid var(--primary);font-size:1.25rem;flex-shrink:0}.timeline-body{flex:1}.timeline-title{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:var(--font-size-base)}.timeline-desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:.5rem}.timeline-notes{font-size:var(--font-size-sm);color:var(--text-muted);padding:.5rem;background:var(--bg-light);border-left:3px solid var(--warning);border-radius:4px}.timeline-item.severity-high .timeline-icon{background:rgba(239,68,68,.1);border-color:var(--danger);color:var(--danger)}.timeline-item.lab .timeline-icon{color:#8b5cf6}.timeline-item.event .timeline-icon{color:#0ea5e9}.timeline-item.appointment .timeline-icon{color:#06b6d4}.timeline-item.imaging .timeline-icon{color:#ec4899}.timeline-item.procedure .timeline-icon{color:#f59e0b}.timeline-item.medication .timeline-icon{color:#10b981}.timeline-empty{text-align:center;padding:3rem;color:var(--text-muted);font-size:var(--font-size-lg)}.symptoms-list{display:grid;gap:1rem}.symptom-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--primary-light);border:1px solid var(--primary);border-radius:12px;font-size:var(--font-size-sm);font-weight:500;color:var(--primary);margin:.25rem}.symptom-badge.severity-mild{background:#dbeafe;border-color:#0284c7;color:#0284c7}.symptom-badge.severity-moderate{background:#fef3c7;border-color:#d97706;color:#d97706}.symptom-badge.severity-severe{background:#fecaca;border-color:#dc2626;color:#dc2626}.symptoms-modal-content{display:flex;flex-direction:column;gap:1.5rem}.symptom-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;max-height:300px;overflow-y:auto;padding:.5rem}.symptom-item{padding:1rem;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.symptom-item:hover{border-color:var(--primary);background:var(--primary-light)}.symptom-form{display:flex;flex-direction:column;gap:1rem}.symptom-form .form-group{display:flex;flex-direction:column;gap:.5rem}.symptom-form .form-group label{font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.symptom-form .form-group input,.symptom-form .form-group select,.symptom-form .form-group textarea{padding:.75rem;border:1px solid var(--border);border-radius:6px;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-white)}.symptom-form .form-group input:focus,.symptom-form .form-group select:focus,.symptom-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.symptom-form .checkbox-group{display:flex;align-items:center;gap:.5rem}.symptom-form .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:var(--font-size-base);color:var(--text-primary)}.templates-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.template-card{background:var(--bg-white);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .3s;box-shadow:var(--shadow-sm)}.template-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-4px)}.template-header{padding:1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.template-header h4{margin:0;color:var(--text-primary);font-size:var(--font-size-base);flex:1}.template-badge{padding:.25rem .75rem;background:var(--info);color:#fff;border-radius:6px;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.template-body{padding:1rem;border-bottom:1px solid var(--border)}.template-body p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 .75rem;line-height:1.5}.template-stats{display:flex;gap:.5rem;flex-wrap:wrap;font-size:var(--font-size-xs);color:var(--text-muted)}.template-stats span{display:flex;align-items:center;gap:.25rem}.template-actions{padding:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.btn-small{padding:.5rem .75rem;font-size:var(--font-size-xs);background:var(--bg-light);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s;flex:1;min-width:60px}.btn-small:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.btn-small.btn-danger:hover{background:#fecaca;border-color:var(--danger);color:var(--danger)}.empty-state{text-align:center;padding:3rem;color:var(--text-muted);font-size:var(--font-size-lg);background:var(--bg-light);border-radius:12px;border:1px dashed var(--border)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border);border-radius:6px;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-white);transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.mode-tabs{display:flex;gap:1rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.mode-tab{padding:.75rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);cursor:pointer;font-weight:500;transition:all .2s}.mode-tab:hover{color:var(--primary)}.mode-tab.active{color:var(--primary);border-bottom-color:var(--primary)}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.patient-card-modern{background:var(--bg-white);border-radius:12px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:all .3s ease;box-shadow:var(--shadow-sm);height:100%}.patient-card-modern:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--primary)}.card-top{display:flex;align-items:flex-start;gap:.875rem;padding:1rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--primary-light) 0%,var(--bg-white) 100%)}.card-avatar{font-size:2.5rem;line-height:1;min-width:3rem;text-align:center}.card-quick-info{flex:1;display:flex;flex-direction:column;gap:.375rem}.card-name{font-size:var(--font-size-base);font-weight:700;color:var(--text-primary);margin:0}.card-details{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.card-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:20px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.status-admitted{background:rgba(59,130,246,.1);color:#1e40af}.status-preop{background:rgba(245,158,11,.1);color:#92400e}.status-postop{background:rgba(236,72,153,.1);color:#831843}.status-discharged{background:rgba(16,185,129,.1);color:#065f46}.card-diagnoses{display:flex;flex-wrap:wrap;gap:.5rem;padding:.875rem 1rem;border-bottom:1px solid var(--border);min-height:2.75rem;align-content:flex-start}.dx-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border-radius:16px;font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(59,130,246,.08));color:#1e40af;border:1px solid rgba(59,130,246,.25)}.dx-badge:nth-child(2){background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(16,185,129,.08));color:#065f46;border-color:rgba(16,185,129,.25)}.dx-badge:nth-child(3){background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(245,158,11,.08));color:#92400e;border-color:rgba(245,158,11,.25)}.dx-badge:nth-child(n+4){display:none}.card-metrics{display:flex;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-light)}.metric-item{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);color:var(--text-secondary);flex:1}.metric-icon{font-size:1.25rem;line-height:1}.metric-value{font-weight:600;color:var(--text-primary)}.card-appointments{display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;margin:.5rem 0;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,rgba(59,130,246,.03),rgba(99,102,241,.02));transition:all .3s ease;flex-grow:1;overflow:auto;max-height:180px}.card-appointments:hover{border-color:rgba(59,130,246,.4);background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(99,102,241,.04));box-shadow:0 4px 12px rgba(59,130,246,.1)}.card-appointments h4{margin:0 0 .5rem!important;font-size:.85rem!important;color:var(--text-muted)!important;border-bottom:2px solid var(--border)!important;padding-bottom:.375rem!important;display:flex;align-items:center;gap:.375rem;white-space:nowrap;font-weight:600}.card-appointments h4 i{color:rgba(59,130,246,.7);font-size:.9rem}.appointments-list{display:flex;flex-direction:column;gap:.375rem;overflow-y:auto;padding-right:.25rem}.appointments-list::-webkit-scrollbar{width:4px}.appointments-list::-webkit-scrollbar-track{background:rgba(59,130,246,.05);border-radius:2px}.appointments-list::-webkit-scrollbar-thumb{background:rgba(59,130,246,.3);border-radius:2px;transition:background .2s ease}.appointments-list::-webkit-scrollbar-thumb:hover{background:rgba(59,130,246,.5)}.appointment-item{padding:.5rem .75rem;background:var(--bg-white);border-left:3px solid rgba(59,130,246,.4);border-radius:6px;font-size:.8rem;line-height:1.4;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:normal}.appointment-item:hover{background:rgba(59,130,246,.05);border-left-color:rgba(59,130,246,.8);padding-left:.95rem}.appointment-item i{margin-right:.375rem;color:rgba(59,130,246,.6);font-size:.75rem}.loading-mini{font-size:.8rem;color:var(--text-muted);text-align:center;padding:.5rem;font-style:italic}.card-actions{display:flex;justify-content:space-around;padding:.75rem;gap:.5rem;background:var(--bg-white);margin-top:auto}.action-icon-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--border);box-shadow:0 2px 4px rgba(0,0,0,.15);border-radius:8px;font-size:1.25rem;cursor:pointer;transition:all .2s ease;padding:0;flex:1;font-weight:500}.action-icon-btn i{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;width:100%;height:100%}.action-icon-btn.labs{background:rgba(59,130,246,.1);color:#1e40af}.action-icon-btn.labs:hover{background:rgba(59,130,246,.2);transform:scale(1.05)}.action-icon-btn.surgery{background:rgba(34,197,94,.1);color:#15803d}.action-icon-btn.surgery:hover{background:rgba(34,197,94,.2);transform:scale(1.05)}.action-icon-btn.checklist{background:rgba(245,158,11,.1);color:#92400e}.action-icon-btn.checklist:hover{background:rgba(245,158,11,.2);transform:scale(1.05)}.action-icon-btn.details{background:rgba(99,102,241,.1);color:#3730a3}.action-icon-btn.details:hover{background:rgba(99,102,241,.2);transform:scale(1.05)}@media (max-width: 768px){.patient-card-modern{min-height:auto}.card-top{padding:.875rem}.card-avatar{font-size:2rem;min-width:2.5rem}.card-name{font-size:var(--font-size-sm)}.card-diagnoses{padding:.75rem}.card-metrics{flex-direction:column;gap:.5rem;padding:.75rem}.metric-item{font-size:var(--font-size-xs)}.card-appointments{padding:.75rem .875rem;margin:.375rem 0;max-height:150px;gap:.375rem}.card-appointments h4{font-size:.8rem!important;padding-bottom:.25rem!important;margin-bottom:.375rem!important;gap:.25rem!important}.appointment-item{padding:.375rem .5rem;font-size:.75rem}.appointment-item:hover{padding-left:.625rem}.action-icon-btn{width:2rem;height:2rem;font-size:1rem}.card-actions{padding:.5rem}}.appointment-card{transition:all .3s ease;cursor:pointer}.appointment-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.appointment-card input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--primary)}#appointment-search,#filter-type,#filter-priority,#filter-date-range,#sort-by{transition:all .2s ease}#appointment-search:focus,#filter-type:focus,#filter-priority:focus,#filter-date-range:focus,#sort-by:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.bulk-actions-bar{animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}#calendar-view-container .calendar-day{transition:all .2s ease}#calendar-view-container .calendar-day:hover{transform:scale(1.02);z-index:10}.appointment-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.appointment-type-badge.lab{background:rgba(59,130,246,.1);color:#3b82f6}.appointment-type-badge.procedure{background:rgba(139,92,246,.1);color:#8b5cf6}.appointment-type-badge.followup{background:rgba(16,185,129,.1);color:#10b981}.priority-urgent{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.empty-state{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){#appointment-search,#filter-type,#filter-priority,#filter-date-range,#sort-by{font-size:.9rem;padding:.5rem}.bulk-actions-bar{flex-direction:column;gap:.5rem}.bulk-actions-bar>div{flex-direction:column;width:100%}.bulk-actions-bar button{width:100%}#calendar-view-container{overflow-x:auto}#calendar-view-container .calendar-week{min-width:700px}}.toolbar-group{display:flex;align-items:center;gap:.5rem;padding:0 .5rem;border-left:1px solid var(--border);border-right:1px solid var(--border)}.toolbar-group:first-of-type{border-left:none}.toolbar-group:last-of-type{border-right:none}.view-mode-toggle{border:1px solid var(--border);border-radius:6px;padding:.25rem;gap:0}.view-mode-toggle button{padding:.5rem .75rem;border:none;background:transparent;color:var(--text-muted);border-radius:4px;transition:all .2s}.view-mode-toggle button:hover{background:var(--bg-light);color:var(--text-primary)}.view-mode-toggle button.active{background:var(--primary);color:#fff}.mobile-menu-toggle{display:none;padding:.5rem;min-width:44px;min-height:44px;background:var(--bg-white);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center;margin-right:var(--spacing-sm);transition:all .2s}.mobile-menu-toggle:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.mobile-menu-drawer{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:none;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-menu-drawer.active{display:block;opacity:1;pointer-events:all}.mobile-menu-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}.mobile-menu-content{position:absolute;top:0;left:0;bottom:0;width:85%;max-width:320px;background:var(--bg-white);box-shadow:4px 0 12px rgba(0,0,0,.15);transform:translate(-100%);transition:transform .3s ease;overflow-y:auto;display:flex;flex-direction:column}.mobile-menu-drawer.active .mobile-menu-content{transform:translate(0)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:2px solid var(--border);background:var(--primary);color:var(--text-white)}.mobile-menu-header h2{margin:0;color:var(--text-white);font-size:var(--font-size-xl)}.mobile-menu-close{padding:.5rem;min-width:44px;min-height:44px;background:transparent;border:none;color:var(--text-white);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s}.mobile-menu-close:hover{background:rgba(255,255,255,.2)}.mobile-menu-sections{flex:1;overflow-y:auto;padding:var(--spacing-md)}.mobile-menu-section{margin-bottom:var(--spacing-xl)}.mobile-menu-section h3{font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border)}.mobile-menu-item{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-xs);background:var(--bg-white);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;text-align:left;font-size:var(--font-size-base);min-height:48px;transition:all .2s}.mobile-menu-item:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary);transform:translate(4px)}.mobile-menu-item i{width:20px;text-align:center;color:var(--primary)}.mobile-tab-selector{display:none;width:100%;padding:var(--spacing-md);border:2px solid var(--primary);border-radius:8px;background:var(--bg-white);color:var(--text-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;min-height:48px;margin:var(--spacing-md);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230066CC' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:12px;padding-right:calc(var(--spacing-xl) + 12px)}.tabs-desktop{display:flex;gap:var(--spacing-xs);overflow-x:auto}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-white);border-top:2px solid var(--border);box-shadow:0 -4px 12px rgba(0,0,0,.1);z-index:999;padding:var(--spacing-xs) 0;padding-bottom:max(var(--spacing-xs),env(safe-area-inset-bottom));justify-content:space-around;align-items:center;min-height:60px;max-height:60px}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s ease;flex:1;min-height:60px;max-width:100px;border-radius:8px;position:relative}.bottom-nav-item i{font-size:1.25rem;transition:all .2s ease}.bottom-nav-label{font-size:.65rem;font-weight:500;white-space:nowrap;transition:all .2s ease}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active i{transform:scale(1.1)}.bottom-nav-item:active{transform:scale(.95);background:var(--primary-light)}.bottom-nav-item:focus{outline:2px solid var(--primary);outline-offset:-2px}.collapsible-section{position:relative}.toolbar-section{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);min-width:0;flex:0 1 auto}.toolbar-section-toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-light);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-weight:500;min-height:36px;transition:all .3s ease;width:100%;margin-bottom:0;font-size:.85rem}.toolbar-section-toggle:hover{background:var(--bg-hover);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.toolbar-section-toggle .toolbar-section-icon{transition:transform .3s ease;color:var(--text-muted);font-size:.85rem}.toolbar-section.expanded .toolbar-section-toggle .toolbar-section-icon{transform:rotate(180deg)}.toolbar-section-content{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin .3s ease;margin-top:0;padding:0}.toolbar-section.expanded .toolbar-section-content{max-height:500px;opacity:1;margin-top:var(--spacing-xs);padding:var(--spacing-xs) 0}.toolbar-section.collapsed .toolbar-section-content{max-height:0;opacity:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.quick-filters-bar{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-light);border-bottom:1px solid var(--border);margin-bottom:var(--spacing-xs)}.quick-filters-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--primary);color:var(--text-white);border:none;border-radius:6px;cursor:pointer;font-weight:500;min-height:36px;width:100%;transition:all .3s ease;font-size:.85rem}.quick-filters-toggle:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.2)}.quick-filters-toggle.active{background:var(--primary-hover)}.quick-filters-icon{transition:transform .3s ease;font-size:.85rem}.quick-filters-bar.expanded .quick-filters-icon{transform:rotate(180deg)}.quick-filters-count{background:var(--danger);color:var(--text-white);border-radius:12px;padding:.125rem .5rem;font-size:var(--font-size-xs);font-weight:600;margin-left:auto;min-width:20px;text-align:center;display:inline-block;animation:pulse .3s ease}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.quick-filters-content{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex:1;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin .3s ease;margin-top:0}.quick-filters-bar.expanded .quick-filters-content{max-height:300px;opacity:1;margin-top:var(--spacing-xs)}.quick-filters-bar.collapsed .quick-filters-content{max-height:0;opacity:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.quick-filters-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.quick-filter-btn{padding:.5rem 1rem;border:1px solid var(--border);background:var(--bg-white);border-radius:20px;font-size:.85rem;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.quick-filter-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.quick-filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.summary-stats-bar{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-white);border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-secondary);flex-wrap:nowrap}.summary-stats-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-light);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-weight:500;min-height:32px;min-width:100px;flex-shrink:0;transition:all .3s ease;font-size:.8rem}.summary-stats-toggle:hover{background:var(--bg-hover);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.summary-stats-icon{transition:transform .3s ease;color:var(--text-muted);font-size:.85rem}.summary-stats-bar.expanded .summary-stats-icon{transform:rotate(180deg)}.summary-stats-content{display:flex;align-items:center;gap:.5rem;max-width:0;opacity:0;overflow:hidden;transition:max-width .3s ease,opacity .3s ease,margin .3s ease;margin:0;font-size:.75rem;white-space:nowrap;flex-wrap:nowrap;flex:1}@media (max-width: 768px){.summary-stats-content{flex-wrap:wrap;white-space:normal;max-width:100%}.summary-stats-bar.expanded .summary-stats-content{max-width:100%;max-height:none;overflow-x:visible;overflow-y:visible}}.summary-stats-bar.expanded .summary-stats-content{max-width:100%;opacity:1;overflow-x:visible;overflow-y:visible}@media (max-width: 768px){.summary-stats-bar{flex-direction:column;align-items:stretch}.summary-stats-bar.expanded .summary-stats-content{overflow-x:visible;overflow-y:visible}}.summary-stats-bar.collapsed .summary-stats-content{max-width:0;opacity:0;margin:0;padding:0}.stats-divider{color:var(--border);margin:0 .25rem;font-size:.7rem}.stat-item{padding:.15rem .4rem;border-radius:4px;background:var(--bg-light);white-space:nowrap;font-size:.75rem;display:inline-flex;align-items:center;gap:.25rem}.stat-item i{font-size:.7rem}#filtered-count{white-space:nowrap;font-size:.75rem}#filtered-count strong{font-weight:600}.pagination-container{margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.pagination-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pagination-info{color:var(--text-secondary);font-size:.9rem}.pagination-buttons{display:flex;align-items:center;gap:.5rem}.pagination-page-numbers{display:flex;gap:.25rem;align-items:center}.pagination-number{min-width:36px;height:36px;padding:.5rem;border:1px solid var(--border);background:var(--bg-white);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.pagination-number:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.pagination-number.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.search-suggestions{position:absolute;z-index:50;background:var(--bg-white);border:1px solid var(--border);border-radius:6px;margin-top:.25rem;max-height:240px;overflow-y:auto;width:320px;box-shadow:0 8px 16px rgba(0,0,0,.08)}.suggestion-item{padding:.5rem .75rem;cursor:pointer;display:flex;gap:.5rem;align-items:center}.suggestion-item:hover,.suggestion-item.active{background:var(--primary-light);color:var(--primary)}.suggestion-header{padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-light);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;position:sticky;top:0;z-index:1}.suggestion-header:first-child{border-top-left-radius:6px;border-top-right-radius:6px}mark.search-highlight{background:#fff3bf;color:inherit;padding:0 2px;border-radius:2px}.pagination-ellipsis{padding:0 .5rem;color:var(--text-muted)}.patient-list-card{contain:layout style paint;content-visibility:auto;will-change:transform;display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-white);border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;cursor:pointer;transition:all .2s;position:relative}.patient-list-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.patient-list-card.selected{border-color:var(--primary);background:var(--primary-light)}.list-card-avatar{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-light);flex-shrink:0}.list-card-content{flex:1;min-width:0}.list-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.list-card-header h3{margin:0;font-size:1rem;color:var(--text-primary)}.list-card-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.list-card-diagnoses{display:flex;gap:.5rem;flex-wrap:wrap}.dx-badge-small{padding:.2rem .5rem;background:var(--primary-light);color:var(--primary);border-radius:12px;font-size:.75rem}.list-card-actions{display:flex;gap:.5rem}.table-view-wrapper{overflow-x:auto;background:var(--bg-white);border-radius:8px;border:1px solid var(--border)}.patients-table{width:100%;border-collapse:collapse}.patients-table thead{background:var(--bg-light)}.patients-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border);font-size:.9rem}.patients-table th.sortable-header{cursor:pointer;user-select:none;position:relative;padding-right:2rem}.patients-table th.sortable-header:hover{background:var(--bg-white)}.patients-table th.sortable-header i{position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.patients-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s}.virtual-scroll-table{contain:layout style paint;content-visibility:auto}.virtual-scroll-table .patients-table{contain:layout style paint}.patient-card:not(.visible),.patient-list-card:not(.visible){opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}.patient-card.visible,.patient-list-card.visible{opacity:1;transform:translateY(0)}.patients-table tbody tr:hover{background:var(--bg-light)}.patients-table tbody tr.table-row-clickable{cursor:pointer}.patients-table td{padding:1rem;font-size:.9rem;color:var(--text-primary)}.patients-table td:last-child{text-align:right}.patients-grid.list-view,.patients-grid[data-view-mode=list]{display:flex;flex-direction:column;gap:.75rem}.patients-grid.table-view,.patients-grid[data-view-mode=table]{display:block}.patients-grid.grid-view,.patients-grid[data-view-mode=grid]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg)}.patients-grid[data-card-size=compact] .patient-card-modern{padding:1rem;font-size:.9rem}.patients-grid[data-card-size=large] .patient-card-modern{padding:2rem;font-size:1.1rem}.patients-grid[data-card-density=compact]{gap:var(--spacing-sm)}.patients-grid[data-card-density=compact] .patient-card-modern{margin-bottom:.5rem}.patients-grid[data-card-density=spacious]{gap:var(--spacing-xl)}.patients-grid[data-card-density=spacious] .patient-card-modern{padding:1.75rem;margin-bottom:1.5rem}.card-tooltip{position:absolute;right:.5rem;top:2.5rem;background:var(--bg-white);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 16px rgba(0,0,0,.12);padding:.75rem;z-index:20;min-width:220px}@media (max-width: 1200px){.toolbar{flex-wrap:wrap}.toolbar-group{flex:1;min-width:200px}}@media (max-width: 768px){.toolbar{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.toolbar-group{border:none;border-top:1px solid var(--border);padding:.5rem 0}.quick-filters-bar{flex-direction:column;align-items:flex-start}.quick-filter-btn{width:100%;justify-content:center}.summary-stats-bar{flex-direction:column;align-items:stretch;gap:var(--spacing-xs);padding:.25rem var(--spacing-xs);margin-bottom:var(--spacing-xs)}.summary-stats-toggle{width:100%;min-width:auto;font-size:.7rem;padding:.2rem var(--spacing-xs)}.summary-stats-content{font-size:.7rem;gap:.35rem;flex-wrap:wrap;white-space:normal;max-width:100%;overflow-x:visible;overflow-y:visible}.summary-stats-bar.expanded .summary-stats-content{max-width:100%;max-height:none}.stat-item,#filtered-count{flex-shrink:0}.stat-item{padding:.1rem .3rem;font-size:.7rem}.stats-divider{margin:0 .15rem;font-size:.65rem}#filtered-count{font-size:.7rem}.pagination-controls{flex-direction:column;align-items:stretch}.pagination-buttons{justify-content:center}.patients-table{font-size:.85rem}.patients-table th,.patients-table td{padding:.75rem .5rem}.list-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.patient-card-skeleton{background:var(--bg-white);border:1px solid var(--border);border-radius:8px;padding:1.5rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.skeleton-header{display:flex;gap:1rem;margin-bottom:1rem}.skeleton-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(90deg,var(--bg-light) 25%,rgba(255,255,255,.5) 50%,var(--bg-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-line{height:16px;background:linear-gradient(90deg,var(--bg-light) 25%,rgba(255,255,255,.5) 50%,var(--bg-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-content{margin:1rem 0;display:flex;flex-direction:column;gap:.5rem}.skeleton-footer{display:flex;gap:1rem;margin-top:1rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.patient-card-modern.favorite{box-shadow:0 2px 8px rgba(255,215,0,.3)}.patient-card-modern.favorite .favorite-star-btn{color:gold!important}.favorite-star-btn:hover{transform:scale(1.2);color:gold!important}.patient-list-card.favorite{border-left:4px solid #FFD700}.recently-viewed-badge{animation:pulse 2s ease-in-out infinite}.patient-card-modern.has-priority{box-shadow:0 4px 12px rgba(239,68,68,.2)}.priority-indicators{z-index:5}.priority-badge{box-shadow:0 2px 4px rgba(0,0,0,.2);animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.card-last-activity{display:flex;align-items:center;gap:.5rem}.patient-card-modern{transition:all .3s ease;position:relative}.patient-card-modern:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12)}.select-all-filtered{margin-bottom:1rem;padding:.75rem;background:var(--bg-light);border-radius:6px;display:flex;align-items:center;gap:.75rem}.select-all-filtered button{padding:.5rem 1rem;font-size:.9rem}.filter-chips-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-light);border-radius:6px;margin-bottom:1rem;flex-wrap:wrap}.filter-chips-label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.filter-chips-container{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.filter-chip{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-white);border:1px solid var(--border);border-radius:20px;font-size:.85rem;color:var(--text-primary);transition:all .2s}.filter-chip:hover{background:var(--primary-light);border-color:var(--primary)}.filter-chip-label{font-weight:500}.filter-chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.filter-chip-remove:hover{background:var(--danger);color:#fff;transform:scale(1.1)}@media (max-width: 768px){.modal[style*="max-width: 1100px"],.modal[style*="max-width: 900px"]{max-width:95vw!important;max-height:95vh!important;margin:2.5vh auto!important}.modal-body[style*=grid-template-columns]{grid-template-columns:1fr!important;gap:1rem!important}#bulk-entry-textarea,#bulk-appointment-textarea,#bulk-lab-textarea,#bulk-symptoms-textarea{height:200px!important;font-size:.9rem!important}.modal-footer[style*=flex]{flex-direction:column!important;gap:.5rem!important}.modal-footer button{width:100%!important}#bulk-progress-container{padding:.75rem!important}#validation-container{height:300px!important;font-size:.8rem!important}.btn-template{width:100%!important;margin-bottom:.5rem!important}.modal-body[style*="grid-template-columns: repeat(2"]{grid-template-columns:1fr!important}#undo-btn,#redo-btn{font-size:.75rem!important;padding:.4rem .6rem!important}#progress-items{font-size:.7rem!important;max-height:100px!important}}@media (max-width: 480px){.modal-header h2{font-size:1.1rem!important}.modal-body{padding:1rem!important}#bulk-entry-textarea,#bulk-appointment-textarea,#bulk-lab-textarea,#bulk-symptoms-textarea{height:150px!important;font-size:.85rem!important;padding:.5rem!important}div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.modal-body>div:first-child{font-size:.75rem!important}#bulk-progress-container{padding:.5rem!important}#progress-text,#progress-percentage{font-size:.75rem!important}}@media (hover: none) and (pointer: coarse){.btn-template,.btn-primary,.btn-secondary,.btn-success{min-height:44px!important;padding:.75rem 1rem!important}#undo-btn,#redo-btn{min-height:44px!important;min-width:44px!important}}
