*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#059669;--color-primary-dark:#065f46;--color-primary-light:#10b981;--color-primary-muted:#05966914;--color-primary-border:#05966938;--color-success:#10b981;--color-success-dark:#059669;--color-success-muted:#10b9811a;--color-warning:#f59e0b;--color-warning-dark:#d97706;--color-warning-muted:#f59e0b1a;--color-danger:#ef4444;--color-danger-dark:#dc2626;--color-danger-muted:#ef44441a;--color-info:#0284c7;--color-info-muted:#0284c71a;--color-accent:#059669;--color-accent-muted:#05966914;--color-ai:#059669;--color-ai-muted:#05966914;--color-ai-border:#05966938;--bg-base:#f8fafc;--bg-card:#fff;--bg-surface:#f1f5f9;--bg-surface-hover:#e2e8f0;--bg-elevated:#fff;--bg-input:#fff;--bg-overlay:#0f172a80;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#64748b;--text-muted:#94a3b8;--text-inverse:#fff;--text-link:#059669;--border-default:#e2e8f0;--border-muted:#f1f5f9;--border-strong:#cbd5e1;--sidebar-width:260px;--sidebar-collapsed-width:72px;--sidebar-bg:#fff;--sidebar-border:#e2e8f0;--header-height:64px;--header-bg:#fffffff2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 10px -1px #0000000f, 0 2px 4px -2px #00000008;--shadow-lg:0 10px 25px -3px #00000014, 0 4px 6px -4px #00000008;--shadow-xl:0 20px 30px -5px #0000001a, 0 8px 10px -6px #0000000a;--shadow-glow-blue:0 0 16px #0596692e;--shadow-glow-green:0 0 16px #16a34a2e;--shadow-glow-red:0 0 16px #dc26262e;--shadow-glow-ai:0 0 16px #7c3aed2e;--font-family:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:28px;--font-size-4xl:36px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.35s ease;--z-sidebar:100;--z-header:200;--z-modal:300;--z-toast:400;--z-emergency:500}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-family)}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-layout,.app-shell{background-color:var(--bg-base);width:100%;min-height:100vh;display:flex}.main-area{min-width:0;min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left var(--transition-slow);flex-direction:column;flex:1;display:flex}.app-layout.sidebar-collapsed .main-area,.main-area.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.main-content{min-width:0;padding:var(--space-6);padding-top:calc(var(--header-height) + var(--space-6));flex-direction:column;flex:1;width:100%;max-width:100%;display:flex}.page-container{padding:var(--space-6);margin-top:var(--header-height);flex:1;max-width:100%}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:var(--z-sidebar);transition:width var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-logo{padding:var(--space-4) 0;justify-content:center}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .sidebar-section-label,.sidebar.collapsed .sidebar-item-label{display:none!important}.sidebar.collapsed .sidebar-item{border-radius:var(--radius-md);justify-content:center;margin:3px 10px;padding:10px 0;position:relative}.sidebar.collapsed .sidebar-badge{border:1.5px solid var(--sidebar-bg);border-radius:50%;width:8px;min-width:8px;height:8px;padding:0;font-size:0;position:absolute;top:5px;right:12px}.sidebar.collapsed .sidebar-footer{flex-direction:column;align-items:center;padding:12px 6px;display:flex}.sidebar.collapsed .sidebar-footer .sidebar-item{justify-content:center;width:100%;padding:8px 0}.sidebar-logo{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--sidebar-border);min-height:var(--header-height);flex-shrink:0;display:flex}.sidebar-logo-icon{background:linear-gradient(135deg, var(--color-primary), #10b981);border-radius:var(--radius-md);color:#fff;letter-spacing:-.5px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:flex;box-shadow:0 0 16px #05966933}.sidebar-logo-text{white-space:nowrap;overflow:hidden}.sidebar-logo-title{font-size:var(--font-size-sm);color:var(--text-primary);letter-spacing:-.3px;font-weight:700;line-height:1.2}.sidebar-logo-sub{color:var(--color-primary);letter-spacing:.3px;font-size:10px;font-weight:600}.sidebar-nav{padding:var(--space-3) 0;flex:1;overflow:hidden auto}.sidebar-section{margin-bottom:var(--space-2)}.sidebar-section-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);padding:var(--space-3) var(--space-4) var(--space-2);white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.sidebar-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);margin:1px var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar-item:hover{background:var(--bg-surface);color:var(--color-primary)}.sidebar-item.active{background:var(--color-primary-muted);color:var(--color-primary-dark);border:1px solid var(--color-primary-border);font-weight:600}.sidebar-item.active:before{content:"";background:var(--color-primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.sidebar-item-icon{width:20px;height:20px;transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-item:hover .sidebar-item-icon{color:var(--color-primary);transform:scale(1.08)}.sidebar-item.active .sidebar-item-icon{color:var(--color-primary);transform:scale(1.05)}.medical-icon-badge{border-radius:var(--radius-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.medical-icon-badge:hover{transform:translateY(-1px)}.sidebar-item-label{text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar-badge{background:var(--color-danger);color:#fff;border-radius:var(--radius-full);text-align:center;flex-shrink:0;min-width:18px;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--sidebar-border);flex-shrink:0}.header{top:0;left:var(--sidebar-width);height:var(--header-height);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default);z-index:var(--z-header);padding:0 var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);transition:left var(--transition-slow);display:flex;position:fixed;right:0}.header.sidebar-collapsed,.app-layout.sidebar-collapsed .header{left:var(--sidebar-collapsed-width)}.header-search{flex:1;align-items:center;max-width:460px;display:flex;position:relative}.header-search-input{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;height:38px;color:var(--text-primary);transition:all var(--transition-fast);outline:none;padding:0 34px 0 38px;font-size:13px}.header-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-muted);background:#fff}.header-search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.header-search-clear{color:var(--text-tertiary);cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.header-search-clear:hover{color:var(--text-primary);background:var(--border-muted)}.header-spacer{flex:1}.header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-voice-btn,.header-ai-btn{border-radius:var(--radius-md);height:38px;color:var(--color-primary-dark);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:linear-gradient(135deg,#0596691a,#10b9812e);border:1px solid #05966959;outline:none;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #0596691a}.header-voice-btn:hover,.header-ai-btn:hover{background:linear-gradient(135deg,#05966933,#10b9814d);border-color:#0596698c;transform:translateY(-1px);box-shadow:0 3px 8px #05966933}.header-voice-btn.listening{color:#dc2626;background:linear-gradient(135deg,#ef44441f,#dc262638);border-color:#dc262680;box-shadow:0 0 10px #dc26264d}.header-voice-btn svg,.header-ai-btn svg{color:var(--color-primary);flex-shrink:0}.voice-lang-badge{background:var(--color-primary);color:#fff;letter-spacing:.3px;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800;display:inline-block}.emergency-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;height:38px;transition:all var(--transition-fast);box-shadow:var(--shadow-glow-red);background:linear-gradient(135deg,#ff453a,#ff6b35);border:none;outline:none;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;animation:2.5s ease-in-out infinite pulse-emergency;display:inline-flex}.emergency-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ff453a80}@keyframes pulse-emergency{0%,to{box-shadow:0 0 12px #ff453a40}50%{box-shadow:0 0 24px #ff453a8c}}.header-btn{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-default);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);outline:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.header-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.header-btn-badge{background:var(--color-danger);border-radius:var(--radius-full);border:2px solid var(--bg-base);width:8px;height:8px;position:absolute;top:5px;right:5px}.user-avatar{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary), var(--color-ai));color:#fff;cursor:pointer;width:38px;height:38px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:2px solid #0000;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.user-avatar:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.profile-dropdown-menu{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:250px;box-shadow:var(--shadow-xl);z-index:calc(var(--z-header) + 10);padding:8px 0;animation:.15s fadeIn;position:absolute;top:calc(100% + 8px);right:0}.profile-menu-header{border-bottom:1px solid var(--border-default);padding:12px 16px}.profile-menu-item{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:10px;padding:9px 16px;font-size:13px;display:flex}.profile-menu-item:hover{background:var(--bg-surface);color:var(--color-primary)}.profile-menu-item.logout{color:var(--color-danger);border-top:1px solid var(--border-default);margin-top:4px}.profile-menu-item.logout:hover{background:var(--color-danger-muted);color:var(--color-danger-dark)}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.card:hover{border-color:var(--border-strong)}.card-glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-default);background:#ffffffd9}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-default);align-items:center;gap:var(--space-3);display:flex}.card-title{font-size:var(--font-size-lg);color:var(--text-primary);flex:1;font-weight:600}.card-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.card-body{padding:var(--space-6)}.stat-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);transition:all var(--transition-base);cursor:default;flex-direction:column;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--stat-color,var(--color-primary));opacity:.6;height:2px;transition:opacity var(--transition-fast);position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-icon{border-radius:var(--radius-md);background:var(--stat-color-muted,var(--color-primary-muted));width:44px;height:44px;color:var(--stat-color,var(--color-primary));justify-content:center;align-items:center;display:flex}.stat-value{font-size:var(--font-size-3xl);color:var(--text-primary);letter-spacing:-1px;font-weight:800;line-height:1}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.stat-change{font-size:var(--font-size-xs);align-items:center;gap:4px;font-weight:600;display:flex}.stat-change.up{color:var(--color-success)}.stat-change.down{color:var(--color-danger)}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-glow-blue)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger-dark);box-shadow:var(--shadow-glow-red)}.btn-success{background:var(--color-success);color:var(--text-inverse);border-color:var(--color-success)}.btn-success:hover{background:var(--color-success-dark);color:#fff}.btn-outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary-muted)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-surface);color:var(--text-primary)}.btn-ai{background:var(--color-ai-muted);color:var(--color-ai);border-color:var(--color-ai-border)}.btn-ai:hover{box-shadow:var(--shadow-glow-ai);background:#bf5af240}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.btn-icon-sm{width:28px;height:28px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.badge{border-radius:var(--radius-full);letter-spacing:.3px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-primary{background:var(--color-primary-muted);color:var(--color-primary);border:1px solid var(--color-primary-border)}.badge-success{background:var(--color-success-muted);color:var(--color-success)}.badge-warning{background:var(--color-warning-muted);color:var(--color-warning-dark)}.badge-danger{background:var(--color-danger-muted);color:var(--color-danger)}.badge-info{background:var(--color-info-muted);color:var(--color-info)}.badge-ai{background:var(--color-ai-muted);color:var(--color-ai);border:1px solid var(--color-ai-border)}.badge-neutral{background:var(--bg-surface);color:var(--text-secondary)}.badge-dot:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--text-secondary);letter-spacing:.3px;font-weight:600}.form-label .required{color:var(--color-danger);margin-left:2px}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast);outline:none;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-muted)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238B949E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-select option{background:var(--bg-card);color:var(--text-primary)}.form-textarea{resize:vertical;min-height:80px}.form-error{font-size:var(--font-size-xs);color:var(--color-danger);align-items:center;gap:4px;display:flex}.form-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.form-grid{gap:var(--space-4);display:grid}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid-4{grid-template-columns:repeat(4,1fr)}.table-container,.table-responsive,.card-table-wrapper{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--border-default);width:100%;max-width:100%;overflow-x:auto}.data-table,.table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);min-width:600px}.data-table th{background:var(--bg-surface);padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-default);white-space:nowrap;font-weight:600}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-muted);color:var(--text-primary);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-surface)}.table-actions{align-items:center;gap:var(--space-2);display:flex}.page-header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.page-header-content{flex:1}.page-title{font-size:var(--font-size-2xl);color:var(--text-primary);letter-spacing:-.5px;font-weight:700;line-height:1.2}.page-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-top:var(--space-1)}.breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-tertiary);margin-bottom:var(--space-2);display:flex}.breadcrumb a{color:var(--text-secondary)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb-sep{color:var(--text-muted)}.grid{gap:var(--space-4);display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.flex-wrap{flex-wrap:wrap}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-muted{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-primary-c{color:var(--color-primary)}.text-ai{color:var(--color-ai)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.modal-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--space-4);justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-height:90dvh;box-shadow:var(--shadow-xl);flex-direction:column;animation:.2s slideUp;display:flex;overflow:hidden}.modal>form,.modal form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:800px}.modal-xl{max-width:1100px}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-default);align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.modal-title{font-size:var(--font-size-lg);color:var(--text-primary);flex:1;font-weight:700}.modal-body{padding:var(--space-6);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-default);justify-content:flex-end;align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.ai-panel{border:1px solid var(--color-ai-border);border-radius:var(--radius-lg);padding:var(--space-5);background:linear-gradient(135deg,#bf5af20d,#0a84ff0d)}.ai-panel-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.ai-badge{background:var(--color-ai-muted);border:1px solid var(--color-ai-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-ai);letter-spacing:.5px;align-items:center;gap:5px;padding:3px 10px;font-weight:700;display:flex}.ai-badge:before{content:"✦";font-size:10px}.ai-disclaimer{font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-top:var(--space-4);line-height:1.5}.ai-thinking{align-items:center;gap:var(--space-3);padding:var(--space-4);color:var(--color-ai);font-size:var(--font-size-sm);display:flex}.ai-dot{background:var(--color-ai);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite ai-pulse}.ai-dot:nth-child(2){animation-delay:.2s}.ai-dot:nth-child(3){animation-delay:.4s}@keyframes ai-pulse{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.tabs{background:var(--bg-surface);border-radius:var(--radius-md);gap:2px;width:fit-content;padding:3px;display:flex}.tab{padding:var(--space-2) var(--space-4);border-radius:calc(var(--radius-md) - 2px);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);background:0 0;border:none;font-weight:500}.tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tab:hover:not(.active){color:var(--text-primary)}.tab-content{display:none}.tab-content.active{display:block}.search-results{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-header);max-height:400px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto}.search-result-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-muted);display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-surface)}.toast-container{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-3);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);align-items:flex-start;gap:var(--space-3);min-width:320px;max-width:420px;box-shadow:var(--shadow-lg);pointer-events:all;animation:.3s slideInRight;display:flex}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-primary)}.toast-content{flex:1}.toast-title{font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary)}.toast-message{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.online{background:var(--color-success);box-shadow:0 0 6px var(--color-success)}.status-dot.offline{background:var(--text-muted)}.status-dot.busy{background:var(--color-danger)}.status-dot.away{background:var(--color-warning)}.bed-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(80px,1fr));display:grid}.bed-card{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.bed-card.available{background:var(--color-success-muted);border-color:var(--color-success);color:var(--color-success)}.bed-card.occupied{background:var(--color-danger-muted);border-color:var(--color-danger);color:var(--color-danger)}.bed-card.reserved{background:var(--color-warning-muted);border-color:var(--color-warning-dark);color:var(--color-warning-dark)}.bed-card.maintenance{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-tertiary)}.bed-card:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{background:var(--bg-surface);border-radius:var(--radius-full);width:64px;height:64px;margin-bottom:var(--space-4);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:600}.empty-state-desc{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:300px;line-height:1.6}.skeleton{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-surface-hover) 50%, var(--bg-surface) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.divider{background:var(--border-muted);height:1px;margin:var(--space-4) 0}.avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary), var(--color-ai));width:36px;height:36px;font-size:var(--font-size-sm);color:#fff;border:2px solid var(--bg-card);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-sm{width:28px;height:28px;font-size:var(--font-size-xs)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-lg)}.avatar-xl{width:64px;height:64px;font-size:var(--font-size-2xl)}.progress{background:var(--bg-surface);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width .5s}.progress-bar.success{background:var(--color-success)}.progress-bar.warning{background:var(--color-warning)}.progress-bar.danger{background:var(--color-danger)}@media (width<=1280px){.grid-cols-6{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .sidebar-item-label,.sidebar .sidebar-section-label,.sidebar .sidebar-logo-text,.sidebar .sidebar-badge{display:none}.main-area{margin-left:var(--sidebar-collapsed-width)}.header{left:var(--sidebar-collapsed-width)}.grid-cols-4{grid-template-columns:repeat(3,1fr)}.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .sidebar-item-label,.sidebar .sidebar-section-label,.sidebar .sidebar-logo-text,.sidebar .sidebar-badge{display:none}.main-area{margin-left:var(--sidebar-collapsed-width)}.header{left:var(--sidebar-collapsed-width);padding:0 var(--space-4)}.main-content{padding:var(--space-4);padding-top:calc(var(--header-height) + var(--space-4))}.page-container{padding:var(--space-4)}.grid-cols-6,.grid-cols-5,.grid-cols-4,.grid-cols-3,.grid-cols-2,.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr}.page-header{gap:var(--space-3);flex-direction:column}.modal-lg,.modal-xl{max-width:100%}}@media print{.sidebar,.header,.emergency-btn,.toast-container{display:none!important}.main-content{margin:0}.page-container{padding:0}body{color:#000;background:#fff}}.notification-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:380px;box-shadow:var(--shadow-xl);z-index:var(--z-header);animation:.2s slideUp;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-item{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-muted);cursor:pointer;transition:background var(--transition-fast);display:flex}.notification-item:hover{background:var(--bg-surface)}.notification-item.unread{background:var(--color-primary-muted)}.notification-item:last-child{border-bottom:none}.patient-id{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-primary);background:var(--color-primary-muted);border-radius:var(--radius-sm);border:1px solid var(--color-primary-border);letter-spacing:.5px;padding:2px 8px}.token-display{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-radius:var(--radius-xl);padding:var(--space-5);text-align:center;color:#fff;box-shadow:var(--shadow-glow-blue)}.token-number{letter-spacing:-2px;font-size:64px;font-weight:800;line-height:1}.token-label{font-size:var(--font-size-sm);opacity:.8;margin-top:var(--space-2)}.vitals-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.vital-card{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.vital-value{font-size:var(--font-size-xl);color:var(--text-primary);font-weight:700}.vital-unit{font-size:var(--font-size-xs);color:var(--text-tertiary)}.vital-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:4px}.vital-card.abnormal{border-color:var(--color-danger);background:var(--color-danger-muted)}.vital-card.abnormal .vital-value{color:var(--color-danger)}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{gap:var(--space-4);padding-bottom:var(--space-5);display:flex;position:relative}.timeline-item:not(:last-child):before{content:"";background:var(--border-muted);width:2px;position:absolute;top:32px;bottom:0;left:15px}.timeline-dot{border-radius:var(--radius-full);background:var(--bg-surface);border:2px solid var(--border-default);z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.timeline-content{flex:1;padding-top:4px}.timeline-title{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.timeline-time{font-size:var(--font-size-xs);color:var(--text-tertiary)}.timeline-desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px}.report-card{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:var(--space-4);align-items:center;gap:var(--space-4);cursor:pointer;transition:all var(--transition-fast);display:flex}.report-card:hover{background:var(--bg-surface-hover);border-color:var(--border-default)}.sidebar-mobile-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);z-index:calc(var(--z-sidebar) - 1);opacity:0;transition:opacity var(--transition-base);display:none;position:fixed;inset:0}.sidebar-mobile-backdrop.open{opacity:1;display:block}.header-hamburger-btn{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-default);width:38px;height:38px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:none}.header-hamburger-btn:hover{background:var(--color-primary-muted);color:var(--color-primary);border-color:var(--color-primary-border)}.sidebar-mobile-close-btn{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:none}@media (width<=1200px){.header-search{max-width:360px}}@media (width<=1024px){.header-search{max-width:280px}.header-search-input{font-size:12px}.voice-btn-label{display:none}}@media (width<=768px){.header-hamburger-btn,.sidebar-mobile-close-btn{display:flex}.sidebar{width:280px;max-width:85vw;z-index:var(--z-sidebar);transition:transform var(--transition-slow);box-shadow:none;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:0 0 35px #00000059}.header{padding:0 12px;padding-top:env(safe-area-inset-top,0px);height:calc(var(--header-height) + env(safe-area-inset-top,0px));gap:8px;left:0!important}.main-area{margin-left:0!important}.main-content{padding:var(--space-3) var(--space-4);padding-top:calc(var(--header-height) + env(safe-area-inset-top,0px) + var(--space-4));padding-bottom:calc(88px + env(safe-area-inset-bottom,16px))}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-actions{flex-wrap:wrap;width:100%}.header-search{max-width:200px}.header-search-input{height:36px;padding:0 10px 0 30px;font-size:12px}.header-search-icon{left:8px}.emergency-btn span,.header-voice-btn span,.header-ai-btn span{display:none}.emergency-btn,.header-voice-btn,.header-ai-btn{height:36px;padding:0 10px}.header-actions{gap:6px}.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr}.modal{border-radius:var(--radius-lg);margin:10px;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 24px)!important}.modal-header,.modal-body{padding:var(--space-4)}.modal-footer{padding:var(--space-3) var(--space-4)}.global-ai-fab-container{bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px}.global-ai-fab{height:44px;padding:0 14px;font-size:12.5px}.global-ai-drawer{inset:auto 12px calc(72px + env(safe-area-inset-bottom,0px)) 12px;border-radius:16px;width:auto;max-width:100%;height:calc(100dvh - 100px);max-height:580px;position:fixed}}@media (width<=480px){.header-search{max-width:130px}.header-search-input::placeholder{font-size:11px}.voice-lang-badge{padding:1px 4px;font-size:9px}.global-ai-drawer{inset:auto 8px calc(68px + env(safe-area-inset-bottom,0px)) 8px;height:calc(100dvh - 88px)}}.global-ai-fab-container{z-index:calc(var(--z-header) + 50);flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.global-ai-fab{border-radius:var(--radius-full);color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#047857 100%);border:1.5px solid #ffffff4d;outline:none;align-items:center;gap:10px;height:48px;padding:0 18px 0 14px;font-size:13.5px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 6px 20px -2px #05966966,0 2px 6px #0000001a}.global-ai-fab:hover{background:linear-gradient(135deg,#10b981 0%,#059669 100%);transform:translateY(-2px)scale(1.02);box-shadow:0 10px 25px -2px #05966980,0 4px 10px #00000026}.global-ai-fab:active{transform:translateY(0)scale(.98)}.global-ai-fab-pulse{background:#34d399;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:-3px;right:-3px;box-shadow:0 0 10px #34d399}.global-ai-drawer{background:var(--bg-card);border:1px solid var(--border-default);width:440px;max-width:calc(100vw - 32px);height:640px;max-height:calc(100vh - 110px);z-index:calc(var(--z-header) + 60);border-radius:18px;flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) aiDrawerSlideUp;display:flex;position:fixed;bottom:84px;right:24px;overflow:hidden;box-shadow:0 20px 40px -8px #0f172a40,0 4px 12px #00000014}@keyframes aiDrawerSlideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.global-ai-header{color:#fff;background:linear-gradient(135deg,#065f46 0%,#047857 60%,#059669 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.global-ai-context-pill{color:#fff;border-radius:var(--radius-full);letter-spacing:.3px;background:#fff3;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.global-ai-body{background:#f8fafc;flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.ai-message-bubble{flex-direction:column;gap:6px;max-width:90%;animation:.15s fadeIn;display:flex}.ai-message-bubble.user{align-self:flex-end}.ai-message-bubble.assistant{align-self:flex-start;max-width:96%}.ai-bubble-content-user{color:#fff;background:#059669;border-radius:14px 14px 2px;padding:10px 14px;font-size:13px;line-height:1.45;box-shadow:0 2px 6px #05966933}.ai-bubble-content-assistant{color:var(--text-primary);border:1px solid var(--border-default);background:#fff;border-radius:14px 14px 14px 2px;padding:12px 16px;font-size:13px;line-height:1.5;box-shadow:0 2px 6px #00000008}.ai-chips-scroll{scrollbar-width:none;gap:6px;padding:4px 0 8px;display:flex;overflow-x:auto}.ai-chips-scroll::-webkit-scrollbar{display:none}.ai-suggested-chip{color:#334155;border-radius:var(--radius-full);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #cbd5e1;flex-shrink:0;align-items:center;gap:4px;padding:5px 11px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.ai-suggested-chip:hover{color:#047857;background:#ecfdf5;border-color:#059669;transform:translateY(-1px)}.global-ai-footer{border-top:1px solid var(--border-default);background:#fff;flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.global-ai-input-row{border:1px solid var(--border-default);background:#f1f5f9;border-radius:12px;align-items:center;gap:8px;padding:4px 8px 4px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.global-ai-input-row:focus-within{background:#fff;border-color:#059669;box-shadow:0 0 0 3px #0596691f}.global-ai-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:6px 0;font-size:13px}.global-ai-send-btn{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.global-ai-send-btn:hover{background:#047857;transform:scale(1.05)}.global-ai-send-btn:disabled{cursor:not-allowed;background:#cbd5e1;transform:none}.global-ai-stop-btn{color:#dc2626;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;font-weight:700;transition:all .15s;display:inline-flex}.global-ai-stop-btn:hover{background:#fecaca}
