:root{--color-primary-900:#1e3a8a;--color-primary-800:#1e40af;--color-primary-700:#2563eb;--color-primary-600:#4a9eff;--color-primary-500:#60a5fa;--color-primary-400:#7db5ff;--color-primary-300:#93c5fd;--color-primary-200:#bfdbfe;--color-primary-100:#dbeafe;--color-primary-50:#eff6ff;--color-accent-700:#005f73;--color-accent-600:#0a7c8c;--color-accent-500:#0d9dae;--color-accent-400:#2bb4c6;--color-accent-300:#5ac8d8;--color-accent-200:#a8e0e8;--color-success-600:#2e7d32;--color-success-500:#43a047;--color-success-400:#66bb6a;--color-success-100:#e8f5e9;--color-warning-600:#f57c00;--color-warning-500:#ff9800;--color-warning-400:#ffa726;--color-warning-100:#fff3e0;--color-danger-600:#c62828;--color-danger-500:#e53935;--color-danger-400:#ef5350;--color-danger-100:#ffebee;--color-info-600:#1976d2;--color-info-500:#2196f3;--color-info-400:#42a5f5;--color-info-100:#e3f2fd;--color-neutral-900:#2c3e50;--color-neutral-800:#34495e;--color-neutral-700:#4a5f7f;--color-neutral-600:#6b7c93;--color-neutral-500:#8b95a5;--color-neutral-400:#adb5bd;--color-neutral-300:#d1d7dd;--color-neutral-200:#e8edf2;--color-neutral-100:#f1f4f7;--color-neutral-50:#f7fafd;--bg-primary:#fff;--bg-secondary:var(--color-neutral-50);--bg-tertiary:#f7fafd;--bg-app:#f7fafd;--bg-sidebar:#fff;--bg-card:#fff;--bg-hover:#eff6ff;--bg-selected:var(--color-primary-100);--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-700);--text-tertiary:var(--color-neutral-600);--text-disabled:var(--color-neutral-400);--text-inverse:#fff;--text-link:var(--color-primary-600);--text-link-hover:var(--color-primary-700);--border-light:#e8edf2;--border-medium:#d1d7dd;--border-dark:#adb5bd;--border-primary:var(--color-primary-300);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"Courier New",Courier,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:0.25rem;--radius-base:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #2c3e5008;--shadow-sm:0 2px 4px 0 #2c3e500d;--shadow-base:0 4px 6px 0 #2c3e5012;--shadow-md:0 6px 12px 0 #2c3e5014;--shadow-lg:0 10px 20px 0 #2c3e501a;--shadow-xl:0 15px 30px 0 #2c3e501f;--shadow-inner:inset 0 2px 4px 0 #2c3e5008;--shadow-primary:0 4px 12px 0 #4a9eff26;--shadow-accent:0 4px 12px 0 #0d9dae26;--shadow-success:0 4px 12px 0 #43a04726;--shadow-danger:0 4px 12px 0 #e5393526;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1);--sidebar-width:260px;--navbar-height:64px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--btn-padding-sm:var(--space-2) var(--space-4);--btn-padding-base:var(--space-3) var(--space-6);--btn-padding-lg:var(--space-4) var(--space-8);--input-padding:var(--space-3) var(--space-4);--input-border-width:1px;--input-border-color:var(--border-medium);--input-border-color-focus:var(--color-primary-500);--input-border-radius:var(--radius-base);--card-padding:var(--space-6);--card-radius:var(--radius-base);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-base)}[data-theme=dark]{--bg-primary:#1a2332;--bg-secondary:#2d3748;--bg-tertiary:#2a3544;--bg-app:#0f1419;--bg-sidebar:#1a2332;--bg-card:#1f2937;--bg-hover:#374151;--bg-selected:#2d4a6a;--text-primary:#fff;--text-secondary:#e2e8f0;--text-tertiary:#cbd5e0;--text-disabled:#4a5568;--text-inverse:#1a202c;--border-light:#2d3748;--border-medium:#4a5568;--border-dark:#718096;--shadow-xs:0 1px 2px 0 #0000004d;--shadow-sm:0 2px 4px 0 #0006;--shadow-base:0 4px 6px 0 #00000080;--shadow-md:0 6px 12px 0 #00000080;--shadow-lg:0 10px 20px 0 #0009;--shadow-xl:0 15px 30px 0 #000000b3}.theme-text-primary{color:var(--text-primary)!important}.theme-text-secondary{color:var(--text-secondary)!important}.theme-text-muted,.theme-text-tertiary{color:var(--text-tertiary)!important}.theme-bg-card{background:var(--bg-card)!important}.theme-bg-secondary{background:var(--bg-secondary)!important}[data-theme=dark] h2[style*="color: #333"],[data-theme=dark] h2[style*="color: #555"],[data-theme=dark] h2[style*="color: #666"],[data-theme=dark] h3[style*="color: #333"],[data-theme=dark] h3[style*="color: #555"],[data-theme=dark] h3[style*="color: #666"],[data-theme=dark] h4[style*="color: #333"],[data-theme=dark] h4[style*="color: #555"],[data-theme=dark] h4[style*="color: #666"]{color:var(--text-primary)!important}[data-theme=dark] div[style*="color: #333"],[data-theme=dark] div[style*="color: #555"],[data-theme=dark] div[style*="color: #666"],[data-theme=dark] p[style*="color: #333"],[data-theme=dark] p[style*="color: #555"],[data-theme=dark] p[style*="color: #666"],[data-theme=dark] span[style*="color: #333"],[data-theme=dark] span[style*="color: #555"],[data-theme=dark] span[style*="color: #666"]{color:var(--text-secondary)!important}[data-theme=dark] p[style*="color: #999"],[data-theme=dark] small[style*="color: #999"],[data-theme=dark] span[style*="color: #999"]{color:var(--text-tertiary)!important}[data-theme=dark] [style*="background: #e8e8e8"],[data-theme=dark] [style*="background: #f8f9fa"]{background:var(--bg-secondary)!important}[data-theme=dark] [style*="background: #fff3cd"]{background:#ffc10726!important}[data-theme=dark] [style*="background: #ffebee"]{background:#ef444426!important}[data-theme=dark] [style*="background: #e7f3ff"]{background:#3b82f626!important}[data-theme=dark] [style*="background: #d1ecf1"]{background:#06b6d426!important}[data-theme=dark] [style*="color: #856404"]{color:#ffc107!important}[data-theme=dark] [style*="color: #0c5460"]{color:#06b6d4!important}[data-theme=dark] a[style*="color: #667eea"],[data-theme=dark] option[style*="color: #667eea"]{color:var(--color-primary-400)!important}[data-theme=dark] .card,[data-theme=dark] .family-member-card,[data-theme=dark] .info-card,[data-theme=dark] .quick-action-card,[data-theme=dark] .stat-card{background:var(--bg-card)!important;border-color:var(--border-light)!important;box-shadow:0 4px 6px 0 #00000080!important}[data-theme=dark] .detail-value,[data-theme=dark] .health-summary-item,[data-theme=dark] .member-info h3{color:#fff!important}[data-theme=dark] .detail-label,[data-theme=dark] .health-summary-label,[data-theme=dark] .member-relationship{color:#e2e8f0!important}[data-theme=dark] .documents-info-section h3,[data-theme=dark] .documents-page-header h1{-webkit-text-fill-color:#0000!important;background:linear-gradient(135deg,#60a5fa,#93c5fd)!important;-webkit-background-clip:text!important;background-clip:text!important}[data-theme=dark] h3[style*="color: #333"],[data-theme=dark] h4[style*="color: #2c3e50"],[data-theme=dark] span[style*="color: #888"]{color:var(--text-primary)!important}[data-theme=dark] p[style*="color: #666"]{color:var(--text-secondary)!important}[data-theme=dark] .document-info-card{background:linear-gradient(135deg,#1e3a8a,#1f2937)!important;border-color:#2563eb!important;box-shadow:0 4px 8px #0006!important}[data-theme=dark] .document-info-card h4{color:#fff!important}[data-theme=dark] .document-info-card p{color:#e2e8f0!important}[data-theme=dark] .document-info-card:hover{border-color:#3b82f6!important;box-shadow:0 8px 16px #00000080!important}[data-theme=dark] .document-link-badge{background:linear-gradient(135deg,#1e3a8a,#2563eb)!important;border-color:#3b82f6!important;color:#93c5fd!important}[data-theme=dark] .btn-icon{background:linear-gradient(135deg,#1e3a8a,#1f2937)!important;border-color:#2563eb!important;box-shadow:0 2px 4px #0000004d!important}[data-theme=dark] .btn-icon:hover{background:linear-gradient(135deg,#2563eb,#1e3a8a)!important;border-color:#3b82f6!important;box-shadow:0 4px 8px #0006!important}[data-theme=dark] .btn-danger.btn-icon,[data-theme=dark] .btn-icon.btn-danger{background:linear-gradient(135deg,#dc2626,#991b1b)!important;border-color:#dc2626!important;box-shadow:0 2px 4px #dc26264d!important;opacity:1!important}[data-theme=dark] .btn-danger.btn-icon:hover,[data-theme=dark] .btn-icon.btn-danger:hover{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border-color:#ef4444!important;box-shadow:0 4px 8px #ef444466!important;opacity:1!important}[data-theme=dark] .btn-danger{background:var(--color-danger-500)!important;color:#fff!important;opacity:1!important}[data-theme=dark] .btn-danger:hover{background:var(--color-danger-400)!important;opacity:1!important}[data-theme=dark] .card{border-color:#2d3748 #2d3748 #2d3748 #3b82f6!important}[data-theme=dark] .card:hover{border-color:#374151 #374151 #374151 #60a5fa!important}[data-theme=dark] .card:before{background:linear-gradient(90deg,#3b82f6,#0000)!important}[data-theme=dark] .documents-page-subtitle{color:#cbd5e0!important}[data-theme=dark] .documents-info-section{border-top-color:#2d3748!important}[data-theme=dark] div[style*="color: #888"],[data-theme=dark] span[style*="color: #888"]{color:#cbd5e0!important}[data-theme=dark] h3[style*="color: #2c3e50"],[data-theme=dark] h4[style*="color: #2c3e50"]{color:#fff!important}[data-theme=dark] h1[style*="color: #1e3a8a"]{color:#60a5fa!important}[data-theme=dark] [style*="color: #2563eb"]{color:#93c5fd!important}[data-theme=dark] [style*="color: #6B7C93"]{color:#cbd5e0!important}[data-theme=dark] [style*="color: #555"]{color:var(--text-secondary)!important}[data-theme=dark] [style*="color: #777"]{color:var(--text-tertiary)!important}[data-theme=dark] .badge-primary{background-color:#3b82f633!important;color:#93c5fd!important}[data-theme=dark] .empty-state h3,[data-theme=dark] .empty-title{color:var(--text-primary)!important}[data-theme=dark] .empty-state p,[data-theme=dark] .empty-subtitle{color:var(--text-secondary)!important}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-normal)}code{font-family:var(--font-mono)}html{scroll-behavior:smooth}::selection{background-color:var(--color-primary-200);color:var(--color-primary-900)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.app-container{background-color:var(--bg-app);display:flex;flex-direction:column;min-height:100vh}.navbar{background:#fff!important;border-bottom:1px solid var(--border-light);box-shadow:0 1px 3px #0000000a;color:var(--text-primary)!important;height:var(--navbar-height);justify-content:space-between;padding:var(--space-4) var(--space-8);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{gap:var(--space-3)}.navbar-brand h1{color:var(--color-primary-700);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:-.025em;margin:0}.app-tagline{color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;font-weight:var(--font-normal);margin-left:var(--space-2)}.navbar-menu{align-items:center;display:flex;gap:var(--space-6)}.user-email{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.theme-toggle-wrapper{align-items:center;display:flex}.theme-toggle-label{cursor:pointer;display:inline-block;height:36px;position:relative;width:80px}.theme-toggle-checkbox{height:0;opacity:0;position:absolute;width:0}.theme-toggle-slider{align-items:center;background:var(--color-primary-600);border:2px solid var(--color-primary-600);border-radius:34px;bottom:0;box-shadow:var(--shadow-sm);display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;transition:all var(--transition-base)}.theme-toggle-slider:before{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffff4d;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:26px;left:4px;position:absolute;transition:transform var(--transition-base);width:26px}.theme-toggle-checkbox:checked+.theme-toggle-slider{background:var(--color-neutral-700);border-color:var(--color-neutral-700)}.theme-toggle-checkbox:checked+.theme-toggle-slider:before{transform:translateX(44px)}.theme-toggle-text{color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;z-index:1}.theme-toggle-label:hover .theme-toggle-slider{box-shadow:var(--shadow-md);transform:translateY(-1px)}.theme-toggle-checkbox:focus-visible+.theme-toggle-slider{outline:2px solid var(--color-primary-500);outline-offset:2px}.btn-logout{background:var(--color-primary-600);border:none;border-radius:var(--radius-base);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-5);transition:all var(--transition-base)}.btn-logout:hover{background:var(--color-primary-700)!important;box-shadow:var(--shadow-sm);color:#fff!important;transform:none!important}.app-content{display:flex;flex:1 1}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-light);box-shadow:1px 0 3px #00000005;height:calc(100vh - var(--navbar-height));left:0;overflow-y:auto;padding:var(--space-6) 0;position:fixed;top:var(--navbar-height);transition:width var(--transition-base),transform var(--transition-base);width:var(--sidebar-width);z-index:var(--z-sticky)}.sidebar.collapsed{width:70px}.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-text{display:none}.sidebar-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:var(--radius-base);color:var(--text-inverse);cursor:pointer;display:none;font-size:var(--text-lg);padding:var(--space-2) var(--space-3);transition:all var(--transition-base)}.sidebar-toggle:hover{background:#ffffff40;border-color:#ffffff80}.nav-section{margin-bottom:var(--space-6);padding:0 var(--space-4)}.nav-section-title{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.1em;margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);text-transform:uppercase}.nav-section ul{list-style:none;margin:0;padding:0}.nav-section li{margin-bottom:var(--space-1)}.nav-link{align-items:center;border-radius:var(--radius-base);color:var(--text-secondary);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-3);overflow:hidden;padding:var(--space-3) var(--space-4);position:relative;text-decoration:none;transition:all var(--transition-fast)}.nav-link:before{background:var(--color-primary-500);border-radius:0 4px 4px 0;content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform var(--transition-fast);width:4px}.nav-link:hover{background:var(--color-primary-50);color:var(--color-primary-700);transform:translateX(2px)}.nav-link:hover:before{transform:scaleY(1)}.nav-link.active{background:var(--color-primary-100);box-shadow:none;color:var(--color-primary-700);font-weight:var(--font-semibold)}.nav-link.active:before{background:var(--color-primary-600);transform:scaleY(1)}.nav-icon{font-size:1.25rem;text-align:center}.nav-icon,.nav-icon-svg{flex-shrink:0;width:24px}.nav-icon-svg{display:block;height:24px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.nav-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-submenu{list-style:none;margin:var(--space-2) 0 0 0;padding:0}.nav-submenu li{margin-bottom:var(--space-1)}.nav-sublink{font-size:.875rem;font-weight:var(--font-normal);padding-left:var(--space-12)!important}.nav-sublink .nav-icon{font-size:1rem}.nav-sublink:hover{background:var(--color-primary-50);color:var(--color-primary-600)}.nav-sublink.active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-medium)}.main-content{background:var(--bg-app);flex:1 1;margin-left:var(--sidebar-width);overflow-y:auto;padding:var(--space-8)}.card{background:var(--bg-card);border:1px solid var(--color-primary-200);border-left:3px solid var(--color-primary-400);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);overflow:hidden;padding:var(--card-padding);position:relative;transition:all var(--transition-base)}.card:before{background:linear-gradient(90deg,var(--color-primary-400),#0000);content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.card:hover{border-color:var(--color-primary-300);border-left-color:var(--color-primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:hover:before{opacity:1}.card h2{font-size:var(--text-2xl);letter-spacing:-.025em;margin-bottom:var(--space-4)}.card h2,.card h3{color:var(--text-primary);font-weight:var(--font-semibold)}.card h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.card p{color:var(--text-secondary);line-height:var(--leading-relaxed)}.stats-card{background:linear-gradient(135deg,var(--color-primary-600) 0,var(--color-primary-800) 100%);border:none;color:var(--text-inverse);padding:var(--space-8);text-align:center}.stats-card:hover{box-shadow:var(--shadow-primary);transform:translateY(-4px)}.stats-card h3{color:var(--text-inverse);font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.stats-card p{color:#ffffffe6;font-size:var(--text-lg);font-weight:var(--font-medium)}.btn{border-radius:var(--radius-base);font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--btn-padding-base);position:relative;text-decoration:none;transform:none!important;transition:all var(--transition-base)}.btn:disabled{pointer-events:none}.btn-primary{background:var(--color-primary-600);box-shadow:none;color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-700)!important;box-shadow:var(--shadow-sm);color:#fff!important;transform:none!important}.btn-secondary{background:var(--color-neutral-200);border:1px solid var(--color-neutral-300);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-300);border-color:var(--color-neutral-400)}.btn-success{background:var(--color-success-500);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background:var(--color-success-600)!important;box-shadow:var(--shadow-sm);color:#fff!important;transform:none!important}.btn-warning{background:var(--color-warning-500);color:var(--text-inverse)}.btn-warning:hover:not(:disabled){background:var(--color-warning-600)!important;box-shadow:var(--shadow-sm);color:#fff!important;transform:none!important}.btn-danger{background:var(--color-danger-500);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-danger-600)!important;box-shadow:var(--shadow-sm);color:#fff!important;transform:none!important}.btn-sm{font-size:var(--text-sm);padding:var(--btn-padding-sm)}.btn-lg{font-size:var(--text-lg);padding:var(--btn-padding-lg)}.form-group{margin-bottom:var(--space-6)}.form-group label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-primary);border:1px solid var(--color-neutral-300);border-radius:var(--input-border-radius);color:var(--text-primary);font-size:var(--text-base);padding:var(--input-padding);transition:all var(--transition-base);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #006ba61a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-disabled)}.form-hint{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-2)}.required{color:var(--color-danger-500)}.error-message{background-color:var(--color-danger-100);color:var(--color-danger-600);font-size:var(--text-sm);margin-bottom:var(--space-4)}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:var(--color-danger-500)}.form-group.error label{color:var(--color-danger-600)}.form-actions{border-top:1px solid var(--border-light);gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6)}.grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex}.flex-between{justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.flex-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--space-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)}.mt-1{margin-top:var(--space-1)}.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)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.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)}.mb-8{margin-bottom:var(--space-8)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-3);white-space:nowrap}.badge-primary{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge-success{background-color:var(--color-success-100);color:var(--color-success-600)}.badge-warning{background-color:var(--color-warning-100);color:var(--color-warning-600)}.badge-danger{background-color:var(--color-danger-100);color:var(--color-danger-600)}.badge-info{background-color:var(--color-info-100);color:var(--color-info-600)}.spinner{animation:spin .8s linear infinite;border:4px solid var(--color-neutral-300)}.loading-container p{font-size:var(--text-base);font-weight:var(--font-medium)}.modal-overlay{animation:fadeIn var(--transition-base);background-color:#0a142399}.modal{animation:slideUp var(--transition-base);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.empty-state{padding:var(--space-16) var(--space-8)}.empty-state-icon{font-size:var(--text-5xl);margin-bottom:var(--space-4);opacity:.5}.empty-state h3{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.empty-state p{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-6)}@media (max-width:1024px){.sidebar{width:220px}.sidebar.collapsed{width:60px}.main-content{margin-left:220px}}@media (max-width:768px){.navbar{padding:var(--space-3) var(--space-4)}.navbar-brand h1{font-size:var(--text-xl)}.navbar-menu{gap:var(--space-3)}.user-email{display:none}.sidebar-toggle{display:block}.sidebar{height:calc(100vh - var(--navbar-height));left:0;position:fixed;top:var(--navbar-height);transform:translateX(0);z-index:var(--z-dropdown)}.sidebar.collapsed{transform:translateX(-100%);width:var(--sidebar-width)}.main-content{margin-left:0}.card,.main-content{padding:var(--space-4)}.stats-card h3{font-size:var(--text-3xl)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}@media (max-width:480px){.navbar{padding:var(--space-2) var(--space-3)}.navbar-brand h1{font-size:var(--text-lg)}.card,.main-content{padding:var(--space-3)}.btn{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.nav-link{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.nav-section-title{font-size:.65rem}}.app-footer{background:var(--bg-card);border-top:1px solid var(--border-light);margin-top:auto;padding:var(--space-8) 0 var(--space-4) 0}.footer-content{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;margin-bottom:var(--space-6);max-width:1200px;padding:0 var(--space-6)}.footer-section h4{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-3)}.footer-section p,.footer-tagline{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2)}.footer-tagline{font-style:italic}.footer-note,.footer-tagline{font-weight:var(--font-medium)}.footer-note{color:var(--color-success-600);font-size:var(--text-xs)}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:var(--space-2)}.footer-links a{color:var(--color-primary-600);font-size:var(--text-sm);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--color-primary-700);text-decoration:underline}.footer-warning{background:var(--color-warning-50);border-left:3px solid var(--color-warning-500);border-radius:var(--radius-base);padding:var(--space-3)}.footer-warning p{color:var(--text-primary);font-size:var(--text-xs);margin-bottom:var(--space-1)}.footer-warning p:last-child{margin-bottom:0}.footer-bottom{border-top:1px solid var(--border-light);padding:var(--space-4) var(--space-6);text-align:center}.footer-bottom p{color:var(--text-tertiary);font-size:var(--text-xs);margin:var(--space-1) 0}.footer-disclaimer{font-style:italic}@media (max-width:768px){.footer-content{gap:var(--space-4);grid-template-columns:1fr}.app-footer{padding:var(--space-4) 0 var(--space-2) 0}.footer-bottom{padding:var(--space-3) var(--space-4)}}.welcome-page{overflow-x:hidden;width:100%}.hero-section{align-items:center;background:linear-gradient(135deg,#2563ebd9,#4a9effcc 50%,#60a5fabf),url(https://images.unsplash.com/photo-1511895426328-dc8714191300?w=1920&q=80) 50% /cover no-repeat;color:#fff;display:flex;justify-content:center;min-height:650px;padding:6rem 2rem;position:relative}.hero-section:before{background:#00000026;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.hero-content{max-width:800px;position:relative;text-align:center;width:100%;z-index:1}.hero-text{animation:fadeIn .8s ease-out}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.2;margin:0 0 1rem;text-shadow:2px 2px 4px #0000001a}.hero-icon{display:inline-block;font-size:3.5rem;margin-right:.5rem;vertical-align:middle}.hero-subtitle{font-size:1.5rem;font-weight:300;margin:0 0 1.5rem;opacity:.95}.hero-description{font-size:1.1rem;line-height:1.7;margin:0 auto 2rem;max-width:700px;opacity:.95}.hero-cta{margin-top:2rem}.cta-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-large{border:2px solid #0000;border-radius:var(--radius-base);box-shadow:0 4px 15px #00000026;cursor:pointer;font-size:1.2rem;font-weight:600;padding:1rem 2.5rem;transition:all .3s}.btn-large:hover{box-shadow:0 6px 20px #00000040}.btn-primary{background:#fff;color:var(--color-primary-600)}.btn-primary:hover{background:var(--color-neutral-50);color:var(--color-primary-700)}.btn-outline{border:2px solid #fff;box-shadow:none;color:#fff}.btn-outline:hover{background:#ffffff1a;box-shadow:0 4px 15px #fff3}.btn-outline-light{background:#fff;border:2px solid #fff;box-shadow:0 4px 15px #ffffff4d;color:var(--color-primary-600)}.btn-outline-light:hover{background:var(--color-neutral-50);color:var(--color-primary-700)}.cta-note{font-size:.9rem;margin-top:1rem;opacity:.8}.features-section{background:var(--bg-app);padding:5rem 2rem}.features-container{margin:0 auto;max-width:1200px}.section-title{color:var(--color-primary-700);font-size:2.5rem;font-weight:700;margin:0 0 3rem;text-align:center}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.feature-card{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;padding:2rem;position:relative;transition:all .3s}.feature-card:before{background:var(--color-primary-600);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:4px}.feature-card:hover:before{opacity:1}.feature-card:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.feature-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary-600) 0,var(--color-primary-500) 100%);border-radius:var(--radius-base);box-shadow:var(--shadow-primary);color:#fff;display:flex;height:60px;justify-content:center;margin-bottom:1.5rem;width:60px}.feature-icon svg{stroke-width:2;height:28px;width:28px}.feature-title{color:var(--text-primary);font-size:1.4rem;font-weight:600;margin:0 0 1rem}.feature-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0}.benefits-section{background:#fff;padding:5rem 2rem}.benefits-container{margin:0 auto;max-width:1000px}.benefits-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.benefit-item{align-items:flex-start;display:flex;gap:1rem}.benefit-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary-600) 0,var(--color-primary-500) 100%);border-radius:50%;box-shadow:var(--shadow-primary);color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:36px;justify-content:center;width:36px}.benefit-content h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.benefit-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}.cta-section{background:linear-gradient(135deg,var(--color-primary-700) 0,var(--color-primary-600) 50%,var(--color-primary-500) 100%);color:#fff;padding:5rem 2rem;position:relative;text-align:center}.cta-section:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Cpath d='M100 0H0v100' fill='none' stroke='rgba(255,255,255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.cta-container{margin:0 auto;max-width:800px;position:relative;z-index:1}.cta-title{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.cta-description{font-size:1.2rem;line-height:1.6;margin:0 0 2rem;opacity:.95}.cta-section .cta-note{font-size:.9rem;margin-top:1.5rem;opacity:.8}.cta-section .cta-note a{color:#fff;font-weight:600;text-decoration:underline}.cta-section .cta-note a:hover{opacity:.8}@media (max-width:968px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.hero-description{font-size:1rem}.section-title{font-size:2rem}.benefits-grid,.features-grid{grid-template-columns:1fr}.cta-title{font-size:2rem}.cta-description{font-size:1.1rem}}@media (max-width:640px){.hero-section{min-height:500px;padding:3rem 1rem}.hero-icon,.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.benefits-section,.cta-section,.features-section{padding:3rem 1rem}.cta-buttons{flex-direction:column;width:100%}.btn-large{font-size:1rem;padding:.85rem 2rem;width:100%}}.loading-container{background:linear-gradient(135deg,var(--color-primary-700) 0,var(--color-primary-600) 50%,var(--color-primary-500) 100%);color:#fff;min-height:100vh}.spinner{border:4px solid #ffffff4d;border-top-color:#fff}.loading-container p{font-size:1.2rem;font-weight:500}.family-timeline{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.timeline-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.timeline-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.timeline-filters{background:#f8f9fa;border-radius:6px;display:flex;gap:.5rem;padding:.25rem}.timeline-filters button{background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.timeline-filters button:hover{background:#e9ecef;color:#495057}.timeline-filters button.active{background:#007bff;color:#fff}.timeline-empty{color:#6c757d;padding:3rem 1rem}.timeline-empty p{margin:.5rem 0}.loading{color:#6c757d;padding:2rem}.timeline-event{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:120px 40px 1fr;margin-bottom:2rem}.timeline-event.clickable:focus{border-radius:8px;outline:2px solid #007bff;outline-offset:4px}.timeline-event:last-child .event-line{display:none}.event-date{padding-top:.5rem;text-align:right}.date-label{color:#495057;display:block;font-size:.9rem;font-weight:600}.date-full{color:#6c757d;display:block;font-size:.8rem;margin-top:.25rem}.event-marker{flex-direction:column;position:relative}.event-icon,.event-marker{align-items:center;display:flex}.event-icon{background:#fff;border:3px solid #007bff;border-radius:50%;font-size:1.2rem;height:40px;justify-content:center;width:40px;z-index:1}.event-icon.appointment{background:#e7f3ff;border-color:#007bff}.event-icon.surgery{background:#ffe7e7;border-color:#dc3545}.event-icon.vaccination{background:#e7ffe7;border-color:#28a745}.event-line{background:#dee2e6;flex:1 1;margin-top:.5rem;width:2px}.event-content{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:1rem}.event-member{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.member-photo-small{object-fit:cover}.member-photo-placeholder-small,.member-photo-small{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:32px;width:32px}.member-photo-placeholder-small{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:.9rem;font-weight:700;justify-content:center}.member-name{color:#495057;font-size:.9rem;font-weight:600}.event-details h3{color:#2c3e50;font-size:1rem;margin:0 0 .5rem}.event-details p{color:#6c757d;font-size:.9rem;margin:0}@media (max-width:768px){.timeline-event{gap:.5rem;grid-template-columns:80px 30px 1fr}.event-date{font-size:.85rem}.date-full{display:none}.event-icon{font-size:1rem;height:30px;width:30px}.event-content{padding:.75rem}.timeline-header{align-items:flex-start;flex-direction:column}.timeline-filters{width:100%}.timeline-filters button{flex:1 1;font-size:.85rem;padding:.5rem}}.data-export-container{display:inline-flex;flex-direction:column;gap:.5rem}.data-export-container .btn{align-items:center;box-sizing:border-box;display:inline-flex;font-size:1rem!important;gap:.5rem;height:44px;justify-content:center;min-width:160px;overflow:visible;padding:.75rem 1rem!important;position:relative;transform:none!important;width:160px}.data-export-container .btn svg{flex-shrink:0;height:20px;width:20px}.data-export-container .btn:hover:not(:disabled){background:var(--color-primary-700)!important;color:#fff!important;transform:none!important}.export-progress{animation:fadeIn .3s ease-in;background-color:var(--color-primary-100);border-radius:var(--radius-base);color:var(--color-primary-600);font-size:.875rem;padding:.5rem;text-align:center}.modal-overlay{animation:fadeIn .2s ease-in;background-color:#00000080;z-index:var(--z-modal-backdrop)}.import-guide-modal{animation:slideUp .3s ease-out;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.modal-header{border-bottom:1px solid var(--border-light);padding:1.5rem 2rem}.modal-header h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.close-button{background:none;border:none;border-radius:var(--radius-base);color:var(--text-secondary);font-size:2rem;height:32px;padding:0;width:32px}.close-button:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{flex:1 1;overflow-y:auto;padding:2rem}.guide-section{margin-bottom:2rem}.guide-section:last-child{margin-bottom:0}.guide-section h3{align-items:center;color:var(--color-primary-700);display:flex;font-size:var(--text-lg);font-weight:var(--font-semibold);gap:.5rem;margin:0 0 1rem}.section-icon{color:var(--color-primary-600);flex-shrink:0;height:24px;width:24px}.guide-section p{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 1rem}.template-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.template-buttons .btn{align-items:center;display:inline-flex;gap:.5rem}.template-buttons .btn svg{height:20px;width:20px}.template-note{background:var(--color-info-100);border-left:4px solid var(--color-info-500);border-radius:var(--radius-base);color:var(--color-info-600);font-size:var(--text-sm);margin-top:1rem;padding:1rem}.instruction-list{color:var(--text-secondary);margin:0;padding-left:1.5rem}.instruction-list li{line-height:var(--leading-relaxed);margin-bottom:.75rem}.instruction-list li:last-child{margin-bottom:0}.instruction-list strong{color:var(--text-primary);font-weight:var(--font-semibold)}.data-types-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:1rem}.data-type-chip{background:linear-gradient(135deg,var(--color-primary-600) 0,var(--color-primary-500) 100%);border-radius:var(--radius-base);box-shadow:var(--shadow-sm);color:#fff;font-size:var(--text-sm);font-weight:var(--font-medium);padding:.5rem 1rem;text-align:center}.modal-footer{border-top:1px solid var(--border-light);display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}@media (max-width:768px){.import-guide-modal{max-height:95vh;width:95%}.modal-body,.modal-footer,.modal-header{padding:1rem}.modal-header h2{font-size:var(--text-xl)}.template-buttons{flex-direction:column}.template-buttons .btn{justify-content:center;width:100%}.data-types-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.data-import-container{display:inline-flex;flex-direction:column;gap:1rem}.import-button-group{align-items:center;display:flex;gap:.5rem}.import-button-group .btn{align-items:center;display:inline-flex;gap:.5rem}.import-button-group .btn svg{height:20px;width:20px}.import-button-group .btn-warning{box-sizing:border-box;font-size:1rem!important;height:44px;justify-content:center;min-width:160px;padding:.75rem 1rem!important;transform:none!important;width:160px}.import-button-group .btn-warning svg{flex-shrink:0}.import-button-group .guide-button{box-sizing:border-box;height:44px;min-width:auto;padding:.75rem .85rem!important;transform:none!important}.import-button-group .guide-button svg{flex-shrink:0;height:18px;margin:0;width:18px}.import-button-group .btn-warning:hover:not(:disabled){background:var(--color-warning-600)!important;color:#fff!important;transform:none!important}.import-button-group .guide-button:hover:not(:disabled){transform:none!important}.import-progress{animation:fadeIn .3s ease-in;background-color:var(--color-warning-100);border-radius:var(--radius-base);color:var(--color-warning-600);font-size:.875rem;padding:.5rem;text-align:center}.import-stats{animation:fadeIn .5s ease-in;background-color:var(--color-success-100);border:1px solid var(--color-success-500);border-radius:var(--radius-base);padding:1rem}.import-stats h4{color:var(--color-success-600);font-size:1rem;margin:0 0 .5rem}.import-stats ul{list-style:disc;margin:0;padding-left:1.5rem}.import-stats li{color:var(--color-success-600);margin:.25rem 0}.import-errors{animation:fadeIn .5s ease-in;background-color:var(--color-danger-100);border:1px solid var(--color-danger-500);border-radius:var(--radius-base);max-height:200px;overflow-y:auto;padding:1rem}.import-errors h4{color:var(--color-danger-600);font-size:1rem;margin:0 0 .5rem}.import-errors ul{list-style:disc;margin:0;padding-left:1.5rem}.import-errors li{color:var(--color-danger-600);font-size:.875rem;margin:.25rem 0}.emergency-quick-card{background:#fff;border:2px solid #d32f2f;border-left-width:6px;border-radius:8px;box-shadow:0 3px 8px #d32f2f26,0 1px 3px #0000001a;margin-bottom:1.5rem;overflow:hidden;padding:1.25rem;position:relative}.emergency-quick-card:before{background:linear-gradient(135deg,#d32f2f,#b71c1c);box-shadow:0 1px 3px #0003;color:#fff;content:"🚨 EMERGENCY CARD";font-size:.7rem;font-weight:700;left:0;letter-spacing:.5px;padding:.35rem;position:absolute;right:0;text-align:center;top:0}.emergency-quick-card{padding-top:2.5rem}.emergency-quick-card.empty{padding:3rem 1.25rem 2rem;text-align:center}.emergency-quick-card .empty-state{align-items:center;display:flex;flex-direction:column;gap:.75rem}.emergency-quick-card .empty-icon{font-size:2rem;margin:0}.emergency-quick-card .empty-text{color:#666;font-size:.95rem;margin:0}.emergency-quick-card.loading{min-height:200px;padding-top:2.5rem}.skeleton-header{align-items:center;display:flex;gap:1rem}.skeleton-avatar{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;height:60px;width:60px}.skeleton-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.skeleton-line{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;height:16px}.skeleton-line-title{height:20px;width:150px}.skeleton-line-subtitle{width:120px}.skeleton-sections{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.skeleton-section{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:6px;height:100px}.emergency-quick-card.error{padding:3rem 1.25rem 2rem;text-align:center}.emergency-quick-card .error-state{align-items:center;display:flex;flex-direction:column;gap:.75rem}.emergency-quick-card .error-icon{color:#d32f2f;font-size:2rem;margin:0}.emergency-quick-card .error-text{color:#d32f2f;font-size:.95rem;margin:0}.emergency-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem}.emergency-avatar{align-items:center;background:#e3f2fd;border-radius:50%;display:flex;flex-shrink:0;height:60px;justify-content:center;overflow:hidden;width:60px}.emergency-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2;display:flex;font-size:1.5rem;font-weight:600;height:100%;justify-content:center;width:100%}.emergency-info{flex:1 1}.emergency-name{color:#1976d2;font-size:1.15rem;font-weight:600;margin:0 0 .25rem}.emergency-dob{color:#666;font-size:.85rem;margin:0}.blood-type-badge{align-items:center;background:linear-gradient(135deg,#d32f2f,#b71c1c);border-radius:8px;box-shadow:0 2px 8px #d32f2f4d;color:#fff;display:flex;flex-direction:column;min-width:70px;padding:.5rem .875rem}.blood-type-label{font-size:.65rem;font-weight:500;letter-spacing:.3px;opacity:.9;text-transform:uppercase}.blood-type-value{font-size:1.5rem;font-weight:700;margin-top:.15rem}.emergency-alerts{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.alert-badge{align-items:center;border-radius:6px;display:flex;flex:1 1;font-size:.85rem;font-weight:600;gap:.4rem;min-width:150px;padding:.5rem .875rem}.dnr-badge{background:linear-gradient(135deg,#d32f2f,#b71c1c);box-shadow:0 2px 6px #d32f2f40;color:#fff}.donor-badge{background:linear-gradient(135deg,#1976d2,#0d47a1);box-shadow:0 2px 6px #1976d240;color:#fff}.alert-icon{font-size:1.15rem}.emergency-content{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.emergency-section{background:#f8f9fa;border:2px solid #d0d0d0;border-radius:6px;box-shadow:0 2px 4px #0000000d;padding:.875rem;transition:all .2s ease}.emergency-section:hover{border-color:#1976d2;box-shadow:0 4px 8px #1976d21a}.section-title{align-items:center;border-bottom:1px solid #e0e0e0;color:#333;display:flex;font-size:.95rem;font-weight:600;gap:.4rem;margin:0 0 .75rem;padding-bottom:.5rem}.section-icon{font-size:1.1rem}.no-data{color:#999;font-size:.85rem;font-style:italic;margin:0;padding:.75rem 0;text-align:center}.emergency-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.emergency-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.625rem;transition:all .2s ease}.emergency-item:hover{border-color:#1976d2;box-shadow:0 2px 6px #1976d21a}.item-header{align-items:center;display:flex;gap:.4rem;justify-content:space-between;margin-bottom:.15rem}.item-name{color:#333;font-size:.875rem;font-weight:600}.item-detail{color:#666;font-size:.8rem;margin:.2rem 0 0}.severity-badge{border-radius:3px;font-size:.65rem;font-weight:700;letter-spacing:.3px;padding:.2rem .4rem;text-transform:uppercase}.severity-badge.severe{background:#d32f2f;color:#fff}.emergency-footer{border-top:1px solid #e0e0e0;padding-top:1rem;text-align:center}.emergency-disclaimer{color:#666;font-size:.75rem;font-style:italic;margin:0}@media (max-width:768px){.emergency-quick-card{padding:1rem}.emergency-header{flex-direction:column;text-align:center}.emergency-avatar{height:70px;width:70px}.blood-type-badge{width:100%}.emergency-content{grid-template-columns:1fr}.alert-badge{min-width:100%}}@media (max-width:480px){.emergency-quick-card{padding:.875rem}.emergency-header{gap:.75rem}.emergency-name{font-size:1.05rem}.blood-type-value{font-size:1.25rem}}@media print{.emergency-quick-card{border:2px solid #333;box-shadow:none;page-break-inside:avoid}.emergency-item:hover{border-color:#e0e0e0;box-shadow:none}.blood-type-badge,.dnr-badge,.donor-badge{background:#333!important;box-shadow:none!important;color:#fff!important}}.dashboard{margin:0 auto;max-width:var(--container-2xl);padding:var(--space-8)}.dashboard-header{align-items:flex-start;border-bottom:1px solid var(--color-neutral-200);display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:space-between;margin-bottom:var(--space-8);padding-bottom:var(--space-6)}.dashboard-actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}.dashboard-title{color:var(--color-primary-600);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--space-2) 0}.dashboard-subtitle{color:var(--text-secondary);font-size:var(--text-lg);font-weight:var(--font-normal);margin:0}.stats-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:var(--space-10)}.stat-card{align-items:center;background:var(--bg-card);border:1px solid var(--color-neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-4);overflow:hidden;padding:var(--space-6);position:relative;transition:all var(--transition-base)}.stat-card:before{content:"";height:100%;left:0;position:absolute;top:0;transition:width var(--transition-base);width:4px}.stat-card:hover{border-color:var(--color-neutral-300);box-shadow:var(--shadow-base);transform:translateY(-2px)}.stat-card:hover:before{width:4px}.stat-icon{flex-shrink:0;font-size:2.5rem;line-height:1}.stat-content{flex:1 1}.stat-content h3{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:1;margin:0 0 var(--space-1) 0}.stat-content p{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.5px;margin:0;text-transform:uppercase}.stat-primary:before{background:linear-gradient(180deg,var(--color-primary-500),var(--color-primary-700))}.stat-primary:hover{border-color:var(--color-primary-400)}.stat-accent:before{background:linear-gradient(180deg,var(--color-accent-400),var(--color-accent-600))}.stat-accent:hover{border-color:var(--color-accent-400)}.stat-success:before{background:linear-gradient(180deg,var(--color-success-400),var(--color-success-600))}.stat-success:hover{border-color:var(--color-success-400)}.stat-info:before{background:linear-gradient(180deg,var(--color-info-400),var(--color-info-600))}.stat-info:hover{border-color:var(--color-info-400)}.stat-warning:before{background:linear-gradient(180deg,var(--color-warning-400),var(--color-warning-600))}.stat-warning:hover{border-color:var(--color-warning-400)}.stat-secondary:before{background:linear-gradient(180deg,var(--color-neutral-500),var(--color-neutral-700))}.stat-secondary:hover{border-color:var(--color-neutral-500)}.quick-actions-section{margin-bottom:var(--space-10)}.section-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-6) 0}.quick-actions-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.quick-action-card{align-items:center;background:var(--bg-card);border:1px solid var(--color-neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;gap:var(--space-4);overflow:hidden;padding:var(--space-6);position:relative;transition:all var(--transition-base)}.quick-action-card:before{content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:height var(--transition-base)}.quick-action-card:hover{border-color:var(--color-neutral-300);box-shadow:var(--shadow-base);transform:translateY(-2px)}.quick-action-card:hover:before{height:4px}.quick-action-icon{flex-shrink:0;font-size:2.5rem;line-height:1}.quick-action-icon-svg{display:block;height:40px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;width:40px}.quick-action-content{flex:1 1}.quick-action-content h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.quick-action-content p{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);margin:0}.quick-action-arrow{color:var(--text-tertiary);flex-shrink:0;font-size:var(--text-2xl);transition:transform var(--transition-base)}.quick-action-card:hover .quick-action-arrow{transform:translateX(4px)}.quick-action-primary:before{background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-700))}.quick-action-primary:hover{border-color:var(--color-primary-400)}.quick-action-primary:hover .quick-action-arrow{color:var(--color-primary-600)}.quick-action-accent:before{background:linear-gradient(90deg,var(--color-accent-400),var(--color-accent-600))}.quick-action-accent:hover{border-color:var(--color-accent-400)}.quick-action-accent:hover .quick-action-arrow{color:var(--color-accent-600)}.quick-action-success:before{background:linear-gradient(90deg,var(--color-success-400),var(--color-success-600))}.quick-action-success:hover{border-color:var(--color-success-400)}.quick-action-success:hover .quick-action-arrow{color:var(--color-success-600)}.quick-action-info:before{background:linear-gradient(90deg,var(--color-info-400),var(--color-info-600))}.quick-action-info:hover{border-color:var(--color-info-400)}.quick-action-info:hover .quick-action-arrow{color:var(--color-info-600)}.family-members-section{margin-bottom:var(--space-10)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-6)}.family-members-grid{grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.family-member-card{background:var(--bg-card);border:1px solid var(--color-neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-sm);cursor:pointer;padding:var(--space-6);transition:all var(--transition-base)}.family-member-card:before{background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-700));content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:height var(--transition-base)}.family-member-card:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.family-member-card:hover:before{height:4px}.member-header{border-bottom:1px solid var(--border-light);gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-4)}.member-avatar,.member-header{align-items:center;display:flex}.member-avatar{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--text-inverse);flex-shrink:0;font-size:var(--text-2xl);font-weight:var(--font-bold);height:56px;justify-content:center;width:56px}.member-info{flex:1 1;min-width:0}.member-info h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-relationship{color:var(--text-tertiary);font-size:var(--text-sm);margin:0;text-transform:capitalize}.member-details{gap:var(--space-3);margin-bottom:var(--space-4)}.detail-item{align-items:center;display:flex;font-size:var(--text-sm);justify-content:space-between;line-height:var(--leading-snug)}.detail-label{color:var(--text-secondary);font-weight:var(--font-medium)}.detail-value{color:var(--text-primary);font-weight:var(--font-semibold)}.member-health-summary{border-top:1px solid var(--border-light);margin-top:var(--space-4);padding-top:var(--space-4)}.health-summary-grid{display:flex;gap:var(--space-6);justify-content:space-between}.health-summary-column:first-child{flex:0 0 auto}.health-summary-column:last-child{flex:0 0 auto;margin-left:auto}.health-summary-column{display:flex;flex-direction:column;gap:var(--space-2)}.health-summary-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.health-summary-list{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-0)}.health-summary-item{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.health-summary-more{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic;font-weight:var(--font-medium)}@media (max-width:600px){.health-summary-grid{grid-template-columns:1fr}}.member-footer{border-top:1px solid var(--border-light);padding-top:var(--space-4);text-align:right}.view-profile{color:var(--color-primary-600);font-size:var(--text-sm);font-weight:var(--font-semibold);transition:color var(--transition-fast)}.family-member-card:hover .view-profile{color:var(--color-primary-700)}.emergency-section{margin-bottom:var(--space-10)}.emergency-cards-container{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.section-subtitle{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-normal);margin:0}.timeline-section{margin-bottom:var(--space-10)}.getting-started-card{background:var(--color-primary-50);border:1px solid var(--color-primary-200);box-shadow:var(--shadow-sm);margin:var(--space-10) auto;max-width:800px;padding:var(--space-10);text-align:center}.getting-started-icon{font-size:4rem;margin-bottom:var(--space-4)}.getting-started-card h2{color:var(--color-primary-600);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.getting-started-subtitle{color:var(--text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin:0 0 var(--space-8) 0}.getting-started-steps{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-8);text-align:left}.step{align-items:flex-start;background:var(--bg-card);border:1px solid var(--color-neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-4);padding:var(--space-6)}.step-number{align-items:center;background:var(--color-primary-600);border-radius:var(--radius-full);color:var(--text-inverse);display:flex;flex-shrink:0;font-size:var(--text-xl);font-weight:var(--font-bold);height:40px;justify-content:center;width:40px}.step-content h4{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.step-content p{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);margin:0}.info-cards-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:var(--space-10)}.info-card-header{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.info-card-icon{font-size:2rem;line-height:1}.info-icon-svg{display:block;height:32px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;width:32px}.info-card h3{font-weight:var(--font-semibold);margin:0}.info-list{list-style:none;margin:0;padding:0}.info-list li{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);padding:var(--space-3) 0;padding-left:var(--space-6);position:relative}.info-list li:last-child{border-bottom:none}.info-list li:before{color:var(--color-primary-600);content:"✓";font-weight:var(--font-bold);left:0;position:absolute}.security-card{background:var(--bg-card);border-left:1px solid var(--color-success-500);border:1px solid var(--color-success-200);border-left-width:4px}.tips-card{background:var(--bg-card);border-left:1px solid var(--color-primary-500);border:1px solid var(--color-primary-200);border-left-width:4px}@media (max-width:768px){.dashboard{padding:var(--space-4)}.dashboard-title{font-size:var(--text-3xl)}.dashboard-subtitle{font-size:var(--text-base)}.stats-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{flex-direction:column;padding:var(--space-4);text-align:center}.stat-icon{font-size:2rem}.stat-content h3{font-size:var(--text-2xl)}.quick-actions-grid{gap:var(--space-4);grid-template-columns:1fr}.quick-action-card{padding:var(--space-4)}.family-members-grid{gap:var(--space-4);grid-template-columns:1fr}.family-member-card{padding:var(--space-4)}.emergency-cards-container{gap:var(--space-4);grid-template-columns:1fr}.member-avatar{font-size:var(--text-xl);height:48px;width:48px}.getting-started-card{padding:var(--space-6)}.getting-started-steps,.info-cards-grid{gap:var(--space-4);grid-template-columns:1fr}}@media (max-width:480px){.dashboard-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.dashboard-title{font-size:var(--text-2xl)}.stats-grid{grid-template-columns:1fr}.section-title{font-size:var(--text-xl)}}.loading-container{gap:var(--space-4)}.spinner{border:4px solid var(--color-primary-200);border-radius:var(--radius-full)}.loading-container p{color:var(--text-secondary);font-size:var(--text-lg);margin:0}.error-card{background:linear-gradient(135deg,var(--color-danger-100) 0,var(--bg-card) 100%);border:2px solid var(--color-danger-400);margin:var(--space-10) auto;max-width:600px;padding:var(--space-10);text-align:center}.error-card h2{color:var(--color-danger-600);font-size:var(--text-2xl);margin:0 0 var(--space-4) 0}.error-message{background:var(--bg-card);margin:0 0 var(--space-6) 0;padding:var(--space-4)}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 50%,#f0f0f0);background-size:200% 100%;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#2d2d2d,#3d3d3d 50%,#2d2d2d);background-size:200% 100%}.skeleton-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;padding:1.5rem}[data-theme=dark] .skeleton-card{background:#1f2937}.skeleton-header{margin-bottom:1rem}.skeleton-title{height:24px;margin-bottom:.5rem;width:60%}.skeleton-subtitle{height:16px;width:40%}.skeleton-body{display:flex;flex-direction:column;gap:.75rem}.skeleton-text{height:16px;width:100%}.skeleton-text.short{width:70%}.skeleton-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}[data-theme=dark] .skeleton-table{background:#1f2937}.skeleton-table-row{grid-gap:1rem;border-bottom:1px solid #e5e7eb;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem 1.5rem}[data-theme=dark] .skeleton-table-row{border-bottom-color:#374151}.skeleton-table-header{background:#f9fafb}[data-theme=dark] .skeleton-table-header{background:#111827}.skeleton-table-cell{align-items:center;display:flex}.skeleton-list{display:flex;flex-direction:column;gap:1rem}.skeleton-list-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1rem}[data-theme=dark] .skeleton-list-item{background:#1f2937}.skeleton-avatar{border-radius:50%;flex-shrink:0;height:48px;width:48px}.skeleton-list-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.skeleton-button{border-radius:6px;height:36px;width:80px}.skeleton-profile{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:2rem}[data-theme=dark] .skeleton-profile{background:#1f2937}.skeleton-profile-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem}[data-theme=dark] .skeleton-profile-header{border-bottom-color:#374151}.skeleton-avatar-large{border-radius:50%;flex-shrink:0;height:96px;width:96px}.skeleton-profile-info{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.skeleton-title-large{height:32px;width:50%}.skeleton-profile-body{display:flex;flex-direction:column;gap:1rem}@media (max-width:768px){.skeleton-table-row{grid-template-columns:1fr}.skeleton-profile-header{flex-direction:column;text-align:center}.skeleton-title{width:80%}}.empty-state{align-items:center;background:var(--bg-card);display:flex;flex-direction:column;justify-content:center}.empty-state-icon{margin-bottom:1.5rem}.empty-state-emoji{display:block;font-size:4rem;line-height:1}.empty-state-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 .75rem}.empty-state-description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0 0 2rem;max-width:400px}.empty-state-action{margin-top:.5rem}.empty-state-small{padding:2rem 1rem}.empty-state-small .empty-state-emoji{font-size:3rem}.empty-state-small .empty-state-title{font-size:var(--text-lg)}.empty-state-small .empty-state-description{font-size:var(--text-sm);margin-bottom:1rem}.empty-state-large{min-height:400px;padding:6rem 2rem}.empty-state-large .empty-state-emoji{font-size:6rem}.empty-state-large .empty-state-title{font-size:var(--text-2xl)}[data-theme=dark] .empty-state{border-color:var(--border-dark)}@media (max-width:768px){.empty-state{padding:3rem 1.5rem}.empty-state-emoji{font-size:3rem}.empty-state-title{font-size:var(--text-lg)}.empty-state-description{font-size:var(--text-sm);max-width:300px}.empty-state-large{min-height:300px;padding:4rem 1.5rem}}.breadcrumbs{margin-bottom:1.5rem;padding:.75rem 0}.breadcrumb-list{flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumb-item,.breadcrumb-list{align-items:center;display:flex;gap:.5rem}.breadcrumb-item{font-size:var(--text-sm)}.breadcrumb-link{border-radius:4px;color:var(--text-secondary);padding:.25rem .5rem;text-decoration:none;transition:color var(--transition-base)}.breadcrumb-link:hover{background:var(--bg-hover);color:var(--color-primary-600)}.breadcrumb-separator{color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--text-primary);font-weight:var(--font-medium);padding:.25rem .5rem}[data-theme=dark] .breadcrumb-link:hover{color:var(--color-primary-400)}@media (max-width:768px){.breadcrumbs{padding:.5rem 0}.breadcrumb-list{gap:.25rem}.breadcrumb-item{font-size:var(--text-xs)}.breadcrumb-current,.breadcrumb-link{padding:.125rem .25rem}}.nearby-overlay{animation:fadeIn .3s ease-out;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.nearby-panel{background:var(--bg-card);box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:-600px;top:0;transition:right .3s cubic-bezier(.4,0,.2,1);width:600px;z-index:1000}.nearby-panel.open{right:0}.nearby-header{align-items:center;background:linear-gradient(135deg,var(--color-primary-500) 0,var(--color-primary-600) 100%);border-bottom:1px solid var(--border-light);color:var(--text-inverse);display:flex;justify-content:space-between;padding:var(--space-6)}.nearby-header h2{color:var(--text-inverse);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.nearby-search-controls{background:var(--bg-card);border-bottom:1px solid var(--border-light);padding:var(--space-4)}.search-mode-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.mode-tab{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-base);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.mode-tab:hover{background:var(--bg-hover);border-color:var(--color-primary-400)}.mode-tab.active{background:var(--color-primary-100);border-color:var(--color-primary-600);color:var(--color-primary-700)}[data-theme=dark] .mode-tab.active{background:var(--bg-selected);color:var(--color-primary-400)}.search-input-container{display:flex;gap:var(--space-2)}.search-input{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-base);color:var(--text-primary);flex:1 1;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.search-input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px var(--color-primary-100)}[data-theme=dark] .search-input:focus{box-shadow:0 0 0 3px #4a9eff33}.search-input::placeholder{color:var(--text-tertiary)}.search-button{background:var(--color-primary-600);border:none;border-radius:var(--radius-base);color:var(--text-inverse);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6);transition:all var(--transition-fast);white-space:nowrap}.search-button:hover:not(:disabled){background:var(--color-primary-700)}.search-button:disabled{cursor:not-allowed;opacity:.5}.close-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:var(--radius-full);color:var(--text-inverse);cursor:pointer;display:flex;font-size:var(--text-xl);height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.close-button:hover{background:#ffffff4d;transform:rotate(90deg)}.nearby-map-container{border-bottom:1px solid var(--border-light);flex-shrink:0;height:300px;position:relative}.map-error,.nearby-map{height:100%;width:100%}.map-error{align-items:center;background:var(--bg-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--space-6);text-align:center}.error-icon{font-size:3rem;margin-bottom:var(--space-4)}.map-error p{color:var(--color-danger-600);font-weight:var(--font-medium);margin:0;max-width:400px}.nearby-content{flex:1 1;overflow-y:auto;padding:var(--space-6)}.nearby-loading{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;padding:var(--space-12)}.nearby-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--color-primary-600);height:40px;width:40px}.nearby-loading p{color:var(--text-secondary);font-size:var(--text-base);margin:0}.nearby-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--space-12);text-align:center}.nearby-empty p{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.nearby-empty small{color:var(--text-secondary);font-size:var(--text-sm)}.nearby-list h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0}.hospital-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-base);cursor:pointer;display:flex;gap:var(--space-4);margin-bottom:var(--space-3);padding:var(--space-4);transition:all var(--transition-fast)}.hospital-item:hover{border-color:var(--color-primary-400);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.hospital-item.selected{background:var(--color-primary-50);border-color:var(--color-primary-600);box-shadow:var(--shadow-md)}[data-theme=dark] .hospital-item.selected{background:var(--bg-hover)}.hospital-number{align-items:center;background:var(--color-danger-500);border-radius:var(--radius-full);color:var(--text-inverse);display:flex;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-bold);height:32px;justify-content:center;width:32px}.hospital-details{flex:1 1;min-width:0}.hospital-details h4{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin:0 0 var(--space-2) 0}.hospital-address{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);margin:0 0 var(--space-3) 0}.hospital-meta{display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-3)}.hospital-rating{color:var(--text-primary);font-weight:var(--font-medium)}.hospital-rating small{color:var(--text-tertiary)}.hospital-distance{color:var(--text-secondary);font-weight:var(--font-medium)}.hospital-status{border-radius:var(--radius-sm);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2)}.hospital-status.open{background:var(--color-success-100);color:var(--color-success-700)}.hospital-status.closed{background:var(--color-danger-100);color:var(--color-danger-700)}.hospital-item .btn-sm{align-self:flex-start;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);white-space:nowrap}@media (max-width:768px){.nearby-panel{right:-100vw;width:100vw}.nearby-panel.open{right:0}.nearby-map-container{height:250px}.nearby-content{padding:var(--space-4)}.hospital-item{align-items:flex-start;flex-direction:column}.hospital-item .btn-sm{text-align:center;width:100%}}@media (max-width:480px){.nearby-header{padding:var(--space-4)}.nearby-header h2{font-size:var(--text-xl)}.nearby-map-container{height:200px}.hospital-meta{flex-direction:column;gap:var(--space-2)}}.hospitals-container{margin:0 auto;max-width:1200px;padding:2rem}.hospital-card{transition:transform .2s,box-shadow .2s}.hospital-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.form-hint{display:block;margin-top:.25rem}.loading-container{min-height:400px}.spinner{border:4px solid #667eea1a}@media (max-width:768px){.hospitals-container{padding:1rem}.flex-between{gap:1rem}.flex-between,.hospital-card .flex,.hospital-card .flex-between{flex-direction:column}.hospital-card .btn,.hospital-card .flex{width:100%}}.error-boundary{align-items:center;background:linear-gradient(135deg,var(--color-primary-50) 0,var(--color-primary-100) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-6)}.error-boundary-content{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;padding:var(--space-10);text-align:center;width:100%}.error-icon{animation:pulse 2s ease-in-out infinite;font-size:64px;margin-bottom:var(--space-6)}.error-boundary-content h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-4)}.error-message{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.6;margin-bottom:var(--space-8)}.error-actions{display:flex;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-8)}.error-actions .btn{min-width:140px}.error-details{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-base);margin-top:var(--space-8);padding:var(--space-4);text-align:left}.error-details summary{color:var(--text-primary);cursor:pointer;font-weight:var(--font-semibold);padding:var(--space-2);-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--color-primary-600)}.error-stack{margin-top:var(--space-4);padding:var(--space-4)}.error-stack h3{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-2);margin-top:var(--space-4)}.error-stack h3:first-child{margin-top:0}.error-stack pre{word-wrap:break-word;background:var(--color-neutral-900);border-radius:var(--radius-base);color:var(--color-neutral-100);font-size:var(--text-sm);line-height:1.5;overflow-x:auto;padding:var(--space-4);white-space:pre-wrap}@media (max-width:640px){.error-boundary-content{padding:var(--space-6)}.error-boundary-content h1{font-size:var(--text-2xl)}.error-actions{flex-direction:column}.error-actions .btn{width:100%}.error-icon{font-size:48px}}.family-member-form{width:100%}.family-member-form h2{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.75rem;font-weight:700;line-height:1.3;margin:0 0 2rem;padding-bottom:1rem}.error-message{border-radius:4px}.form-group{margin-bottom:1.5rem}.form-group label{font-size:.95rem}.required{color:#dc3545}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.form-group textarea{font-family:inherit}.form-section-divider{border-top:2px solid #90caf9;border-top:2px solid var(--color-primary-300,#90caf9);margin:2rem 0 1.5rem;padding:1rem 0 .5rem}.form-section-title{color:#0e76ba;color:var(--color-primary-700,#0e76ba);font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.form-section-hint{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:.875rem;font-style:italic;margin:0}.form-row{margin-bottom:1.5rem}.photo-upload-section{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.photo-upload-container{align-items:center;display:flex;gap:2rem;margin-top:1rem}.photo-preview{border-radius:50%;box-shadow:0 2px 8px #00000026;height:120px;overflow:hidden;position:relative;width:120px}.photo-preview img{height:100%;object-fit:cover;width:100%}.btn-remove-photo{align-items:center;background:#dc3545e6;border:2px solid #fff;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;line-height:1;position:absolute;right:5px;top:5px;transition:all .2s;width:28px}.btn-remove-photo:hover{background:#dc3545;transform:scale(1.1)}.photo-placeholder{border:2px dashed #adb5bd;border-radius:50%;flex-direction:column;height:120px;width:120px}.photo-placeholder-icon{font-size:2.5rem;opacity:.5}.photo-placeholder p{color:#6c757d;font-size:.85rem;margin:.5rem 0 0}.photo-upload-buttons{flex:1 1}.photo-hint{color:#6c757d;font-size:.85rem;margin:.5rem 0 0}.checkbox-group{background:#f8f9fa;border-radius:4px}.form-hint{font-size:.85rem;line-height:1.4;margin:.75rem 0 0 2.25rem}.form-actions{border-top:1px solid #dee2e6;padding-top:2rem}.btn{border-radius:4px}.btn-primary:hover:not(:disabled){box-shadow:0 4px 8px #007bff4d}@media (max-width:768px){.photo-upload-container{align-items:flex-start;flex-direction:column;gap:1rem}.photo-upload-buttons,.photo-upload-buttons .btn{width:100%}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.family-member-list-container{margin:0 auto;max-width:1400px;padding:2rem}.list-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.list-header h1{color:#2c3e50;font-size:2rem;margin:0 0 .5rem}.member-count{color:#6c757d;font-size:.95rem;margin:0}.error-message,.info-message{align-items:center;border-radius:8px;display:flex;font-size:.95rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.error-message{background:#ffe7e7;border-left:4px solid #dc3545}.info-message{background:#d1ecf1;border-left:4px solid #0c5460;color:#0c5460}.empty-state{background:#f8f9fa;border-radius:12px;margin-top:2rem}.empty-state h2{color:#495057}.empty-state p{margin-bottom:2rem}.family-members-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:2rem}.family-member-card{background:#fff;border:1px solid #dee2e6;border-radius:12px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s}.family-member-card.clickable{cursor:pointer}.family-member-card:hover{border-color:#007bff;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.family-member-card.primary{background:linear-gradient(135deg,#fff,#f0fff4);border:2px solid #28a745}.primary-badge{background:#28a745;border-bottom-left-radius:8px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;position:absolute;right:0;text-transform:uppercase;top:0}.member-photo{border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000001a;height:100px;margin:0 auto 1rem;overflow:hidden;width:100px}.member-photo img{height:100%;object-fit:cover;width:100%}.photo-placeholder{align-items:center;background:linear-gradient(135deg,#e9ecef,#dee2e6);display:flex;height:100%;justify-content:center;width:100%}.placeholder-icon{font-size:3rem;opacity:.5}.member-info{margin-bottom:1rem;text-align:center}.member-info h3{color:#2c3e50;font-size:1.25rem;margin:0 0 .5rem}.member-info p{color:#6c757d;font-size:.9rem;margin:.25rem 0}.relationship{color:#007bff!important;font-weight:600}.member-details{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.detail-row{border-bottom:1px solid #f0f0f0;font-size:.9rem;justify-content:space-between;padding:.5rem 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#6c757d;font-weight:600;min-width:100px}.detail-value{color:#2c3e50;font-weight:500;text-align:right}.member-actions{border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem}.member-actions .btn{flex:1 1;font-size:.85rem;min-width:100px}.delete-confirm{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:.25rem .5rem}.delete-confirm span{color:#856404;font-size:.85rem}.member-notes{border-top:1px solid #e9ecef;color:#495057;font-size:.9rem;line-height:1.5;margin-top:1rem;padding-top:1rem}.member-notes strong{color:#2c3e50;display:block;margin-bottom:.25rem}.modal-overlay{animation:fadeIn .2s ease-in-out}.modal-content{border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow-x:hidden;padding:2rem;position:relative;scroll-behavior:smooth}.modal-close-btn{align-items:center;background:#f8f9fa;border:none;border-radius:50%;color:#495057;cursor:pointer;display:flex;font-size:2rem;height:36px;justify-content:center;line-height:1;padding:0;position:absolute;right:1rem;top:1rem;transition:all .2s;width:36px;z-index:10}.modal-close-btn:hover{background:#dc3545;color:#fff;transform:rotate(90deg)}.modal-close-btn:active{transform:rotate(90deg) scale(.95)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 12px 12px 0}.modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.btn{border-radius:6px}.btn-primary{background:#007bff}.btn-primary:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 12px #007bff4d}.btn-secondary{background:#6c757d}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-danger{background:#dc3545}.btn-danger:hover:not(:disabled){background:#c82333}.btn-success{background:#28a745}.btn-success:hover:not(:disabled){background:#218838}.btn-outline{background:#0000;border:2px solid #6c757d;color:#6c757d}.btn-outline:hover:not(:disabled){background:#6c757d;color:#fff}.btn-sm{font-size:.85rem;padding:.35rem .75rem}.loading-spinner{padding:4rem 2rem}.spinner{border-top-color:#007bff}@media (max-width:768px){.family-member-list-container{padding:1rem}.list-header{align-items:flex-start;flex-direction:column;gap:1rem}.list-header .btn{width:100%}.family-members-grid{gap:1rem;grid-template-columns:1fr}.member-actions{flex-direction:column}.member-actions .btn{min-width:0;min-width:auto;width:100%}.modal-content{max-height:95vh;padding:1.5rem}.modal-overlay{padding:.5rem}.modal-close-btn{font-size:1.75rem;height:32px;right:.75rem;top:.75rem;width:32px}}.conditions-form{margin:0 auto;max-width:650px;padding:1.5rem;padding:var(--space-6,1.5rem)}.conditions-form h2{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:1.5rem;font-size:var(--text-2xl,1.5rem);font-weight:700;font-weight:var(--font-bold,700);margin-bottom:1.5rem;margin-bottom:var(--space-6,1.5rem)}.condition-type-grid{grid-gap:.75rem;grid-gap:var(--space-3,.75rem);display:grid;gap:.75rem;gap:var(--space-3,.75rem);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:.5rem;margin-top:var(--space-2,.5rem)}.condition-type-option{align-items:center;background:#fcfdfe;background:var(--bg-secondary,#fcfdfe);border:2px solid #cbd5e0;border:2px solid var(--border-medium,#cbd5e0);border-radius:1rem;border-radius:var(--radius-lg,1rem);cursor:pointer;display:flex;flex-direction:column;padding:1rem;padding:var(--space-4,1rem);text-align:center;transition:all .3s;transition:all var(--transition-base,.3s)}.condition-type-option:hover{border-color:#64b5f6;border-color:var(--color-primary-400,#64b5f6);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-md,0 10px 15px -3px #0000001a);transform:translateY(-2px)}.condition-type-option.selected{background:linear-gradient(135deg,#e3f2fd,#bbdefb);background:linear-gradient(135deg,var(--color-primary-100,#e3f2fd) 0,var(--color-primary-200,#bbdefb) 100%);border-color:#1e88e5;border-color:var(--color-primary-600,#1e88e5);box-shadow:0 4px 14px 0 #1e88e540;box-shadow:var(--shadow-primary,0 4px 14px 0 #1e88e540)}.condition-type-option .type-icon{font-size:2rem;margin-bottom:.5rem;margin-bottom:var(--space-2,.5rem)}.condition-type-option .type-label{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;font-weight:var(--font-semibold,600);margin-bottom:.25rem;margin-bottom:var(--space-1,.25rem)}.condition-type-option .type-description{color:#718096;color:var(--text-tertiary,#718096);font-size:.75rem;font-size:var(--text-xs,.75rem)}.input-with-button{display:flex;gap:.5rem;gap:var(--space-2,.5rem)}.input-with-button input{flex:1 1}.common-conditions-list{background:#f7fafc;background:var(--bg-tertiary,#f7fafc);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:.5rem;border-radius:var(--radius-base,.5rem);display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--space-2,.5rem);margin-top:.75rem;margin-top:var(--space-3,.75rem);max-height:200px;overflow-y:auto;padding:.75rem;padding:var(--space-3,.75rem)}.common-condition-btn{background:#fff;background:var(--bg-card,#fff);border:1px solid #cbd5e0;border:1px solid var(--border-medium,#cbd5e0);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#6c757d;color:var(--text-secondary,#6c757d);cursor:pointer;font-size:.875rem;font-size:var(--text-sm,.875rem);padding:.5rem .75rem;padding:var(--space-2,.5rem) var(--space-3,.75rem);transition:all .15s;transition:all var(--transition-fast,.15s)}.common-condition-btn:hover{background:#e3f2fd;background:var(--color-primary-100,#e3f2fd);border-color:#64b5f6;border-color:var(--color-primary-400,#64b5f6);color:#0e76ba;color:var(--color-primary-700,#0e76ba)}.form-group input[type=date],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #ced4da;border:2px solid var(--border-medium,#ced4da);border-radius:.5rem;border-radius:var(--radius-base,.5rem);font-family:inherit;font-size:1rem;font-size:var(--text-base,1rem);padding:.75rem;padding:var(--space-3,.75rem);transition:all .15s;transition:all var(--transition-fast,.15s);width:100%}.checkbox-group{background:#f7fafc;background:var(--bg-tertiary,#f7fafc);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:.5rem;border-radius:var(--radius-base,.5rem);padding:1rem;padding:var(--space-4,1rem)}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:500;font-weight:var(--font-medium,500);gap:.75rem;gap:var(--space-3,.75rem)}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-label span{color:#495057;color:var(--text-primary,#495057);font-weight:500;font-weight:var(--font-medium,500)}.btn-sm{font-size:.875rem;font-size:var(--text-sm,.875rem);padding:.5rem 1rem;padding:var(--space-2,.5rem) var(--space-4,1rem)}@media (max-width:768px){.conditions-form{padding:1rem;padding:var(--space-4,1rem)}.condition-type-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.conditions-container{margin:0 auto;max-width:1400px;padding:1.5rem;padding:var(--space-6,1.5rem)}.conditions-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-light,#e2e8f0);display:flex;justify-content:space-between;margin-bottom:2rem;margin-bottom:var(--space-8,2rem);padding-bottom:1.5rem;padding-bottom:var(--space-6,1.5rem)}.conditions-header h1{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:1.875rem;font-size:var(--text-3xl,1.875rem);font-weight:700;font-weight:var(--font-bold,700);margin-bottom:.5rem;margin-bottom:var(--space-2,.5rem)}.subtitle{font-size:1rem;font-size:var(--text-base,1rem);font-weight:400;font-weight:var(--font-normal,400)}.loading-spinner{padding:var(--space-12,3rem)}.spinner{border:4px solid #e3f2fd;border:4px solid var(--color-primary-100,#e3f2fd)}.conditions-filters{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:1rem;border-radius:var(--radius-lg,1rem);box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--shadow-sm,0 1px 3px 0 #0000001a);display:flex;flex-wrap:wrap;gap:1.5rem;gap:var(--space-6,1.5rem);margin-bottom:1.5rem;margin-bottom:var(--space-6,1.5rem);padding:1.25rem;padding:var(--space-5,1.25rem)}.filter-group label{color:#2c3e50;color:var(--text-primary,#2c3e50);white-space:nowrap}.filter-group select{background:#fff;background:var(--bg-card,#fff);min-width:150px;padding:.5rem .75rem;padding:var(--space-2,.5rem) var(--space-3,.75rem)}.filter-summary{background:#f7fafc;background:var(--bg-tertiary,#f7fafc);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#6c757d;color:var(--text-secondary,#6c757d);padding:.5rem 1rem;padding:var(--space-2,.5rem) var(--space-4,1rem)}.empty-state{background:var(--bg-card,#fff);border:2px dashed #cbd5e0;border:2px dashed var(--border-medium,#cbd5e0);border-radius:1rem;border-radius:var(--radius-lg,1rem);padding:var(--space-12,3rem) var(--space-6,1.5rem)}.empty-state h2{font-size:1.25rem;font-size:var(--text-xl,1.25rem);font-weight:600;font-weight:var(--font-semibold,600);margin-bottom:.75rem;margin-bottom:var(--space-3,.75rem)}.empty-state p{font-size:1rem;font-size:var(--text-base,1rem)}.conditions-grid{grid-gap:1.5rem;grid-gap:var(--space-6,1.5rem);display:grid;gap:1.5rem;gap:var(--space-6,1.5rem);grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.condition-card{background:#fff;background:var(--bg-card,#fff);border:2px solid #e2e8f0;border:2px solid var(--border-light,#e2e8f0);border-radius:1rem;border-radius:var(--radius-lg,1rem);box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--shadow-sm,0 1px 3px 0 #0000001a);overflow:hidden;padding:1.5rem;padding:var(--space-6,1.5rem);position:relative;transition:all .3s;transition:all var(--transition-base,.3s)}.condition-card:before{background:linear-gradient(180deg,#3b9ff3,#0e76ba);background:linear-gradient(180deg,var(--color-primary-500,#3b9ff3),var(--color-primary-700,#0e76ba));content:"";height:100%;left:0;position:absolute;top:0;transition:width .15s;transition:width var(--transition-fast,.15s);width:4px}.condition-card:hover{border-color:#90caf9;border-color:var(--color-primary-300,#90caf9);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-md,0 10px 15px -3px #0000001a);transform:translateY(-2px)}.condition-card:hover:before{width:6px}.condition-card.inactive{background:#f7fafc;background:var(--bg-tertiary,#f7fafc);opacity:.7}.condition-card.inactive:before{background:linear-gradient(180deg,#cbd5e0,#718096);background:linear-gradient(180deg,var(--color-neutral-400,#cbd5e0),var(--color-neutral-600,#718096))}.condition-header-row{align-items:flex-start;display:flex;gap:.75rem;gap:var(--space-3,.75rem);justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-4,1rem)}.condition-type-badge{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);background:linear-gradient(135deg,var(--color-primary-100,#e3f2fd),var(--color-primary-200,#bbdefb));border:1px solid #90caf9;border:1px solid var(--color-primary-300,#90caf9);border-radius:9999px;border-radius:var(--radius-full,9999px);color:#0d5a8f;color:var(--color-primary-800,#0d5a8f);display:inline-flex;font-size:.75rem;font-size:var(--text-xs,.75rem);font-weight:600;font-weight:var(--font-semibold,600);gap:.5rem;gap:var(--space-2,.5rem);padding:.5rem .75rem;padding:var(--space-2,.5rem) var(--space-3,.75rem)}.type-icon{font-size:1rem}.type-label{white-space:nowrap}.condition-status-badges{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;gap:var(--space-2,.5rem)}.severity-badge,.status-badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full,9999px);display:inline-flex;font-size:.75rem;font-size:var(--text-xs,.75rem);font-weight:600;font-weight:var(--font-semibold,600);gap:.25rem;gap:var(--space-1,.25rem);padding:.25rem .75rem;padding:var(--space-1,.25rem) var(--space-3,.75rem);white-space:nowrap}.status-badge.active{background:linear-gradient(135deg,#d4edda,#c3e6cb);background:linear-gradient(135deg,var(--color-success-100,#d4edda),var(--color-success-200,#c3e6cb));border:1px solid #b1dfbb;border:1px solid var(--color-success-300,#b1dfbb);color:#155724;color:var(--color-success-800,#155724)}.status-badge.inactive{background:#e2e8f0;background:var(--color-neutral-200,#e2e8f0);border:1px solid #cbd5e0;border:1px solid var(--color-neutral-300,#cbd5e0);color:#4a5568;color:var(--color-neutral-700,#4a5568)}.severity-badge.severity-mild{background:linear-gradient(135deg,#d4edda,#c3e6cb);background:linear-gradient(135deg,var(--color-success-100,#d4edda),var(--color-success-200,#c3e6cb));border:1px solid #b1dfbb;border:1px solid var(--color-success-300,#b1dfbb);color:#155724;color:var(--color-success-800,#155724)}.severity-badge.severity-moderate{background:linear-gradient(135deg,#fff3cd,#ffe69c);background:linear-gradient(135deg,var(--color-warning-100,#fff3cd),var(--color-warning-200,#ffe69c));border:1px solid #ffd966;border:1px solid var(--color-warning-300,#ffd966);color:#856404;color:var(--color-warning-800,#856404)}.severity-badge.severity-severe{background:linear-gradient(135deg,#ffebee,#ffcdd2);background:linear-gradient(135deg,var(--color-danger-100,#ffebee),var(--color-danger-200,#ffcdd2));border:1px solid #ef9a9a;border:1px solid var(--color-danger-300,#ef9a9a);color:#b71c1c;color:var(--color-danger-800,#b71c1c)}.condition-name{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:1.25rem;font-size:var(--text-xl,1.25rem);font-weight:700;font-weight:var(--font-bold,700);line-height:1.375;line-height:var(--leading-snug,1.375);margin-bottom:.75rem;margin-bottom:var(--space-3,.75rem)}.condition-description{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:.875rem;font-size:var(--text-sm,.875rem);line-height:1.625;line-height:var(--leading-relaxed,1.625);margin-bottom:1rem;margin-bottom:var(--space-4,1rem)}.condition-details{background:#f7fafc;background:var(--bg-tertiary,#f7fafc);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:.5rem;border-radius:var(--radius-base,.5rem);margin:1rem 0;margin:var(--space-4,1rem) 0;padding:1rem;padding:var(--space-4,1rem)}.detail-row{align-items:flex-start;gap:.75rem;gap:var(--space-3,.75rem)}.detail-row:last-child{margin-bottom:0}.detail-icon{font-size:1.1rem;margin-top:2px}.detail-text{line-height:1.625;line-height:var(--leading-relaxed,1.625)}.condition-notes{background:#f0f8ff;background:var(--color-primary-50,#f0f8ff);border-left:3px solid #3b9ff3;border-left:3px solid var(--color-primary-500,#3b9ff3);border-radius:.5rem;border-radius:var(--radius-base,.5rem);font-size:.875rem;font-size:var(--text-sm,.875rem);margin-top:.75rem;margin-top:var(--space-3,.75rem);padding:.75rem;padding:var(--space-3,.75rem)}.condition-notes strong{color:#0e76ba;color:var(--color-primary-700,#0e76ba);font-weight:600;font-weight:var(--font-semibold,600);margin-right:.5rem;margin-right:var(--space-2,.5rem)}.condition-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-light,#e2e8f0);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;margin-top:var(--space-5,1.25rem);padding-top:1rem;padding-top:var(--space-4,1rem)}.btn,.condition-actions{gap:var(--space-2,.5rem)}.btn{white-space:nowrap}.btn-success{background:linear-gradient(135deg,#28a745,#218838);background:linear-gradient(135deg,var(--color-success-600,#28a745) 0,var(--color-success-700,#218838) 100%);color:#fff;color:var(--text-inverse,#fff)}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1e7e34);background:linear-gradient(135deg,var(--color-success-700,#218838) 0,var(--color-success-800,#1e7e34) 100%)}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);background:linear-gradient(135deg,var(--color-danger-600,#dc3545) 0,var(--color-danger-700,#c82333) 100%)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#bd2130);background:linear-gradient(135deg,var(--color-danger-700,#c82333) 0,var(--color-danger-800,#bd2130) 100%)}.delete-confirm{background:#fff5f5;background:var(--color-danger-50,#fff5f5);border:1px solid #ffcdd2;border:1px solid var(--color-danger-200,#ffcdd2)}.delete-confirm span{color:#c62828;color:var(--color-danger-700,#c62828);font-size:.75rem;font-size:var(--text-xs,.75rem)}.modal-overlay{animation:fadeIn .2s ease-out;background:#0009}.modal-content{animation:slideUp .3s ease-out;border-radius:1.25rem;border-radius:var(--radius-xl,1.25rem);max-width:700px}@media (max-width:768px){.conditions-container{padding:1rem;padding:var(--space-4,1rem)}.conditions-header{align-items:stretch;flex-direction:column;gap:1rem;gap:var(--space-4,1rem)}.conditions-header .btn{width:100%}.conditions-filters,.filter-group{align-items:stretch;flex-direction:column}.filter-group select{width:100%}.filter-summary{margin-left:0;text-align:center}.conditions-grid{grid-template-columns:1fr}.condition-actions{flex-direction:column}.condition-actions .btn{width:100%}.delete-confirm{flex-direction:column;text-align:center}.delete-confirm .btn{width:100%}}@media (max-width:480px){.conditions-header h1{font-size:1.5rem;font-size:var(--text-2xl,1.5rem)}.condition-name{font-size:1.125rem;font-size:var(--text-lg,1.125rem)}.condition-type-badge{font-size:.7rem;padding:.25rem .5rem;padding:var(--space-1,.25rem) var(--space-2,.5rem)}}.tag-selector-container{margin-bottom:16px;position:relative}.tag-selector-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.tag-selector-input{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;min-height:42px;padding:8px 36px 8px 12px;position:relative;transition:border-color .15s ease}.tag-selector-input:hover{border-color:#9ca3af}.tag-selector-input:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.tag-selector-placeholder{color:#9ca3af;font-size:14px}.selected-tags{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.tag-chip{align-items:center;border-radius:4px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 8px;white-space:nowrap}.tag-chip-remove{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;line-height:1;margin-left:2px;opacity:.7;padding:0;transition:opacity .15s ease}.tag-chip-remove:hover{opacity:1}.tag-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:4px;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:50}.tag-option{align-items:center;gap:10px}.tag-option:hover{background:#f9fafb}.tag-option.selected{background:#eff6ff}.tag-checkbox{cursor:pointer;height:16px;width:16px}.tag-preview{align-items:center;border-radius:4px;color:#fff;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:4px 10px}.tag-selector-loading{color:#6b7280;font-size:14px;padding:10px}@media (prefers-color-scheme:dark){.tag-selector-label{color:#e5e7eb}.tag-selector-input{background:#374151;border-color:#4b5563}.tag-selector-input:hover{border-color:#6b7280}.tag-dropdown{background:#1f2937;border-color:#374151}.tag-option:hover{background:#374151}.tag-option.selected{background:#1e3a8a}}.folder-selector-container{margin-bottom:16px;position:relative}.folder-selector-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.folder-selector-input{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;min-height:42px;padding:8px 36px 8px 12px;position:relative;transition:border-color .15s ease}.folder-selector-input:hover{border-color:#9ca3af}.folder-selector-input:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.folder-selector-placeholder{color:#9ca3af;font-size:14px}.selected-folder{align-items:center;display:flex;flex:1 1;gap:8px}.folder-path{color:#1f2937;font-size:14px;font-weight:500}.dropdown-arrow{color:#6b7280;font-size:10px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.folder-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:50}.folder-option{align-items:center;color:#1f2937;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 12px;transition:background .15s ease}.folder-option:hover{background:#f9fafb}.folder-option.selected{background:#eff6ff;font-weight:600}.dropdown-empty{color:#9ca3af;font-size:13px;padding:20px;text-align:center}.folder-selector-loading{color:#6b7280;font-size:14px;padding:10px}@media (prefers-color-scheme:dark){.folder-selector-label{color:#e5e7eb}.folder-selector-input{background:#374151;border-color:#4b5563}.folder-selector-input:hover{border-color:#6b7280}.folder-path{color:#e5e7eb}.folder-dropdown{background:#1f2937;border-color:#374151}.folder-option{color:#e5e7eb}.folder-option:hover{background:#374151}.folder-option.selected{background:#1e3a8a}}.document-upload-modal{max-width:600px;width:90%}.file-drop-zone{background-color:#f9f9f9;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:3rem 2rem;text-align:center;transition:all .3s ease}.file-drop-zone.drag-active{background-color:#f0f4ff;border-color:#667eea;transform:scale(1.02)}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.upload-icon{font-size:3rem;margin-bottom:.5rem}.drop-zone-title{color:#333;font-size:1.1rem;font-weight:600;margin:0}.drop-zone-subtitle{color:#666;font-size:.9rem;margin:.5rem 0}.file-requirements{color:#888;font-size:.85rem;margin-bottom:0;margin-top:1rem}.selected-file-container{display:flex;flex-direction:column;gap:1.5rem}.selected-file-info{align-items:center;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:1rem;padding:1rem}.file-icon{flex-shrink:0;font-size:2.5rem}.file-details{flex:1 1;min-width:0}.file-name{color:#333;font-weight:600;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#666;font-size:.9rem;margin:0}.remove-file-button{background:none;border:none;color:#999;cursor:pointer;flex-shrink:0;font-size:1.5rem;padding:.25rem .5rem;transition:color .2s}.remove-file-button:hover{color:#e74c3c}.upload-progress{margin-top:1rem}.progress-bar{background-color:#e0e0e0;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#667eea;font-size:.9rem;font-weight:600;margin:0;text-align:center}.ocr-action-container{align-items:center;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;padding:1rem}.ocr-extract-button{align-items:center;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem}.ocr-action-note{color:#6b7280;font-size:.85rem;font-style:italic;margin:0;text-align:center}.ocr-progress-container{animation:fadeIn .3s ease-in;background:linear-gradient(135deg,#667eea15,#764ba215);border:2px solid #667eea;border-radius:8px;margin:1rem 0;padding:1.5rem}.ocr-progress-header{align-items:center;color:#333;display:flex;font-weight:600;gap:.75rem;margin-bottom:1rem}.ocr-icon{animation:pulse 1.5s ease-in-out infinite;font-size:1.5rem}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.progress-bar-fill.ocr-animation{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#667eea,#764ba2)}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:200% 0}}.ocr-progress-text{color:#667eea;font-size:1rem;font-weight:700;margin:.75rem 0 .5rem;text-align:center}.ocr-note{color:#666;font-size:.85rem;font-style:italic;margin:.5rem 0 0;text-align:center}.ocr-success{align-items:center;animation:slideIn .3s ease-out;background-color:#d4edda;border:1px solid #c3e6cb;border-left:4px solid #28a745;border-radius:6px;display:flex;gap:1rem;justify-content:space-between;margin:1rem 0;padding:1rem}.ocr-success-content{align-items:center;display:flex;flex:1 1;gap:.75rem}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.success-icon{align-items:center;background-color:#28a745;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:24px;justify-content:center;width:24px}.success-message{color:#155724;font-size:.95rem;font-weight:500}.ocr-reextract-button{background-color:#ffffffb3;border:1px solid #28a745;border-radius:4px;color:#155724;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.ocr-reextract-button:hover:not(:disabled){background-color:#fff}.ocr-reextract-button:disabled{cursor:not-allowed;opacity:.5}.record-link-info{background-color:#e8f4f8;border-left:4px solid #3498db;border-radius:4px;margin-top:1rem;padding:.75rem 1rem}.record-link-info p{color:#2c3e50;font-size:.9rem;margin:0}.record-link-info strong{color:#3498db}.alert{border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem}.alert-error{background-color:#fee;border-left:4px solid #e74c3c;color:#c0392b}@media (max-width:768px){.document-upload-modal{max-width:none;width:95%}.file-drop-zone{padding:2rem 1rem}.upload-icon{font-size:2.5rem}.ocr-success{align-items:flex-start;flex-direction:column}.ocr-success-content{width:100%}.ocr-reextract-button{align-items:center;display:flex;gap:.5rem;justify-content:center;width:100%}}.document-viewer-overlay{z-index:2000}.document-viewer-modal{display:flex;flex-direction:column;height:1000px;max-height:95vh;max-width:95vw;width:1600px}.document-viewer-header-content{flex:1 1;min-width:0}.document-viewer-header-content h2{color:#2c3e50;font-size:1.3rem;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-viewer-meta{color:#666;display:flex;font-size:.9rem;gap:1rem}.document-viewer-body{overflow:auto;padding:0}.document-viewer-body,.preview-container{display:flex;flex:1 1;flex-direction:column}.preview-container{overflow:hidden}.image-preview{align-items:center;background-color:#f5f5f5;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:1rem}.image-preview img{border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:100%;max-width:100%;object-fit:contain}.pdf-preview{background-color:#525659;flex:1 1;overflow:hidden}.pdf-iframe{border:none;height:100%;width:100%}.no-preview{align-items:center;background-color:#f9f9f9;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.no-preview-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.5}.no-preview-title{color:#2c3e50;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.no-preview-subtitle{color:#7f8c8d;font-size:1rem;margin-bottom:1.5rem}.document-description-box{background-color:#f9f9f9;border-top:1px solid #e0e0e0;padding:1.5rem}.document-description-box h4{color:#2c3e50;font-size:1rem;margin:0 0 .75rem}.document-description-box p{color:#666;line-height:1.6;margin:0}.document-extracted-text-box{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid #0284c7;border-top:1px solid #bae6fd;padding:1.5rem}.extracted-text-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.extracted-text-header h4{color:#0c4a6e;font-size:1rem;font-weight:600;margin:0}.ocr-badge{align-items:center;background-color:#0284c7;border-radius:12px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.extracted-text-content{background-color:#fff;border:1px solid #bae6fd;border-radius:6px;margin-bottom:1rem;max-height:300px;overflow-y:auto;padding:1rem}.extracted-text-content p{color:#334155;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.95rem;line-height:1.7;margin:0;white-space:pre-wrap;word-break:break-word}.ocr-privacy-note{background-color:#fff9;border-left:3px solid #0284c7;border-radius:4px;color:#0c4a6e;font-size:.85rem;font-style:italic;padding:.75rem}.loading-container{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:3rem}.spinner{border:4px solid #f3f3f3;border-top-color:#667eea;margin-bottom:1rem}.loading-container p{color:#666;font-size:1rem}.error-container{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:3rem}.error-message{font-size:1rem;margin-bottom:1rem}@media (max-width:768px){.document-viewer-modal{height:85vh;max-width:none;width:95vw}.document-viewer-header-content h2{font-size:1.1rem}.document-viewer-meta{flex-direction:column;gap:.25rem}.no-preview{padding:2rem 1rem}.no-preview-icon{font-size:3.5rem}.document-description-box,.document-extracted-text-box{padding:1rem}.extracted-text-content{max-height:200px;padding:.75rem}}@media (max-width:480px){.document-viewer-modal{border-radius:0;height:100vh;max-height:100vh;width:100vw}.modal-footer,.modal-header{padding:1rem}}.document-tags{position:relative}.tags-display{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.tags-display.compact{gap:6px}.no-tags{color:#9ca3af;font-size:13px;font-style:italic}.tag-badge{font-size:13px;padding:4px 10px;transition:all .15s ease}.compact .tag-badge{font-size:12px;gap:4px;padding:3px 8px}.tag-content{align-items:center;display:inline-flex;gap:4px}.tag-remove{background:none;border:none;color:#fff;cursor:pointer;font-size:18px;line-height:1;margin-left:4px;opacity:.7;padding:0 2px;transition:opacity .15s ease}.tag-remove:hover{opacity:1}.tag-remove:disabled{cursor:not-allowed;opacity:.4}.btn-add-tag{background:#f3f4f6;border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;padding:4px 10px;transition:all .15s ease;white-space:nowrap}.compact .btn-add-tag{font-size:12px;padding:3px 8px}.btn-add-tag:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;color:#374151}.btn-add-tag:disabled{cursor:not-allowed;opacity:.5}.tag-selector{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:8px;max-width:400px;min-width:250px;position:absolute;top:100%;z-index:50}.selector-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.selector-header span{color:#1f2937;font-size:14px;font-weight:600}.btn-close{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;line-height:1;padding:0;transition:color .15s ease;width:24px}.btn-close:hover{color:#1f2937}.selector-list{max-height:300px;overflow-y:auto;padding:8px}.tag-option{align-items:flex-start;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.tag-option:hover:not(:disabled){background:#f9fafb}.tag-option:disabled{cursor:not-allowed;opacity:.5}.tag-option .tag-description{color:#6b7280;font-size:12px;line-height:1.4}.document-tags-loading{color:#6b7280;font-size:13px;font-style:italic}@media (max-width:640px){.tag-selector{left:0;max-width:none;right:0}}@media (prefers-color-scheme:dark){.tag-selector{background:#1f2937}.selector-header,.tag-selector{border-color:#374151}.selector-header span{color:#f9fafb}.btn-close{color:#9ca3af}.btn-close:hover{color:#f9fafb}.btn-add-tag,.tag-option:hover:not(:disabled){background:#374151}.btn-add-tag{border-color:#4b5563;color:#9ca3af}.btn-add-tag:hover:not(:disabled){background:#4b5563;color:#e5e7eb}}.documents-list-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.documents-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.documents-header h3{color:#2c3e50;font-size:1.4rem;margin:0}.loading-spinner{color:#666;font-size:1.1rem;padding:3rem}.error-message{color:#e74c3c;padding:2rem}.error-message p{margin-bottom:1rem}.empty-state{padding:3rem 1.5rem}.empty-title{color:#2c3e50;font-size:1.3rem}.empty-subtitle{color:#7f8c8d;margin-left:auto;margin-right:auto;max-width:500px}.documents-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.document-card{align-items:flex-start;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:1rem;padding:1.25rem;transition:all .2s ease}.document-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.document-icon{flex-shrink:0;font-size:2.5rem}.document-name{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 .5rem}.document-description{color:#666;font-size:.9rem;margin:0 0 .75rem}.document-meta{color:#888;font-size:.85rem;gap:1rem;margin-bottom:.5rem}.document-date,.document-size{display:inline-block}.document-link-badge{background-color:#e8f4f8;border-radius:4px;color:#3498db;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.document-actions{flex-direction:column}.btn-icon{background:none;border:none;border-radius:4px;font-size:1.3rem;padding:.25rem;transition:transform .2s}.btn-icon:hover{background-color:#0000000d;transform:scale(1.1)}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.btn-danger:hover{background-color:#e74c3c1a}@media (max-width:768px){.documents-list-container{padding:1rem}.documents-header{align-items:flex-start;flex-direction:column;gap:1rem}.documents-grid{gap:1rem;grid-template-columns:1fr}.document-card{padding:1rem}.document-icon{font-size:2rem}.empty-icon{font-size:3rem}}@media (max-width:480px){.document-meta{flex-direction:column;gap:.25rem}.document-actions{flex-direction:row}}.document-tags-container{border-top:1px solid #f0f0f0;margin-top:.75rem;padding-top:.75rem}.appointment-form{margin:0 auto;max-width:600px;padding:1.5rem;padding:var(--space-6,1.5rem)}.appointment-form h2{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:1.5rem;font-size:var(--text-2xl,1.5rem);font-weight:700;font-weight:var(--font-bold,700);margin-bottom:1.5rem;margin-bottom:var(--space-6,1.5rem)}.error-message{padding:var(--space-4,1rem)}.form-group{margin-bottom:1.25rem;margin-bottom:var(--space-5,1.25rem)}.form-group label{color:#495057;color:var(--text-primary,#495057);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:600;font-weight:var(--font-semibold,600);margin-bottom:var(--space-2,.5rem)}.required{color:#e53935;color:var(--color-danger-500,#e53935)}.form-group input[type=date],.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{border:2px solid #ced4da;border:2px solid var(--border-medium,#ced4da);border-radius:.5rem;border-radius:var(--radius-base,.5rem);font-family:inherit;font-size:1rem;font-size:var(--text-base,1rem);padding:.75rem;padding:var(--space-3,.75rem);transition:all .15s;transition:all var(--transition-fast,.15s);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b9ff3;border-color:var(--color-primary-500,#3b9ff3);box-shadow:0 0 0 3px #3b9ff326}.form-group textarea{min-height:100px}.form-row{grid-gap:var(--space-4,1rem);gap:var(--space-4,1rem);margin-bottom:1.25rem;margin-bottom:var(--space-5,1.25rem)}.form-row .form-group{margin-bottom:0}.form-hint{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:.875rem;font-size:var(--text-sm,.875rem);line-height:1.375;line-height:var(--leading-snug,1.375);margin:.5rem 0 0;margin:var(--space-2,.5rem) 0 0 0}.form-actions{border-top:2px solid #dee2e6;border-top:2px solid var(--border-light,#dee2e6);gap:var(--space-4,1rem);margin-top:var(--space-8,2rem);padding-top:var(--space-6,1.5rem)}.btn{font-size:1rem;font-size:var(--text-base,1rem);padding:var(--space-3,.75rem) var(--space-6,1.5rem)}@media (max-width:768px){.appointment-form{padding:1rem;padding:var(--space-4,1rem)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.appointments-container{margin:0 auto;max-width:1280px;max-width:var(--container-xl,1280px);padding:2rem;padding:var(--space-8,2rem)}.appointments-header{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-light,#e2e8f0);display:flex;justify-content:space-between;margin-bottom:2rem;margin-bottom:var(--space-8,2rem);padding-bottom:1.5rem;padding-bottom:var(--space-6,1.5rem)}.appointments-header h1{color:#0c3d5c;color:var(--color-primary-900,#0c3d5c);font-size:2.25rem;font-size:var(--text-4xl,2.25rem);font-weight:700;font-weight:var(--font-bold,700);margin:0 0 .5rem;margin:0 0 var(--space-2,.5rem) 0}.subtitle{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:1.125rem;font-size:var(--text-lg,1.125rem);margin:0}.appointments-filters{align-items:center;background:#fcfdfe;background:var(--bg-secondary,#fcfdfe);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:1rem;border-radius:var(--radius-lg,1rem);display:flex;flex-wrap:wrap;gap:1.5rem;gap:var(--space-6,1.5rem);margin-bottom:2rem;margin-bottom:var(--space-8,2rem);padding:1rem 1.5rem;padding:var(--space-4,1rem) var(--space-6,1.5rem)}.filter-group{align-items:center;display:flex;gap:.5rem;gap:var(--space-2,.5rem)}.filter-group label{color:#6c757d;color:var(--text-secondary,#6c757d);font-weight:600;font-weight:var(--font-semibold,600)}.filter-group label,.filter-group select{font-size:.875rem;font-size:var(--text-sm,.875rem)}.filter-group select{border:2px solid #cbd5e0;border:2px solid var(--border-medium,#cbd5e0);border-radius:.5rem;border-radius:var(--radius-base,.5rem);cursor:pointer;padding:.5rem 1rem;padding:var(--space-2,.5rem) var(--space-4,1rem);transition:all .15s;transition:all var(--transition-fast,.15s)}.filter-group select:focus{border-color:#3b9ff3;border-color:var(--color-primary-500,#3b9ff3);box-shadow:0 0 0 3px #3b9ff326;outline:none}.filter-summary{color:#718096;color:var(--text-tertiary,#718096);font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:500;font-weight:var(--font-medium,500);margin-left:auto}.appointments-grid{grid-gap:1.5rem;grid-gap:var(--space-6,1.5rem);display:grid;gap:1.5rem;gap:var(--space-6,1.5rem);grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.appointment-card{background:#fff;background:var(--bg-card,#fff);border:2px solid #e2e8f0;border:2px solid var(--border-light,#e2e8f0);border-radius:1rem;border-radius:var(--radius-lg,1rem);box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--shadow-sm,0 1px 3px 0 #0000001a);overflow:hidden;padding:1.5rem;padding:var(--space-6,1.5rem);position:relative;transition:all .3s;transition:all var(--transition-base,.3s)}.appointment-card:hover{border-color:#64b5f6;border-color:var(--color-primary-400,#64b5f6);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-md,0 10px 15px -3px #0000001a);transform:translateY(-4px)}.appointment-header-row{align-items:flex-start;display:flex;gap:.75rem;gap:var(--space-3,.75rem);justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-4,1rem)}.appointment-card h3{color:#2c3e50;color:var(--text-primary,#2c3e50);flex:1 1;font-size:1.25rem;font-size:var(--text-xl,1.25rem);font-weight:600;font-weight:var(--font-semibold,600);margin:0}.status-badge{border-radius:9999px;border-radius:var(--radius-full,9999px);display:inline-block;flex-shrink:0;font-size:.75rem;font-size:var(--text-xs,.75rem);font-weight:700;font-weight:var(--font-bold,700);letter-spacing:.5px;padding:.25rem .75rem;padding:var(--space-1,.25rem) var(--space-3,.75rem);text-transform:uppercase}.status-scheduled{background:linear-gradient(135deg,#e3f2fd,#bbdefb);background:linear-gradient(135deg,var(--color-primary-100,#e3f2fd) 0,var(--color-primary-200,#bbdefb) 100%);border:1px solid #90caf9;border:1px solid var(--color-primary-300,#90caf9);color:#0d5a8f;color:var(--color-primary-800,#0d5a8f)}.status-completed{background:linear-gradient(135deg,#e8f5e9,#d4edda);background:linear-gradient(135deg,var(--color-success-100,#e8f5e9) 0,#d4edda 100%);border:1px solid #81c784;border:1px solid var(--color-success-300,#81c784);color:#2e7d32;color:var(--color-success-700,#2e7d32)}.status-cancelled{background:linear-gradient(135deg,#ffebee,#ffe0e0);background:linear-gradient(135deg,var(--color-danger-100,#ffebee) 0,#ffe0e0 100%);border:1px solid #ef9a9a;border:1px solid var(--color-danger-300,#ef9a9a);color:#c62828;color:var(--color-danger-700,#c62828)}.status-no-show{background:linear-gradient(135deg,#fff3e0,#ffe0b2);background:linear-gradient(135deg,var(--color-warning-100,#fff3e0) 0,#ffe0b2 100%);border:1px solid #ffb74d;border:1px solid var(--color-warning-300,#ffb74d);color:#e65100;color:var(--color-warning-700,#e65100)}.appointment-details{margin-bottom:1.25rem;margin-bottom:var(--space-5,1.25rem)}.detail-row{align-items:center;display:flex;font-size:.875rem;font-size:var(--text-sm,.875rem);gap:.5rem;gap:var(--space-2,.5rem);margin-bottom:.75rem;margin-bottom:var(--space-3,.75rem)}.detail-icon{flex-shrink:0;font-size:1.125rem;font-size:var(--text-lg,1.125rem)}.detail-text{color:#6c757d;color:var(--text-secondary,#6c757d);flex:1 1}.detail-time{color:#1e88e5;color:var(--color-primary-600,#1e88e5);font-weight:600;font-weight:var(--font-semibold,600)}.appointment-notes{background:#f1f8ff;background:var(--color-primary-50,#f1f8ff);border-left:4px solid #3b9ff3;border-left:4px solid var(--color-primary-500,#3b9ff3);border-radius:.5rem;border-radius:var(--radius-base,.5rem);color:#6c757d;color:var(--text-secondary,#6c757d);font-size:.875rem;font-size:var(--text-sm,.875rem);line-height:1.625;line-height:var(--leading-relaxed,1.625);margin-top:1rem;margin-top:var(--space-4,1rem);padding:.75rem;padding:var(--space-3,.75rem)}.appointment-notes strong{color:#2c3e50;color:var(--text-primary,#2c3e50);display:block;margin-bottom:.25rem;margin-bottom:var(--space-1,.25rem)}.appointment-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-light,#e2e8f0);padding-top:1rem;padding-top:var(--space-4,1rem)}.appointment-actions,.delete-confirm{display:flex;gap:.5rem;gap:var(--space-2,.5rem)}.delete-confirm{align-items:center;background:linear-gradient(135deg,#fff3e0,#ffe0b2);background:linear-gradient(135deg,var(--color-warning-100,#fff3e0) 0,#ffe0b2 100%);border:1px solid #ffa726;border:1px solid var(--color-warning-400,#ffa726);border-radius:.5rem;border-radius:var(--radius-base,.5rem);flex:1 1;padding:.5rem;padding:var(--space-2,.5rem)}.delete-confirm span{color:#e65100;color:var(--color-warning-700,#e65100);font-weight:600}.btn,.delete-confirm span{font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:var(--font-semibold,600)}.btn{border-radius:var(--radius-base,.5rem);gap:.25rem;gap:var(--space-1,.25rem);justify-content:center;padding:.5rem 1rem;padding:var(--space-2,.5rem) var(--space-4,1rem);transition:all .3s;transition:all var(--transition-base,.3s)}.btn:disabled{opacity:.6}.btn-primary{background:linear-gradient(135deg,#1e88e5,#0e76ba);background:linear-gradient(135deg,var(--color-primary-600,#1e88e5) 0,var(--color-primary-700,#0e76ba) 100%);box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--shadow-sm,0 1px 3px 0 #0000001a);color:var(--text-inverse,#fff)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0e76ba,#0d5a8f);background:linear-gradient(135deg,var(--color-primary-700,#0e76ba) 0,var(--color-primary-800,#0d5a8f) 100%);box-shadow:0 4px 14px 0 #1e88e540;box-shadow:var(--shadow-primary,0 4px 14px 0 #1e88e540)}.btn-secondary{background:#a0aec0;background:var(--color-neutral-500,#a0aec0);color:var(--text-inverse,#fff)}.btn-secondary:hover:not(:disabled){background:#718096;background:var(--color-neutral-600,#718096)}.btn-danger{background:#e53935;background:var(--color-danger-500,#e53935);color:var(--text-inverse,#fff)}.btn-danger:hover:not(:disabled){background:#c62828;background:var(--color-danger-600,#c62828)}.btn-sm{flex:1 1;font-size:.75rem;font-size:var(--text-xs,.75rem);padding:.5rem .75rem;padding:var(--space-2,.5rem) var(--space-3,.75rem)}.empty-state{background:linear-gradient(135deg,#f1f8ff,#fcfdfe);background:linear-gradient(135deg,var(--color-primary-50,#f1f8ff) 0,var(--bg-secondary,#fcfdfe) 100%);border:2px dashed #90caf9;border:2px dashed var(--color-primary-300,#90caf9);border-radius:1.5rem;border-radius:var(--radius-xl,1.5rem);padding:var(--space-16,4rem) var(--space-8,2rem)}.empty-icon{margin-bottom:var(--space-4,1rem)}.empty-state h2{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:1.5rem;font-size:var(--text-2xl,1.5rem);margin-bottom:.5rem;margin-bottom:var(--space-2,.5rem)}.empty-state p{color:#6c757d;color:var(--text-secondary,#6c757d);line-height:1.625;line-height:var(--leading-relaxed,1.625);margin-bottom:var(--space-6,1.5rem)}.loading-spinner{gap:1rem;gap:var(--space-4,1rem);min-height:400px}.spinner{border:4px solid #bbdefb;border-top-color:#1e88e5;border:4px solid var(--color-primary-200,#bbdefb);border-radius:9999px;border-radius:var(--radius-full,9999px);border-top-color:var(--color-primary-600,#1e88e5);height:48px;width:48px}.loading-spinner p{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:1.125rem;font-size:var(--text-lg,1.125rem);margin:0}.error-message{background:linear-gradient(135deg,#ffebee,#ffe0e0);background:linear-gradient(135deg,var(--color-danger-100,#ffebee) 0,#ffe0e0 100%);border-left:4px solid #e53935;border-left:4px solid var(--color-danger-500,#e53935);border-radius:var(--radius-base,.5rem);color:#c62828;color:var(--color-danger-700,#c62828);font-weight:var(--font-medium,500);gap:.75rem;gap:var(--space-3,.75rem);margin-bottom:var(--space-6,1.5rem);padding:var(--space-4,1rem) var(--space-6,1.5rem)}.modal-overlay{animation:fadeIn .3s;animation:fadeIn var(--transition-base,.3s);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-4,1rem);z-index:1050;z-index:var(--z-modal,1050)}.modal-content{animation:slideUp .3s;animation:slideUp var(--transition-base,.3s);background:var(--bg-card,#fff);border-radius:1.5rem;border-radius:var(--radius-xl,1.5rem);box-shadow:0 25px 50px -12px #00000040;box-shadow:var(--shadow-xl,0 25px 50px -12px #00000040);max-height:90vh;max-width:600px;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.appointments-container{padding:1rem;padding:var(--space-4,1rem)}.appointments-header{align-items:flex-start;flex-direction:column;gap:1rem;gap:var(--space-4,1rem)}.appointments-header .btn{width:100%}.appointments-filters{align-items:stretch;flex-direction:column}.filter-group{justify-content:space-between}.filter-summary{margin-left:0;text-align:center}.appointments-grid{gap:1rem;gap:var(--space-4,1rem);grid-template-columns:1fr}.appointment-actions{flex-direction:column}.btn-sm{width:100%}.modal-content{max-height:95vh}}.timeline-container{padding:var(--space-6)}.timeline-header{margin-bottom:var(--space-8)}.timeline-header h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.timeline-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.timeline{padding-left:var(--space-4);position:relative}.timeline-year-section{margin-bottom:var(--space-10)}.timeline-year-header{margin-bottom:var(--space-6)}.timeline-year-header h3{border-left:4px solid var(--color-primary-600);color:var(--color-primary-600);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0;padding-left:var(--space-2)}.timeline-events{padding-left:var(--space-8);position:relative}.timeline-events:before{background:var(--border-light);bottom:0;content:"";left:15px;position:absolute;top:0;width:2px}.timeline-event{display:flex;gap:var(--space-4);margin-bottom:var(--space-8);position:relative}.timeline-event.clickable{cursor:pointer}.timeline-event.clickable:focus{border-radius:var(--radius-base);outline:2px solid var(--color-primary-500);outline-offset:2px}.timeline-event:last-child{margin-bottom:0}.timeline-event-marker{align-items:center;border-radius:50%;box-shadow:0 0 0 4px var(--bg-card);display:flex;height:32px;justify-content:center;left:-44px;position:absolute;top:4px;width:32px;z-index:2}.timeline-event-icon{font-size:var(--text-lg)}.timeline-event-content{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-base);box-shadow:var(--shadow-sm);flex:1 1;padding:var(--space-5);transition:all var(--transition-base)}.timeline-event-content:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.timeline-event-header{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-3)}.timeline-event-header h4{color:var(--text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.timeline-event-date{font-weight:var(--font-medium);white-space:nowrap}.timeline-event-date,.timeline-event-description{color:var(--text-secondary);font-size:var(--text-sm)}.timeline-event-description{line-height:var(--leading-relaxed);margin:0 0 var(--space-3) 0}.timeline-event-type{background:#3b82f61a;border-radius:var(--radius-sm);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;padding:var(--space-1) var(--space-2);text-transform:uppercase}.timeline-loading{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;padding:var(--space-12)}.timeline-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--color-primary-600);height:40px;width:40px}.timeline-loading p{color:var(--text-secondary);font-size:var(--text-sm)}.timeline-error{align-items:center;background:var(--color-danger-50);border:1px solid var(--color-danger-200);border-radius:var(--radius-base);display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;padding:var(--space-12)}.timeline-error span{font-size:var(--text-4xl)}.timeline-error p{color:var(--color-danger-600);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0}.timeline-empty{align-items:center;background:var(--bg-app);border:2px dashed var(--border-light);border-radius:var(--radius-base);display:flex;flex-direction:column;justify-content:center;padding:var(--space-12);text-align:center}.empty-icon{margin-bottom:var(--space-4)}.timeline-empty h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.timeline-empty p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}@media (max-width:768px){.timeline-container{padding:var(--space-4)}.timeline-header h2{font-size:var(--text-xl)}.timeline-events{padding-left:var(--space-6)}.timeline-event-marker{height:28px;left:-38px;width:28px}.timeline-event-icon{font-size:var(--text-base)}.timeline-event-content{padding:var(--space-4)}.timeline-event-header{flex-direction:column;gap:var(--space-2)}.timeline-event-date{font-size:var(--text-xs)}}@media (max-width:480px){.timeline{padding-left:0}.timeline-events{padding-left:var(--space-5)}.timeline-event-marker{height:24px;left:-32px;width:24px}.timeline-event-icon{font-size:var(--text-sm)}.timeline-year-header h3{font-size:var(--text-lg)}}.osteochondroma-form-modal{max-height:90vh;max-width:800px;overflow-y:auto}.osteochondroma-form{padding:1.5rem}.form-section{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none}.form-section h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem;margin-bottom:.5rem}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:.5rem;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group small{color:#6b7280;display:block;font-size:.8rem;margin-top:.375rem}.form-group small.warning-text{color:#dc2626;font-weight:500}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group-checkbox{margin-bottom:.75rem}.form-group-checkbox label{align-items:center;border-radius:.375rem;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background .2s}.form-group-checkbox label:hover{background:#f3f4f6}.form-group-checkbox input[type=checkbox]{cursor:pointer;height:1.25rem;width:1.25rem}.form-group-checkbox span{color:#374151;font-size:.95rem;font-weight:500}.form-actions{border-top:1px solid #e5e7eb;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#1f2937;font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:background .2s,color .2s;width:2rem}.modal-close:hover{background:#f3f4f6;color:#1f2937}.error-message{padding:1rem}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 6px #3b82f64d}.btn-secondary:hover:not(:disabled){background:#4b5563}@media (max-width:768px){.osteochondroma-form-modal{border-radius:0;max-height:100vh;max-width:100%}.modal-overlay{padding:0}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.risk-calculator{background:#fff;border-radius:.5rem;padding:1rem}.risk-score-display{border:3px solid;border-radius:.75rem;margin-bottom:1rem;padding:1rem;text-align:center}.risk-score-number{font-size:2.5rem;font-weight:700;margin-bottom:.25rem}.risk-score-label{font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.risk-description{margin-bottom:1rem;text-align:center}.risk-description p{color:#6b7280;font-size:.9rem;margin:0}.risk-scale{display:flex;gap:.25rem;margin-bottom:1rem}.risk-level{border-radius:.25rem;flex:1 1;height:.75rem;transition:all .3s}.risk-recommendations{background:#f9fafb;border-left:3px solid #ef4444;border-radius:.5rem;padding:1rem}.recommendation-title{color:#1f2937;font-size:.9rem;font-weight:600;margin:0 0 .5rem}.risk-recommendations ul{margin:0;padding-left:1.5rem}.risk-recommendations li{color:#4b5563;font-size:.85rem;margin:.25rem 0}.risk-calculator-compact{align-items:center;background:#fff;border:2px solid;border-radius:.375rem;display:inline-flex;padding:.375rem .75rem}.risk-calculator-compact .risk-score{font-size:.85rem;font-weight:600;white-space:nowrap}.osteochondromas-container{margin:0 auto;max-width:1200px;padding:2rem}.osteochondromas-header{margin-bottom:2rem;text-align:center}.osteochondromas-header h2{color:#1f2937;font-size:2rem;margin:0 0 .5rem}.osteochondromas-header .subtitle{color:#6b7280;font-size:.95rem;font-weight:500;margin:0}.osteochondromas-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.family-member-badge{background:#dbeafe;border-radius:.5rem;color:#1e40af;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.lesion-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.summary-card{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.summary-card.urgent{background:#fef2f2;border-color:#dc2626}.summary-card.high-risk{background:#fef2f2;border-color:#ef4444}.summary-card.moderate-risk{background:#fffbeb;border-color:#f59e0b}.summary-number{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.summary-label{color:#6b7280;font-size:.9rem;font-weight:500}.lesions-section{margin-bottom:2.5rem}.section-title{background:#f3f4f6;border-radius:.5rem;color:#1f2937;font-size:1.25rem;margin-bottom:1rem;padding:.75rem 1rem}.urgent-section .section-title{background:#fef2f2;border-left:4px solid #dc2626;color:#991b1b}.high-risk-section .section-title{background:#fef2f2;border-left:4px solid #ef4444;color:#991b1b}.moderate-risk-section .section-title{background:#fffbeb;border-left:4px solid #f59e0b;color:#92400e}.low-risk-section .section-title{background:#f0fdf4;border-left:4px solid #10b981;color:#14532d}.lesion-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:1rem;overflow:hidden;transition:box-shadow .2s}.lesion-card:hover{box-shadow:0 4px 6px #0000001a}.lesion-header{align-items:center;background:#fafafa;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.5rem;transition:background .2s}.lesion-header:hover{background:#f3f4f6}.lesion-main-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.75rem}.lesion-location{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.lesion-quick-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.info-item{color:#6b7280;font-size:.9rem;white-space:nowrap}.info-item.warning{color:#dc2626;font-weight:600}.expand-toggle{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.2rem;padding:.5rem;transition:transform .2s}.lesion-header:hover .expand-toggle{color:#1f2937}.lesion-details{background:#fff;padding:1.5rem}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.detail-section{background:#f9fafb;border-radius:.5rem;padding:1rem}.detail-section.full-width{grid-column:1/-1}.detail-section h5{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .75rem;padding-bottom:.5rem}.detail-section p{color:#4b5563;font-size:.9rem;margin:.5rem 0}.detail-section .symptom,.growth-warning,.warning{color:#dc2626;font-weight:500}.growth-warning,.warning{background:#fef2f2;border-left:3px solid #dc2626;border-radius:.25rem;margin-top:.5rem;padding:.5rem}.urgent-warning{background:#fef2f2;border:2px solid #dc2626;border-radius:.5rem;color:#991b1b;font-weight:500;margin-top:1rem;padding:1rem}.badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.25rem .75rem;text-transform:uppercase}.badge-danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.badge-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.lesion-actions{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem}.empty-state{background:#f9fafb;border:2px dashed #d1d5db;border-radius:.75rem}.empty-state p{margin-bottom:1.5rem}.empty-state p,.loading{color:#6b7280;font-size:1.1rem}.loading{padding:4rem 2rem;text-align:center}.error-message{background:#fef2f2;border-left:4px solid #dc2626;border-radius:.5rem;color:#991b1b;font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 6px #3b82f64d}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}@media (max-width:768px){.osteochondromas-container{padding:1rem}.osteochondromas-header h2{font-size:1.5rem}.osteochondromas-actions{align-items:stretch;flex-direction:column;gap:1rem}.lesion-summary{grid-template-columns:repeat(2,1fr)}.details-grid{grid-template-columns:1fr}.lesion-header{align-items:flex-start;flex-direction:column}.lesion-quick-info{justify-content:space-between;width:100%}.lesion-actions{flex-direction:column}}.profile-container{margin:0 auto;max-width:1400px}.profile-header{background:linear-gradient(135deg,var(--color-primary-500) 0,var(--color-primary-600) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-8)}.back-button,.profile-header{color:var(--text-inverse);margin-bottom:var(--space-6)}.back-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:var(--radius-base);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateX(-2px)}.profile-header-content{align-items:center;display:flex;gap:var(--space-6)}.profile-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary-400) 0,var(--color-primary-600) 100%);border-radius:50%;box-shadow:0 4px 12px #2196f34d;display:flex;flex-shrink:0;font-size:var(--text-5xl);height:100px;justify-content:center;width:100px}.profile-avatar,.profile-info h1{color:var(--text-inverse);font-weight:var(--font-bold)}.profile-info h1{font-size:var(--text-4xl);margin-bottom:var(--space-3)}.profile-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.meta-item{align-items:center;color:#fffffff2;display:inline-flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-2)}.meta-icon{font-size:1.1rem}.profile-tabs{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-2);margin-bottom:var(--space-6);overflow-x:auto;padding:var(--space-3)}.tab-button{align-items:center;background:#0000;border:2px solid #0000;border-radius:var(--radius-base);color:var(--text-secondary);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--space-3) var(--space-5);transition:all var(--transition-fast);white-space:nowrap}.tab-button:after{background:var(--color-primary-600);border-radius:2px;bottom:-3px;content:"";height:3px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform var(--transition-fast)}.tab-button:hover{background:var(--bg-hover);color:var(--color-primary-700)}.tab-button.active{background:var(--color-primary-100);border-color:var(--color-primary-200);color:var(--color-primary-700)}.tab-button.active:after{transform:scaleX(1)}.tab-icon{font-size:1.25rem}.tab-icon-svg{display:block}.tab-label{font-weight:var(--font-semibold)}.profile-content{min-height:400px}.tab-content{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.overview-tab{animation:fadeIn .3s ease-out}.overview-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.info-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);transition:all var(--transition-base)}.info-card:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.info-card.full-width{grid-column:1/-1}.info-card h3{border-bottom:2px solid var(--border-light);color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-5);padding-bottom:var(--space-3)}.info-rows{display:flex;flex-direction:column;gap:var(--space-4)}.info-row{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-base);display:flex;justify-content:space-between;padding:var(--space-3);transition:all var(--transition-fast)}.info-row:hover{background:var(--bg-hover)}.info-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.info-value{font-weight:var(--font-medium);text-align:right}.info-value,.medical-notes{color:var(--text-primary);font-size:var(--text-base)}.medical-notes{background:var(--bg-tertiary);border-left:4px solid var(--color-primary-500);border-radius:var(--radius-base);line-height:var(--leading-relaxed);padding:var(--space-4)}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;padding:var(--space-16)}.spinner{animation:spin 1s linear infinite;border:4px solid var(--color-primary-100);border-radius:50%;border-top-color:var(--color-primary-600);height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner p{color:var(--text-secondary)}.error-message,.loading-spinner p{font-size:var(--text-base);font-weight:var(--font-medium)}.error-message{align-items:center;background:linear-gradient(135deg,var(--color-danger-100) 0,#ffe0e0 100%);border-left:4px solid var(--color-danger-500);border-radius:var(--radius-base);color:var(--color-danger-700);display:flex;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-5)}@media (max-width:1024px){.overview-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:768px){.profile-header{padding:var(--space-6)}.profile-header-content{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.profile-avatar{font-size:var(--text-4xl);height:80px;width:80px}.profile-info h1{font-size:var(--text-3xl)}.profile-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:thin}.tab-button{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}.tab-icon{font-size:1.1rem}.overview-grid{grid-template-columns:1fr}.info-card{padding:var(--space-4)}.info-row{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.info-value{text-align:left}}@media (max-width:480px){.profile-header{padding:var(--space-4)}.profile-avatar{font-size:var(--text-3xl);height:60px;width:60px}.profile-info h1{font-size:var(--text-2xl)}.profile-meta{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.tab-button{min-width:120px}.info-card h3{font-size:var(--text-lg)}}.edit-document-modal{max-width:500px;width:90%}.edit-document-modal .document-info{background:#f8f9fa;border-radius:8px;font-size:.9rem;margin-top:1.5rem;padding:1rem}.edit-document-modal .document-info p{color:#666;margin:.5rem 0}.edit-document-modal .document-info strong{color:#333;margin-right:.5rem}.move-folder-modal{max-width:500px;width:90%}.move-folder-modal .document-info{background:#f8f9fa;border-radius:8px;font-size:.9rem;margin-bottom:1.5rem;padding:1rem}.move-folder-modal .document-info p{color:#666;margin:.5rem 0}.move-folder-modal .document-info strong{color:#333;margin-right:.5rem}.move-folder-modal .form-text{color:#6c757d;display:block;font-size:.875rem;margin-top:.5rem}.documents-table-container{padding:1.5rem;width:100%}.breadcrumb-navigation{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem}.breadcrumb-item{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:.9rem;padding:.25rem .5rem;transition:all .2s}.breadcrumb-item:hover{background:#e9ecef;color:#333}.breadcrumb-item.active{color:#333;cursor:default;font-weight:600}.breadcrumb-item.active:hover{background:none}.breadcrumb-separator{color:#999;font-size:.85rem}.table-action-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:0 .5rem}.table-info{color:#666;display:flex;font-size:.9rem;gap:.5rem}.table-info .separator{color:#ccc}.search-results-info{color:#667eea;font-weight:600}.table-actions{align-items:center;display:flex;gap:1rem}.search-container{align-items:center;display:flex;position:relative}.search-input{border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem;padding:.5rem 2.5rem .5rem 1rem;transition:all .2s;width:300px}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-input::placeholder{color:#999}.search-clear-button{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.1rem;height:24px;justify-content:center;padding:.25rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:all .2s;width:24px}.search-clear-button:hover{background:#f0f0f0;color:#333}.table-wrapper{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.documents-table{background:#fff;border-collapse:collapse;width:100%}.documents-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.documents-table th{color:#495057;font-size:.85rem;font-weight:600;padding:1rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.documents-table th.sortable{cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.documents-table th.sortable:hover{background:#e9ecef}.sort-icon{color:#adb5bd;font-size:.75rem;margin-left:.5rem}.sort-icon.active{color:#495057}.documents-table tbody tr{border-bottom:1px solid #dee2e6;transition:background .2s}.documents-table tbody tr:hover{background:#f8f9fa}.documents-table td{padding:1rem .75rem;vertical-align:middle}.folder-row{cursor:pointer;font-weight:500}.folder-row:hover{background:#e3f2fd!important}.folder-icon{font-size:1.5rem}.file-icon{font-size:1.5rem}.col-icon{text-align:center;width:60px}.col-title{max-width:400px;min-width:250px}.document-name{color:#333;font-weight:500}.item-description{color:#666;font-size:.85rem;line-height:1.4;margin-top:.25rem}.col-type{width:100px}.file-type-badge{background:#e9ecef;border-radius:4px;color:#495057;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.col-family,.col-tags{min-width:150px}.col-tags{max-width:250px}.tags-cell{display:flex;flex-wrap:wrap;gap:.25rem}.tag-badge{border-radius:12px;display:inline-block;font-size:.75rem;padding:.25rem .5rem}.col-size{text-align:right;width:100px}.col-date{color:#666;font-size:.85rem;width:150px}.col-actions{width:200px}.action-buttons{display:flex;flex-wrap:wrap;gap:.25rem}.btn-icon-small{background:none;border:1px solid #dee2e6;font-size:1rem;padding:.25rem .5rem;transition:all .2s}.btn-icon-small:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.btn-icon-small.btn-danger:hover:not(:disabled){background:#dc3545;border-color:#dc3545;color:#fff}.btn-icon-small:disabled{cursor:not-allowed;opacity:.5}.empty-state{border-radius:8px;box-shadow:0 2px 8px #0000001a}.empty-title{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-subtitle{color:#666;font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.error-message,.loading-spinner{padding:3rem;text-align:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24}@media (max-width:1024px){.col-date:last-of-type{display:none}}@media (max-width:768px){.documents-table-container{padding:1rem}.table-action-bar{align-items:stretch;flex-direction:column;gap:1rem}.table-actions{flex-direction:column;gap:.75rem;width:100%}.search-container,.search-input{width:100%}.col-family,.col-size,.col-tags{display:none}.table-wrapper{overflow-x:auto}.action-buttons{flex-direction:column}}.record-linked-container{padding:0}.family-section-wrapper{margin-bottom:2.5rem}.family-section-header{border-bottom:2px solid var(--color-primary-200);margin-bottom:1.5rem;padding-bottom:1rem}.family-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-2xl);font-weight:var(--font-bold);gap:.5rem;margin:0 0 .5rem}.family-section-subtitle{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-normal);margin:0}.record-groups{display:flex;flex-direction:column;gap:1rem}.record-group-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s ease}.record-group-card:hover{box-shadow:0 4px 12px #0000001a}.record-group-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1.5rem;transition:background-color .2s ease}.record-group-header:hover{background-color:var(--color-neutral-50)}.record-group-info{align-items:center;display:flex;flex:1 1;gap:1rem}.record-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary-100) 0,var(--color-primary-200) 100%);border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:2.5rem;height:60px;justify-content:center;width:60px}.record-details{flex:1 1;min-width:0}.record-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-subtitle{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:.25rem;margin:0}.document-count{color:var(--color-primary-600);font-weight:var(--font-medium)}.expand-button{align-items:center;background:none;border:none;border-radius:var(--radius-base);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.25rem;height:40px;justify-content:center;padding:.5rem;transition:all .2s ease;width:40px}.expand-button:hover{background-color:var(--color-neutral-100);color:var(--text-primary)}.record-documents-list{background-color:var(--color-neutral-50);border-top:1px solid var(--border-light);padding:1rem 1.5rem}.document-item{align-items:center;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-base);display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.document-item:last-child{margin-bottom:0}.document-item:hover{border-color:var(--color-primary-300);box-shadow:0 2px 8px #00000014}.document-icon-small{align-items:center;background-color:var(--color-neutral-100);border-radius:var(--radius-base);display:flex;flex-shrink:0;font-size:2rem;height:48px;justify-content:center;width:48px}.document-info{flex:1 1;min-width:0}.document-name{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium);margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:1.4;margin:0 0 .5rem;overflow:hidden}.document-meta{align-items:center;color:var(--text-tertiary);display:flex;font-size:var(--text-xs);gap:.5rem}.document-actions{display:flex;flex-shrink:0;gap:.5rem}.empty-state{background:#fff;border:2px dashed var(--border-light);border-radius:var(--radius-lg);margin:2rem 0;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 .5rem}.empty-subtitle{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0 auto 1.5rem;max-width:600px}.loading-spinner{color:var(--text-secondary);font-size:var(--text-lg);padding:3rem 1rem;text-align:center}.error-message{background:var(--color-danger-50);border:1px solid var(--color-danger-200);border-radius:var(--radius-lg);margin:2rem 0;padding:3rem 2rem;text-align:center}.error-message p{color:var(--color-danger-700);font-size:var(--text-base);margin:0 0 1rem}@media (max-width:768px){.record-group-header{padding:1rem}.record-icon{font-size:2rem;height:50px;width:50px}.record-title{font-size:var(--text-base)}.record-subtitle{align-items:flex-start;flex-direction:column;font-size:var(--text-xs);gap:.125rem}.record-documents-list{padding:.75rem}.document-item{align-items:flex-start;flex-direction:column;gap:.75rem;padding:.75rem}.document-icon-small{font-size:1.5rem;height:40px;width:40px}.document-info{width:100%}.document-actions{justify-content:flex-end;width:100%}.empty-state{padding:2rem 1rem}.empty-icon{font-size:3rem}.empty-title{font-size:var(--text-lg)}.empty-subtitle{font-size:var(--text-sm)}}@media (max-width:480px){.record-group-info{gap:.75rem}.record-icon{font-size:1.75rem;height:44px;width:44px}.document-meta{flex-wrap:wrap}}.tag-manager{margin:0 auto;max-width:1200px;padding:20px}.tag-manager-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.tag-manager-header h2{color:#1f2937;font-size:24px;font-weight:600;margin:0}.tag-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:24px}.tag-form h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=text],.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .15s ease;width:100%}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.icon-selector{display:flex;flex-wrap:wrap;gap:8px}.icon-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .15s ease;width:40px}.icon-option:hover{border-color:#3b82f6;transform:scale(1.05)}.icon-option.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.color-selector{display:flex;flex-wrap:wrap;gap:8px}.color-option{border:2px solid #0000;border-radius:6px;cursor:pointer;height:40px;transition:all .15s ease;width:40px}.color-option:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.1)}.color-option.selected{border-color:#1f2937;box-shadow:0 0 0 2px #1f29374d}.form-actions{display:flex;gap:12px;margin-top:24px}.btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .15s ease}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s ease}.btn-secondary:hover{background:#e5e7eb}.tags-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.tags-header{margin-bottom:20px}.tags-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.tags-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.tag-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .15s ease}.tag-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px #00000012}.tag-info{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag-badge{align-items:center;border-radius:6px;color:#fff;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 12px;white-space:nowrap}.system-badge{background:#fef3c7;border-radius:4px;color:#92400e;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.tag-description{color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 12px}.tag-stats{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-bottom:12px;padding-top:12px}.usage-count{color:#6b7280;font-size:13px}.tag-actions{display:flex;gap:8px}.btn-icon{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:16px;padding:6px 10px;transition:all .15s ease}.btn-icon:hover{background:#f3f4f6;border-color:#9ca3af}.btn-danger:hover{background:#fee2e2;border-color:#ef4444}.empty-state{color:#6b7280;padding:40px 20px;text-align:center}.empty-state p{font-size:14px;margin:0}.tag-manager-error,.tag-manager-loading{padding:40px 20px;text-align:center}.tag-manager-error{color:#dc2626}.btn-retry{font-size:14px;margin-top:12px;padding:8px 16px}@media (max-width:768px){.tag-manager{padding:16px}.tag-manager-header{align-items:flex-start;flex-direction:column;gap:12px}.tags-grid{grid-template-columns:1fr}.color-selector,.icon-selector{justify-content:flex-start}}@media (prefers-color-scheme:dark){.tag-form h3,.tag-manager-header h2,.tags-header h3{color:#f9fafb}.tag-card,.tag-form,.tags-list{background:#1f2937;border-color:#374151}.form-group label{color:#e5e7eb}.form-group input[type=text],.form-group textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.tag-card{background:#374151}.btn-icon{background:#4b5563;border-color:#6b7280;color:#f9fafb}.btn-icon:hover{background:#6b7280}}.folder-navigator{background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:600px;overflow-y:auto;padding:16px}.folder-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.folder-header h3{color:#1f2937;font-size:16px;font-weight:600;margin:0}.btn-primary-small{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:background .15s ease}.btn-primary-small:hover{background:#2563eb}.folder-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:16px;padding:12px}.folder-form h4{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 12px}.form-group-compact{margin-bottom:12px}.form-group-compact input{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:13px;padding:8px 10px;width:100%}.form-group-compact input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row{margin-bottom:12px}.color-picker,.icon-picker{display:flex;flex-wrap:wrap;gap:6px}.color-btn,.icon-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .15s ease;width:32px}.color-btn:hover,.icon-btn:hover{border-color:#3b82f6}.color-btn.selected,.icon-btn.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.form-actions-compact{display:flex;gap:8px}.btn-cancel,.btn-save{border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s ease}.btn-save{background:#3b82f6;border:none;color:#fff}.btn-save:hover{background:#2563eb}.btn-cancel{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-cancel:hover{background:#f3f4f6}.folder-tree{-webkit-user-select:none;user-select:none}.folder-item{margin:2px 0}.folder-row{align-items:center;border-radius:6px;display:flex;gap:4px;padding:6px 8px;transition:background .15s ease}.folder-row:hover{background:#f9fafb}.folder-row.selected{background:#eff6ff;border:1px solid #bfdbfe}.folder-row.root{font-weight:600;margin-bottom:8px}.folder-expand{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:10px;height:20px;justify-content:center;width:20px}.folder-expand:disabled{cursor:default;opacity:.3}.folder-button{align-items:center;background:none;border:none;border-radius:4px;color:#1f2937;cursor:pointer;display:flex;flex:1 1;font-size:14px;gap:8px;padding:4px 8px;text-align:left;transition:background .15s ease}.folder-button:hover{background:#00000005}.folder-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-count{color:#9ca3af;font-size:12px;margin-left:auto}.folder-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.folder-row:hover .folder-actions{opacity:1}.btn-icon-small{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;transition:all .15s ease;width:24px}.btn-icon-small:hover{background:#f3f4f6;border-color:#9ca3af}.btn-icon-small.btn-danger:hover{background:#fee2e2;border-color:#ef4444}.folder-children{margin-left:20px}.folder-navigator-error,.folder-navigator-loading{color:#6b7280;padding:20px;text-align:center}.folder-navigator-error{color:#dc2626}.btn-retry{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;margin-top:8px;padding:6px 12px}.btn-retry:hover{background:#2563eb}.empty-state-small{padding:20px;text-align:center}.empty-state-small p{color:#9ca3af;font-size:13px;margin:0}@media (max-width:640px){.folder-navigator{padding:12px}.folder-button{font-size:13px}.folder-actions{opacity:1}}@media (prefers-color-scheme:dark){.folder-navigator{background:#1f2937;border-color:#374151}.folder-form h4,.folder-header h3{color:#f9fafb}.folder-form{background:#374151;border-color:#4b5563}.form-group-compact input{color:#f9fafb}.btn-cancel,.color-btn,.form-group-compact input,.icon-btn{background:#4b5563;border-color:#6b7280}.btn-cancel{color:#e5e7eb}.btn-cancel:hover{background:#6b7280}.folder-row:hover{background:#374151}.folder-row.selected{background:#1e3a8a;border-color:#3b82f6}.folder-button{color:#e5e7eb}.btn-icon-small{background:#4b5563;border-color:#6b7280;color:#e5e7eb}.btn-icon-small:hover{background:#6b7280}}.documents-page{margin:0 auto;max-width:1400px;padding:2rem}.documents-page-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-content{flex:1 1}.documents-page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#4a9eff);-webkit-background-clip:text;background-clip:text;color:#1e3a8a;font-size:2rem;font-weight:700;margin-bottom:.5rem}.documents-page-subtitle{color:#6b7c93;font-size:1rem;line-height:1.6;margin:0;max-width:800px}.documents-tabs{border-bottom:2px solid #bfdbfe;display:flex;gap:.5rem;margin-bottom:2rem;padding-bottom:0}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#6b7c93;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:-2px;padding:1rem 1.5rem;position:relative;transition:all .2s ease}.tab-button.active,.tab-button:hover{background:#eff6ff;color:#2563eb}.tab-button.active{border-bottom-color:#2563eb}.tab-icon-svg{display:inline-block;height:20px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;margin-right:.5rem;vertical-align:middle;width:20px}.documents-tab-content{min-height:400px}.folders-tab-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.folders-tab-header{margin-bottom:2rem}.folders-tab-header h2{color:#1e3a8a;font-size:1.5rem;margin-bottom:.5rem}.folders-tab-header p{color:#6b7c93;margin:0}.btn-toggle-sidebar{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:background .2s ease;white-space:nowrap}.btn-toggle-sidebar:hover{background:#2563eb}.documents-page-layout{display:flex;gap:1.5rem;margin-bottom:3rem}.documents-sidebar{flex-shrink:0;width:300px}.documents-page-content{flex:1 1;min-width:0}.documents-info-section{border-top:2px solid #bfdbfe;margin-top:3rem;padding-top:2rem}.documents-info-section h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#4a9eff);-webkit-background-clip:text;background-clip:text;color:#1e3a8a;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.info-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.document-info-card{background:linear-gradient(135deg,#eff6ff,#fff);border:2px solid #bfdbfe;border-radius:12px;box-shadow:0 4px 8px #4a9eff14;color:#333;overflow:hidden;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.document-info-card:before{background:linear-gradient(90deg,#60a5fa,#4a9eff);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.document-info-card:hover{border-color:#93c5fd;box-shadow:0 8px 16px #4a9eff26;transform:translateY(-4px)}.document-info-card:hover:before{opacity:1}.document-info-icon{font-size:3rem;margin-bottom:1rem}.document-info-icon-svg{display:block;height:48px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;margin-bottom:1rem;margin-left:auto;margin-right:auto;width:48px}.document-info-card h4{color:#333;font-size:1.2rem;margin-bottom:.75rem}.document-info-card p{color:#666;font-size:.95rem;line-height:1.5;margin:0}@media (max-width:1024px){.documents-sidebar{width:250px}}@media (max-width:768px){.documents-page{padding:1rem}.documents-page-header{align-items:stretch;flex-direction:column}.documents-page-header h1{font-size:1.6rem}.documents-page-subtitle{font-size:.95rem}.btn-toggle-sidebar{width:100%}.documents-page-layout{flex-direction:column}.documents-sidebar{width:100%}.info-cards{gap:1rem;grid-template-columns:1fr}.document-info-card{padding:1.5rem}.document-info-icon{font-size:2.5rem}}.legal-page-wrapper{background:var(--bg-app);display:flex;flex-direction:column;min-height:100vh}.legal-container{flex:1 1;margin:0 auto;max-width:900px;padding:var(--space-4);width:100%}.legal-content{background:var(--bg-card);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--space-8)}.legal-content h1{border-bottom:2px solid var(--color-primary-200);color:var(--color-primary-700);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.legal-body{color:var(--text-primary);line-height:1.8}.legal-body h2{font-size:var(--text-2xl);margin-bottom:var(--space-4);margin-top:var(--space-8)}.legal-body h2,.legal-body h3{color:var(--text-primary);font-weight:var(--font-semibold)}.legal-body h3{font-size:var(--text-xl);margin-bottom:var(--space-3);margin-top:var(--space-6)}.legal-body h4{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-medium);margin-bottom:var(--space-2);margin-top:var(--space-4)}.legal-body ol,.legal-body p,.legal-body ul{color:var(--text-secondary);margin-bottom:var(--space-4)}.legal-body ol,.legal-body ul{margin-left:var(--space-6)}.legal-body li{margin-bottom:var(--space-2)}.legal-body strong{color:var(--text-primary);font-weight:var(--font-semibold)}.legal-body a{color:var(--color-primary-600);text-decoration:underline}.legal-body a:hover{color:var(--color-primary-700)}.legal-body code{background:var(--color-neutral-100);border-radius:var(--radius-base);font-family:monospace;font-size:.9em;padding:var(--space-1) var(--space-2)}.legal-body blockquote{border-left:4px solid var(--color-primary-500);color:var(--text-secondary);font-style:italic;margin:var(--space-4) 0;padding-left:var(--space-4)}.legal-section{margin-bottom:var(--space-6)}.legal-warning{background:var(--color-warning-50);border-left:4px solid var(--color-warning-500)}.legal-important,.legal-warning{border-radius:var(--radius-base);margin:var(--space-4) 0;padding:var(--space-4)}.legal-important{background:var(--color-danger-50);border-left:4px solid var(--color-danger-500);font-weight:var(--font-semibold)}.legal-info{background:var(--color-info-50);border-left:4px solid var(--color-info-500);border-radius:var(--radius-base);margin:var(--space-4) 0;padding:var(--space-4)}.legal-updated{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;margin-bottom:var(--space-6)}@media (max-width:768px){.legal-container{padding:var(--space-2)}.legal-content{padding:var(--space-4)}.legal-content h1{font-size:var(--text-2xl)}.legal-body h2{font-size:var(--text-xl)}.legal-body h3{font-size:var(--text-lg)}}
/*# sourceMappingURL=main.326d4f33.css.map*/