@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@500;700&display=swap";:root{--color-primary: #4A90A4;--color-primary-light: #5BA3B8;--color-primary-dark: #3A7A8E;--color-primary-bg: #E8F4F8;--color-success: #5CB85C;--color-success-light: #D4EDDA;--color-danger: #E74C3C;--color-danger-light: #FADBD8;--color-warning: #F39C12;--color-warning-light: #FEF5E7;--bg-main: #F5F7FA;--bg-card: #FFFFFF;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #2C3E50;--text-secondary: #6C757D;--text-muted: #95A5A6;--text-light: #FFFFFF;--border-color: #E1E8ED;--border-radius: 12px;--border-radius-lg: 20px;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xl-2xl: 40px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 80px;--space-5xl: 96px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.25rem;--font-size-4xl-5xl: 2.625rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-size-7xl: 4.5rem;--font-size-8xl: 6rem;--transition-fast: .15s ease;--transition-normal: .25s ease;--z-modal: 1000;--z-overlay: 999;--z-nav: 100}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-main);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.flex-grow-1{flex-grow:1}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-up{animation:slideUp var(--transition-normal) ease-out}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px}*::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:var(--font-family);font-weight:600;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.btn-md{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);min-height:48px}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--font-size-lg);min-height:56px}.btn-primary{background:var(--color-primary);color:var(--text-light)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-success{background:var(--color-success);color:var(--text-light)}.btn-success:hover{background:#4caf4c;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:var(--color-danger);color:var(--text-light)}.btn-danger:hover{background:#d73c2c;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-main);color:var(--text-primary)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--text-light)}.btn-full{width:100%}.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:active{transform:scale(.98)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn var(--transition-fast);padding:var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom))}.modal{background:var(--bg-card);border-radius:var(--border-radius-lg);width:100%;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--transition-normal);z-index:var(--z-modal);box-shadow:var(--shadow-lg)}@media(min-width:600px){.modal{max-height:85vh}}.modal-sm{max-width:400px}.modal-md{max-width:500px}.modal-lg{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:center;padding:var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;position:relative;z-index:10;width:100%}.modal-title{font-size:var(--font-size-xl);font-weight:600;margin:0;text-align:center;flex:1}.modal-content{padding:var(--space-md);overflow-y:auto;overscroll-behavior:contain;flex:1}.consent-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:950;padding:var(--space-md);animation:fadeIn var(--transition-normal)}.consent-banner{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:var(--space-xl);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-normal);text-align:center;display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none}.consent-banner::-webkit-scrollbar{display:none}.consent-icon-wrapper{width:64px;height:64px;background:var(--color-primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);color:var(--color-primary);flex-shrink:0}.consent-title{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-md);color:var(--text-primary);line-height:1.3}.consent-text{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-lg)}.consent-details-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm);margin-bottom:var(--space-md);font-weight:500;transition:opacity var(--transition-fast)}.consent-details-link:hover{opacity:.8}.consent-details{text-align:left;background:var(--bg-main);border-radius:var(--border-radius);padding:var(--space-md);margin-bottom:var(--space-md);animation:fadeIn var(--transition-fast)}.consent-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:var(--space-md) 0 var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.consent-section-title:first-child{margin-top:0}.consent-list{list-style:none;padding:0;margin:0}.consent-list li{font-size:var(--font-size-sm);color:var(--text-secondary);padding:4px 0;display:flex;align-items:flex-start;gap:var(--space-sm);line-height:1.5}.consent-check{color:var(--color-success);margin-top:5px;flex-shrink:0}.consent-list-icon{color:var(--text-muted);margin-top:5px;flex-shrink:0}.consent-legal-text{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color);line-height:1.5}.link-button{background:none;border:none;color:var(--color-primary);padding:0;font:inherit;cursor:pointer;text-decoration:underline;display:inline}.link-button:hover{color:var(--color-primary-dark)}.consent-collapse{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm);margin-top:var(--space-sm)}.consent-collapse:hover{color:var(--text-secondary)}.consent-actions{margin-top:auto}.legal-modal-content{font-size:var(--font-size-sm);line-height:1.6;color:var(--text-secondary);max-height:60vh;overflow-y:auto;padding-right:var(--space-sm);scrollbar-width:none;-ms-overflow-style:none}.legal-modal-content::-webkit-scrollbar{display:none}.legal-modal-content h1,.legal-modal-content h2,.legal-modal-content h3{color:var(--text-primary);margin-top:var(--space-md);margin-bottom:var(--space-sm)}.legal-modal-content h1{font-size:1.25rem}.legal-modal-content h2{font-size:1.1rem}.legal-modal-content h3{font-size:1rem}.legal-modal-content ul{padding-left:1.5rem;margin-bottom:var(--space-sm)}.legal-modal-content li{margin-bottom:4px}.legal-modal-content p{margin-bottom:var(--space-sm)}.consent-banner{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:var(--space-xl);max-width:450px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-normal);text-align:center}.consent-icon{font-size:3rem;margin-bottom:var(--space-md)}.consent-title{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-md);color:var(--text-primary)}.consent-text{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-md)}.consent-details-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;padding:var(--space-sm);margin-bottom:var(--space-md)}.consent-details{text-align:left;background:var(--bg-main);border-radius:var(--border-radius);padding:var(--space-md);margin-bottom:var(--space-md)}.consent-details h3{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-sm)}.consent-details h3:not(:first-child){margin-top:var(--space-md)}.consent-details ul{list-style:none;padding:0;margin:0}.consent-details li{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--space-xs) 0}.consent-legal{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.consent-legal a{color:var(--color-primary)}.consent-actions{margin-top:var(--space-lg)}.consent-note{font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--space-md) 0 0}.input-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.input-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.input-required{color:var(--color-danger);margin-left:var(--space-xs)}.input-field{width:100%;padding:var(--space-md);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--text-primary);background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-fast);min-height:48px}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.input-field:disabled{background:var(--bg-main);cursor:not-allowed;opacity:.7}.input-error .input-field{border-color:var(--color-danger)}.input-error .input-field:focus{box-shadow:0 0 0 3px var(--color-danger-light)}.input-error-text{font-size:var(--font-size-sm);color:var(--color-danger)}textarea.input-field{min-height:100px;resize:vertical}.onboarding-form{display:flex;flex-direction:column}.onboarding-question{font-size:var(--font-size-lg);text-align:center;margin-bottom:var(--space-md);color:var(--text-primary)}.onboarding-trust{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--color-success-light);border-radius:var(--border-radius);padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-md)}.onboarding-trust.center-text{text-align:center;padding:var(--space-sm);justify-content:center}.selection-cards{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.selection-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--border-radius-lg);border:2px solid var(--border-color);background:var(--bg-card);text-align:left;cursor:pointer;transition:all var(--transition-medium)}.selection-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.selection-card.primary{border-color:var(--color-primary);background:var(--color-primary-bg)}.selection-card.secondary{border-color:var(--border-color)}.selection-card.secondary:hover{border-color:var(--text-secondary)}.selection-card.professional{border-color:var(--border-color);position:relative;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(147,112,219,.05) 100%)}.selection-card.professional:hover{border-color:#9370db}.selection-icon{font-size:2rem;flex-shrink:0}.selection-icon-lucide{width:32px;height:32px;color:var(--color-primary);flex-shrink:0}.selection-card.disabled{opacity:.6;cursor:not-allowed;filter:grayscale(1);background:var(--bg-main)}.selection-card.disabled:hover{transform:none;box-shadow:none;border-color:var(--border-color)}.selection-info h3{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-md);color:var(--text-primary)}.selection-info p{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.4}.back-link-top{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;margin-bottom:var(--space-sm);text-align:left;padding:0;display:inline-block;align-self:flex-start}.back-link-top:hover{color:var(--color-primary)}.relationship-options{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.relationship-option{padding:var(--space-sm) var(--space-md);background:var(--bg-main);border:2px solid var(--border-color);border-radius:var(--border-radius);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.relationship-option:hover{border-color:var(--color-primary)}.relationship-option-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-light)}.onboarding-footer{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-md);line-height:1.5}.onboarding-login-link{display:block;text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-color);text-decoration:none;transition:color var(--transition-fast)}.onboarding-login-link:hover{color:var(--color-primary)}.onboarding-logo{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.onboarding-logo .logo-image{width:64px;height:64px;margin-bottom:0}.onboarding-logo .logo-text{font-family:Outfit,sans-serif;font-size:var(--font-size-4xl-5xl);font-weight:700;color:var(--color-primary);display:block;line-height:1}.back-link-bottom{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;width:100%;text-align:center;padding:var(--space-md)}.text-center{text-align:center}.tracking-widest{letter-spacing:.2em}.uppercase{text-transform:uppercase}.input-group.no-mb{margin-bottom:0}.pro-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.beta-badge-inline{background:linear-gradient(135deg,#9370db,#7b68ee);color:#fff;font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;letter-spacing:.5px}.pro-description{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--space-md)}.pro-textarea{min-height:80px;resize:vertical;font-family:inherit}.pro-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.pro-success-icon{font-size:3rem}.pro-success-text{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--space-md)}.qr-viewport{position:relative;width:100%;aspect-ratio:1;max-width:400px;margin:0 auto var(--space-md);border-radius:var(--border-radius-lg);background:#000;overflow:hidden;border:3px solid var(--border-color);box-shadow:var(--shadow-lg)}.qr-video-container{width:100%;height:100%}.qr-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006}.qr-scanner-box{position:relative;width:250px;height:250px}.qr-corner{position:absolute;width:30px;height:30px;border:4px solid var(--color-primary)}.qr-corner.top-left{top:-4px;left:-4px;border-right:none;border-bottom:none;border-top-left-radius:8px}.qr-corner.top-right{top:-4px;right:-4px;border-left:none;border-bottom:none;border-top-right-radius:8px}.qr-corner.bottom-left{bottom:-4px;left:-4px;border-right:none;border-top:none;border-bottom-left-radius:8px}.qr-corner.bottom-right{bottom:-4px;right:-4px;border-left:none;border-top:none;border-bottom-right-radius:8px}.qr-scan-line{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(to right,transparent,var(--color-primary),transparent);animation:scan 2s linear infinite;box-shadow:0 0 10px var(--color-primary)}@keyframes scan{0%{top:0}50%{top:100%}to{top:0}}.qr-error-overlay,.qr-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);text-align:center;color:#fff;background:#000c;gap:var(--space-md)}.qr-error-icon{font-size:3rem;margin-bottom:var(--space-sm)}.qr-error-overlay p{font-size:var(--font-size-sm);margin-bottom:var(--space-md);line-height:1.5}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.qr-hint{text-align:center;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-sm);line-height:1.4}#reader__status_span,#reader__dashboard_section_swap_link,#reader button{display:none!important}.offline-banner{background-color:var(--color-warning);color:#fff;text-align:center;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:500;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);position:relative;z-index:500;box-shadow:var(--shadow-sm);animation:pulseWarning 2s infinite}.offline-icon{width:16px;height:16px;flex-shrink:0}@media(max-width:768px){.offline-icon{width:24px;height:24px}}@keyframes pulseWarning{0%{opacity:1}50%{opacity:.85}to{opacity:1}}.offline-banner.syncing{background-color:var(--color-success);animation:none}.offline-icon.spinning{animation:spin 1s linear infinite}.toast{position:fixed;bottom:calc(var(--space-md) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:12px 24px;border-radius:50px;box-shadow:0 4px 12px #00000026;z-index:9999;display:flex;align-items:center;justify-content:center;white-space:nowrap;animation:toast-slide-up .3s ease-out}.toast-success{background-color:var(--color-success, #28a745)}.toast-error{background-color:var(--color-danger, #dc3545)}.toast-message{font-size:14px;font-weight:500}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.profile-premium-container{padding:var(--space-xs) 0;display:flex;flex-direction:column;gap:var(--space-md)}.profile-card{background:var(--bg-card);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);padding:var(--space-md);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.identity-card{background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-card-hover) 100%);border-left:4px solid var(--color-primary)}.identity-header{display:flex;align-items:center;gap:var(--space-lg)}.profile-avatar-container{position:relative;flex-shrink:0}.profile-avatar-container.editable{cursor:pointer}.profile-avatar{width:72px;height:72px;border-radius:20px;object-fit:cover;box-shadow:var(--shadow-md)}.profile-avatar-placeholder{width:72px;height:72px;border-radius:20px;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.profile-avatar-edit-badge{position:absolute;bottom:-4px;right:-4px;background:var(--color-primary);color:#fff;width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-card)}.profile-info-main{flex:1}.name-wrapper{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.profile-name{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.5px}.edit-btn-minimal{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center}.edit-btn-minimal:hover{background:#0000000d;color:var(--color-primary)}.identity-badges{display:flex;gap:var(--space-xs);flex-wrap:wrap}.badge-pill{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.age-badge{background:var(--color-primary-bg);color:var(--color-primary-dark)}.weight-badge{background:#f0f4f8;color:#475a6b}.role-status-bar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:#ffffff80;border-radius:var(--border-radius);font-size:.75rem;color:var(--text-secondary);border:1px solid var(--border-color)}.role-status-bar strong{color:var(--color-primary)}.card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-color)}.card-header h4{margin:0;font-size:.9rem;font-weight:700;color:var(--text-primary)}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.health-stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.status-ok{color:var(--color-success)}.status-alert{color:var(--color-danger)}.status-none{color:var(--text-muted);font-weight:400}.health-diagnoses-mini{padding-top:var(--space-sm);border-top:1px dashed var(--border-color)}.diagnosis-tags-mini{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.tag-mini{background:#f0f0f0;color:#555;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:500}.tag-more{font-size:.7rem;color:var(--text-muted);padding:2px 4px}.secondary-card{border-style:dashed}.code-share-box{display:flex;align-items:center;background:var(--bg-main);padding:4px;border-radius:var(--border-radius);border:1px solid var(--border-color);margin-bottom:var(--space-sm)}.code-display{flex:1;display:flex;flex-direction:column;padding:var(--space-xs) var(--space-md)}.code-label{font-size:.6rem;font-weight:800;color:var(--text-muted);margin-bottom:2px}.code-value{font-family:Inter,monospace;font-weight:800;font-size:1.25rem;letter-spacing:3px;color:var(--text-primary)}.copy-btn{padding:var(--space-sm)}.share-help{font-size:.7rem;color:var(--text-muted);margin:0;line-height:1.4;text-align:center}.profile-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.premium-action-btn{height:48px;font-weight:700;font-size:.85rem;border-radius:var(--border-radius-lg);border-width:1px}.non-admin-message{padding:var(--space-lg);background:#fff9eb;border:1px solid #ffeeba;border-radius:var(--border-radius-lg);color:#856404;font-size:.8rem;text-align:center;line-height:1.5}.premium-footer{padding-top:var(--space-md)!important;border-top:none!important}.identity-header.is-editing{flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm)}.profile-edit-form{flex:1;width:100%}.profile-form-row{margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}@media(min-width:480px){.identity-header.is-editing{flex-direction:row;align-items:flex-start;text-align:left}.profile-form-row{flex-direction:row;align-items:center}}.age-input{min-width:80px}.profile-edit-actions{display:flex;gap:var(--space-sm);width:100%;justify-content:flex-end}.profile-edit-actions button{flex:1}@media(min-width:480px){.profile-edit-actions button{flex:0 1 auto}}.person-selector-content{display:flex;flex-direction:column}.person-selector-scroll-wrapper{position:relative}.person-selector-scroll{display:flex;flex-direction:column;gap:var(--space-sm);max-height:270px;overflow-y:auto;padding-right:var(--space-xs)}.person-selector-scroll::-webkit-scrollbar{width:6px}.person-selector-scroll::-webkit-scrollbar-track{background:var(--bg-main);border-radius:3px}.person-selector-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.person-selector-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.scroll-indicator{text-align:center;padding:var(--space-xs) 0;font-size:var(--font-size-xs);color:var(--text-secondary);animation:bounce 1.5s ease-in-out infinite;opacity:1;transition:opacity .2s ease}.scroll-indicator.hidden{opacity:0;animation:none}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.person-selector-list{display:flex;flex-direction:column;gap:var(--space-md)}.person-selector-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--border-radius);background-color:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast)}.person-selector-item:hover{background-color:var(--bg-main);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.person-selector-item.active{border-color:var(--color-primary);background-color:var(--color-primary);box-shadow:var(--shadow-md)}.person-selector-item.active .person-selector-name{color:#fff}.person-selector-item.active .person-selector-relation{color:#ffffffe6}.person-selector-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background-color:var(--color-primary-bg);display:flex;align-items:center;justify-content:center;border:2px solid transparent}.person-selector-item.active .person-selector-avatar{border-color:#fff;background-color:#fff3}.person-selector-avatar img{width:100%;height:100%;object-fit:cover}.person-avatar-placeholder{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.person-selector-item.active .person-avatar-placeholder{color:#fff}.person-selector-info{flex:1}.person-selector-name{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.person-selector-relation{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.person-selector-add{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:2px dashed var(--border-color);border-radius:var(--border-radius);background:transparent;cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast);margin-top:var(--space-sm)}.person-selector-add:hover{border-color:var(--color-primary);background-color:var(--bg-main)}.person-add-icon{width:40px;height:40px;border-radius:50%;background-color:var(--bg-main);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.person-selector-add span{font-weight:500;color:var(--text-primary)}.person-actions{display:flex;align-items:center;gap:var(--space-sm)}.person-delete-btn{padding:8px;border-radius:50%;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.person-selector-item.active .person-delete-btn{color:#ffffffb3}.person-selector-item.active .person-delete-btn:hover{color:#fff;background-color:#fff3}.person-delete-btn:hover{background-color:var(--color-error-bg);color:var(--color-error)}.person-section-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-md) 0 var(--space-md)}.person-section-divider:before,.person-section-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.person-section-divider span{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500;white-space:nowrap}.person-action-cards{display:flex;flex-direction:column;gap:var(--space-sm)}.person-action-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast)}.person-action-card:hover{border-color:var(--color-primary);background:var(--bg-main);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.person-action-icon{font-size:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-main);border-radius:var(--border-radius);flex-shrink:0}.selection-icon-lucide{width:24px;height:24px;color:var(--color-primary);flex-shrink:0}.person-action-info{flex:1}.person-action-info h4{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.person-action-info p{margin:2px 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.person-auth-message{text-align:center}.person-auth-message p{color:var(--text-secondary);margin-bottom:var(--space-md)}.person-login-link{margin-top:var(--space-md)!important;font-size:var(--font-size-sm);color:var(--text-secondary)}.person-login-link a{color:var(--color-primary);font-weight:600;text-decoration:none}.person-login-link a:hover{text-decoration:underline}.join-desc{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-lg);text-align:center}.join-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-sm)}.join-opt-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);cursor:pointer;transition:all var(--transition-fast)}.join-opt-card:hover{border-color:var(--color-primary);background:var(--color-primary-bg);transform:translateY(-2px);box-shadow:var(--shadow-md)}.join-opt-card:nth-child(3){grid-column:span 2}.join-opt-icon{width:48px;height:48px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.join-opt-card span{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.modal-qr-container{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) 0}.modal-qr-viewport{width:100%;max-width:360px;aspect-ratio:1;background:#000;border-radius:var(--border-radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow-lg)}.qr-video-container video{width:100%!important;height:100%!important;object-fit:cover!important}#modal-qr-reader__status_span,#modal-qr-reader__dashboard_section_swap_link,#modal-qr-reader__scan_region,#modal-qr-reader button{display:none!important}#modal-qr-reader{border:none!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}#modal-qr-reader video{object-fit:cover!important}.back-link-bottom{display:block;width:100%;padding:var(--space-md);background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;margin-top:var(--space-md);text-align:center;transition:color .2s}.back-link-bottom:hover{color:var(--color-primary)}.qr-overlay-modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.qr-scanner-box-modal{width:250px;height:250px;position:relative;box-shadow:0 0 0 100vmax #0006}.qr-corner-modal{position:absolute;width:30px;height:30px;border-color:var(--color-primary);border-style:solid;z-index:20}.qr-corner-modal.top-left{top:-4px;left:-4px;border-width:4px 0 0 4px;border-top-left-radius:8px}.qr-corner-modal.top-right{top:-4px;right:-4px;border-width:4px 4px 0 0;border-top-right-radius:8px}.qr-corner-modal.bottom-left{bottom:-4px;left:-4px;border-width:0 0 4px 4px;border-bottom-left-radius:8px}.qr-corner-modal.bottom-right{bottom:-4px;right:-4px;border-width:0 4px 4px 0;border-bottom-right-radius:8px}.qr-scan-line-modal{position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);animation:scanModal 2s linear infinite;box-shadow:0 0 8px var(--color-primary)}@keyframes scanModal{0%{top:0}50%{top:100%}to{top:0}}.qr-error-msg{padding:var(--space-lg);text-align:center;color:var(--color-danger);font-size:var(--font-size-sm)}.qr-hint-modal{text-align:center;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-md);line-height:1.4;max-width:250px}.header{background:var(--color-primary);padding:var(--space-sm) var(--space-lg);padding-top:var(--space-xl-2xl);border-bottom:none;position:sticky;top:0;z-index:var(--z-nav);box-shadow:var(--shadow-md)}.header-content{max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.header-person{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:0}.header-avatar{width:48px;height:48px;border-radius:var(--border-radius-full);overflow:hidden;background:var(--color-primary-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid white}.header-avatar img{width:100%;height:100%;object-fit:cover}.header-avatar-placeholder{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:var(--space-md)}.header-action-btn{background:none;border:none;color:#fff;cursor:pointer;padding:var(--space-xs);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color var(--transition-fast);text-decoration:none}.header-action-btn:hover{background-color:#ffffff26;color:#fff}.header-info{flex:1;min-width:0}.header-name{font-size:var(--font-size-lg);font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.header-date{font-size:var(--font-size-sm);color:#ffffffd9;margin:0}@media(min-width:768px){.header{padding-top:var(--space-sm)}}.image-lightbox{position:fixed;inset:0;background:#000000e6;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-container{position:relative;display:inline-block}.lightbox-close{position:absolute;top:-12px;right:-12px;background:#000000b3;border:2px solid white;color:#fff;padding:var(--space-xs);border-radius:var(--border-radius-full);cursor:pointer;transition:background-color var(--transition-fast);display:flex;align-items:center;justify-content:center;z-index:1}.lightbox-close:hover{background:#000000e6}.lightbox-image{max-width:85vw;max-height:75vh;border-radius:var(--border-radius-lg);object-fit:contain;box-shadow:0 10px 50px #00000080;display:block}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--color-primary);border-top:none;display:flex;justify-content:space-around;padding:var(--space-xs) 0;padding-bottom:env(safe-area-inset-bottom,0);z-index:var(--z-nav);box-shadow:0 -4px 12px rgba(var(--color-primary-rgb),.3)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-xs);flex:1;min-width:0;text-decoration:none;color:#fff9;transition:all var(--transition-fast);border-radius:var(--border-radius)}.bottom-nav-item:hover{background:#ffffff0d;color:#fff}.bottom-nav-item-active{background-color:#fff;color:var(--color-primary)!important;border-radius:16px;box-shadow:0 4px 12px #00000026}.bottom-nav-item-active:hover{background:#ffffff1a;color:#fff!important}.bottom-nav-item-active:hover .bottom-nav-icon{color:#fff!important}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;margin-bottom:2px;color:currentColor;transition:transform var(--transition-fast)}.bottom-nav-item-active .bottom-nav-icon{color:var(--color-primary)!important;transform:scale(1.05)}.bottom-nav-label{font-size:var(--font-size-xs);font-weight:500}@media(min-width:768px){.bottom-nav{left:50%;transform:translate(-50%);right:auto;width:100%;max-width:600px;border-radius:999px;margin-bottom:var(--space-md);padding:var(--space-xs) var(--space-sm);box-shadow:0 4px 20px rgba(var(--color-primary-rgb),.4)}.bottom-nav-item{padding:var(--space-xs) var(--space-md)}.bottom-nav-item-active{border-radius:999px}}.ui-spinner{color:var(--color-primary)}.ptr-container{position:relative;flex:1;overflow-y:auto;overflow-x:hidden;height:100%;overscroll-behavior-y:contain}.ptr-indicator{position:absolute;top:-60px;left:0;width:100%;display:flex;justify-content:center;pointer-events:none;z-index:1000}.ptr-spinner-box{width:40px;height:40px;background-color:var(--bg-card);border-radius:50%;box-shadow:0 2px 10px #00000026;display:flex;align-items:center;justify-content:center}.card{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.card-default{border:1px solid var(--border-color)}.card-elevated{box-shadow:var(--shadow-md);border:none}.card-success{border:2px solid var(--color-success);background:var(--color-success-light)}.card-danger{border:2px solid var(--color-danger);background:var(--color-danger-light)}.card-warning{border:2px solid var(--color-warning);background:var(--color-warning-light)}.card-primary{border:2px solid var(--color-primary);background:var(--color-primary-bg)}.card-padding-none{padding:0}.card-padding-sm{padding:var(--space-sm)}.card-padding-md{padding:var(--space-md)}.card-padding-lg{padding:var(--space-lg)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-clickable:active{transform:translateY(0)}.today-page{padding-top:var(--space-md)}.status-hero-section{margin-bottom:var(--space-xl)}.status-card{background:var(--bg-card);border-radius:24px;box-shadow:0 10px 30px -10px #00000014;padding:var(--space-md);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:1px solid var(--border-color)}.status-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -15px #0000001f}.status-card-ok{background:linear-gradient(145deg,#fff,#f0fff4);border:1px solid rgba(74,222,128,.15)}.status-card-ok:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(74,222,128,.05) 0%,transparent 70%);pointer-events:none;animation:rotateBg 20s linear infinite}@keyframes rotateBg{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-indicator{display:inline-flex;align-items:center;gap:var(--space-sm);padding:8px 16px;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:100px;margin-bottom:var(--space-sm);box-shadow:0 4px 15px #00000008;font-size:var(--font-size-sm);font-weight:700;color:var(--color-success);letter-spacing:.3px;text-transform:uppercase}.status-dot{width:10px;height:10px;background-color:var(--color-success);border-radius:50%;box-shadow:0 0 10px var(--color-success);position:relative}.status-dot:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:var(--color-success);border-radius:50%;opacity:.3;animation:ping 2s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.status-card-ok .status-card-content{display:flex;flex-direction:column;align-items:center;text-align:center}.status-card-alert{background:linear-gradient(145deg,#fff,#fff5f5);border:1px solid rgba(231,76,60,.15);display:flex;flex-direction:column;gap:var(--space-md);align-items:stretch}.status-card-top{display:flex;gap:var(--space-lg);align-items:flex-start}.status-card-icon-wrapper{width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg,#fff5f5,#ffe3e3);display:flex;align-items:center;justify-content:center;color:var(--color-danger);flex-shrink:0;box-shadow:0 8px 16px -4px #e74c3c26;animation:shake 5s ease-in-out infinite}@keyframes shake{0%,90%,to{transform:rotate(0)}92%{transform:rotate(5deg)}94%{transform:rotate(-5deg)}96%{transform:rotate(3deg)}98%{transform:rotate(-3deg)}}.status-card-content{position:relative;z-index:1;flex:1}.status-card-message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;margin:0}.btn-report-issue{display:inline-flex;align-items:center;gap:var(--space-sm);background:#fff;border:2px solid var(--border-color);color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm);padding:12px 24px;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000000d}.btn-report-issue:hover{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff;transform:translateY(-2px);box-shadow:0 10px 15px -3px #e74c3c4d}.status-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.status-timestamp{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:600;background:#0000000d;padding:4px 10px;border-radius:8px}.status-actions-row{display:flex;gap:var(--space-md);margin-top:var(--space-lg);align-items:center;width:100%}.status-actions-row>*{flex:1;justify-content:center}.status-card-action.btn-resolve{background:linear-gradient(135deg,var(--color-success) 0%,#45a045 100%);border:none;color:#fff;font-weight:700;padding:12px 24px;border-radius:16px;display:flex;align-items:center;gap:var(--space-sm);box-shadow:0 8px 20px -6px #4ade8066;transition:all .3s ease}.status-card-action.btn-resolve:hover{transform:translateY(-2px);box-shadow:0 12px 25px -8px #4ade8080;filter:brightness(1.1)}.link-edit{background:#0000000a;border:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;padding:11px 16px;border-radius:16px;text-decoration:none;display:flex;align-items:center;justify-content:center}.link-edit:hover{color:var(--text-primary);background:#00000014;border-color:var(--text-muted)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.section-link{font-size:var(--font-size-sm);font-weight:500;color:var(--color-primary)}.med-header-stats{display:flex;gap:var(--space-sm)}.med-header-stat{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:var(--font-size-sm);font-weight:600}.med-header-taken{background:var(--color-success-bg, rgba(34, 197, 94, .1));color:var(--color-success)}.med-header-pending{background:var(--color-warning-bg, rgba(245, 158, 11, .1));color:var(--color-warning)}.quick-meds{display:flex;flex-direction:column;gap:var(--space-sm)}.quick-med{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--border-radius);cursor:pointer;transition:background var(--transition-fast)}.quick-med:hover{background:var(--bg-main)}.quick-med-taken{opacity:.6}.quick-med-icon{font-size:1.25rem}.quick-med-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.quick-med-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-med-dosage{font-size:var(--font-size-xs);color:var(--text-muted)}.quick-med-time{font-size:var(--font-size-sm);color:var(--text-secondary);flex-shrink:0}.dosage-warning{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-warning-light, #fff7ed);border-radius:var(--border-radius);color:var(--color-warning);font-size:var(--font-size-sm);margin-top:var(--space-sm)}.quick-med-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-success);color:#fff;border-radius:var(--border-radius-full);font-size:var(--font-size-sm)}.quick-med-pending{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:var(--border-radius-full);color:var(--text-muted)}.empty-card{text-align:center;padding:var(--space-lg)}.card.empty-card p{color:var(--text-secondary);margin-bottom:var(--space-md)!important}.upcoming-events{display:flex;flex-direction:column;gap:var(--space-sm)}.event-card{display:flex;align-items:center;gap:var(--space-md)}.event-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-main);border-radius:var(--border-radius)}.event-info{flex:1}.event-title{font-size:var(--font-size-base);font-weight:600;margin:0}.event-date-today{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.4}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.quick-action{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);text-decoration:none;color:var(--text-primary);transition:all var(--transition-fast)}.quick-action:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-icon{font-size:1.5rem}.quick-action-text{font-size:var(--font-size-sm);font-weight:500}.modal-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.modal-actions>*{flex:1}.alert-notice{font-size:var(--font-size-sm);color:var(--color-warning);background:var(--color-warning-light);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);margin-top:var(--space-md);text-align:center}.welcome-modal-content{text-align:center}.welcome-text{margin-bottom:var(--space-md);color:var(--text-secondary)}.welcome-text p:first-child{margin-bottom:var(--space-md)}.welcome-subtext{font-size:var(--font-size-sm)}.welcome-instructions{background:var(--bg-subtle);padding:var(--space-md);border-radius:var(--border-radius)}.welcome-instructions-title{font-weight:500;margin-bottom:var(--space-xs)}.welcome-instructions-text{font-size:var(--font-size-sm)}.inline-icon-settings{display:inline;vertical-align:text-bottom}.today-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-xl) 0;min-height:300px}.loading-spinner{width:48px;height:48px;border:4px solid var(--bg-subtle);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-text{color:var(--text-secondary);font-size:var(--font-size-sm);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.fade-in{animation:fadeInUp .5s ease-out forwards;opacity:0;visibility:visible}.fade-in-delay-1{animation-delay:.5s}.fade-in-delay-2{animation-delay:1s}@keyframes fadeInUp{0%{opacity:0}to{opacity:1}}.medication-list{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.medication-card{background:var(--bg-card);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);border:1px solid var(--border-color);display:flex;gap:var(--space-sm);align-items:center;position:relative;transition:background-color var(--transition-fast);min-height:88px}.medication-item-past{opacity:.6;filter:grayscale(.5)}.medication-icon-container{background:var(--color-primary-bg);color:var(--color-primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.medication-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.medication-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.medication-dosage{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500;margin:4px 0;line-height:1.2}.medication-times{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500;margin:0}.medication-times svg{color:var(--color-primary);opacity:.8}.past-end-date{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}.medication-notes-block{font-size:var(--font-size-xs);color:var(--text-secondary);margin:2px 0 0;border-top:1px dashed var(--border-color);padding-top:2px}.medication-actions{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;gap:8px;align-items:center}.add-button-container{position:sticky;bottom:80px;background:linear-gradient(transparent,var(--bg-main) 20%);padding:var(--space-lg) 0;margin-top:auto}.medication-form{display:flex;flex-direction:column}.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.times-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-sm)}.toggle-advanced{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;padding:var(--space-sm) 0;text-align:center;margin:var(--space-sm) 0}.toggle-advanced:hover{text-decoration:underline}.advanced-options{display:flex;flex-direction:column;background:var(--bg-main);padding:var(--space-md);border-radius:var(--border-radius);margin-bottom:var(--space-md)}select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236C757D' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.events-list{display:flex;flex-direction:column;gap:var(--space-xs)}.event-item{padding:var(--space-sm) var(--space-md);transition:all .2s;position:relative;border:1px solid var(--border-color);background:var(--bg-card);border-radius:var(--border-radius);min-height:88px;display:flex;align-items:center}.event-item-past{opacity:.7;filter:grayscale(.5)}.event-item-clickable{cursor:pointer}.event-item-clickable:hover{background-color:var(--bg-hover);border-color:var(--color-primary-light)}.event-item-header{display:flex;gap:var(--space-sm);align-items:center;width:100%}.event-type-icon{background:var(--color-primary-bg);color:var(--color-primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.event-item-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.event-item-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.event-item-date{font-size:.85rem;color:var(--text-secondary);margin:2px 0}.event-item-location{font-size:.85rem;color:var(--color-primary);margin:4px 0 0;display:flex;align-items:center;gap:4px}.event-item-notes{font-size:.9rem;color:var(--text-secondary);margin:var(--space-sm) 0 0;padding-top:var(--space-sm);border-top:1px dashed var(--border-color)}.event-actions{margin-left:var(--space-sm)}.action-btn{background:transparent;border:none;padding:var(--space-xs);border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s}.action-btn:hover{background:#0000000d}.action-btn.delete:hover{color:var(--color-danger);background:#fee2e2}.event-type-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);margin-top:var(--space-xs)}.event-type-option{display:flex;align-items:center;padding:var(--space-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);cursor:pointer;font-size:.9rem;gap:8px;transition:all .2s}.event-type-option-selected{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.input-row>*{min-width:0}.invite-step{display:flex;flex-direction:column;gap:var(--space-md)}.invite-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);text-align:center;margin:0}.role-options{display:flex;flex-direction:column;gap:var(--space-sm)}.role-card{cursor:pointer;transition:all var(--transition-fast)}.role-card:hover{border-color:var(--color-primary)}.role-header{display:flex;align-items:center;gap:var(--space-sm)}.role-header input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary)}.role-label{font-weight:600;font-size:var(--font-size-base)}.role-desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--space-xs) 0 0 26px}.invite-qr-container{display:flex;justify-content:center;padding:var(--space-md);background:#fff;border-radius:var(--border-radius)}.invite-link-box{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-main);border-radius:var(--border-radius);padding:var(--space-sm)}.invite-link{flex:1;font-size:var(--font-size-xs);word-break:break-all;color:var(--text-secondary)}.invite-share-buttons{display:flex;flex-direction:column;gap:var(--space-sm)}.invite-info{font-size:var(--font-size-sm);color:var(--text-muted);text-align:center;line-height:1.6}.invite-error{background:var(--color-danger-light);color:#721c24;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin:0}.invite-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:var(--space-md)!important;margin-top:var(--space-lg);width:100%}.invite-actions .btn{width:100%!important;margin:0!important}.invite-auth-required{text-align:center}.invite-auth-required p{color:var(--text-secondary)}.family-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md)}.family-member-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);transition:all var(--transition-fast)}.family-member-card.clickable{cursor:pointer}.family-member-card.clickable:hover{background-color:var(--bg-hover);box-shadow:var(--shadow-sm)}.member-avatar{width:48px;height:48px;border-radius:var(--border-radius-full);background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.member-info{flex:1;min-width:0}.member-name{font-size:var(--font-size-base);font-weight:600;margin:0 0 2px;color:var(--text-primary)}.member-details{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm)}.member-relationship{color:var(--text-secondary)}.member-badge-admin{color:var(--color-primary);font-weight:600;font-size:.9em}.compact-form{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.empty-card{text-align:center;color:var(--text-secondary)}.empty-card p{margin:0}.action-btn{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.action-btn.edit{color:var(--text-secondary)}.action-btn.edit:hover{background-color:var(--bg-hover);color:var(--color-primary)}.section-title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-md);color:var(--text-primary)}.member-avatar.caregiver{background:var(--color-warning-light);color:var(--color-warning)}.member-tag{background:var(--bg-main);padding:2px 6px;border-radius:4px;font-size:.85em;font-weight:600;color:var(--text-secondary)}.hire-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);cursor:pointer;border:1px dashed var(--color-primary-light);background:#4a90a40d;transition:all var(--transition-fast);position:relative}.hire-card:hover{background:var(--bg-card);border-style:solid;border-color:var(--color-primary);box-shadow:var(--shadow-md)}.beta-badge{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#9370db,#7b68ee);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;letter-spacing:.5px;box-shadow:0 2px 4px #9370db4d}.hire-icon{width:48px;height:48px;border-radius:var(--border-radius-full);background:#fff;color:var(--color-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.hire-info h3{font-size:var(--font-size-base);font-weight:600;margin:0 0 2px;color:var(--color-primary-dark)}.hire-info p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.hire-modal-content{text-align:center}.hire-modal-text{margin-bottom:var(--space-lg);line-height:1.5}.hire-modal-question{font-weight:600;margin-bottom:var(--space-md);color:var(--text-primary)}.survey-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.survey-thanks{padding:var(--space-md) 0}.thanks-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.page-header-text{flex:1}.history-filters{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.filter-btn{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-light)}.timeline{display:flex;flex-direction:column;gap:var(--space-lg);padding-bottom:env(safe-area-inset-bottom)}.timeline-group{display:flex;flex-direction:column;gap:var(--space-sm)}.timeline-date{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:capitalize;margin:0;padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-color)}.timeline-entries{display:flex;flex-direction:column;gap:var(--space-sm)}.timeline-entry{display:flex;gap:var(--space-md);align-items:flex-start}.timeline-icon{font-size:1.25rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-main);border-radius:var(--border-radius-full);flex-shrink:0}.timeline-content{flex:1;min-width:0}.timeline-action{font-size:var(--font-size-sm);font-weight:600;margin:0;color:var(--text-primary)}.timeline-details{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--space-xs) 0 0}.timeline-meta{font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--space-xs) 0 0}.timeline-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.info-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:0;opacity:.7;transition:opacity var(--transition-fast)}.info-btn:hover{opacity:1}.history-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-md);animation:fadeIn var(--transition-fast)}.history-modal-content{background:var(--bg-card);width:100%;max-width:500px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;animation:slideUp var(--transition-normal)}.history-modal-header{padding:var(--space-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.history-modal-header h2{font-size:var(--font-size-lg);margin:0}.history-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.history-modal-body{padding:var(--space-lg);overflow-y:auto}.history-modal-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-color)}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color-light, rgba(0, 0, 0, .05))}.detail-row:last-child{border-bottom:none}.detail-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);flex-shrink:0;min-width:100px}.detail-value{font-size:var(--font-size-sm);color:var(--text-primary);text-align:right;word-break:break-word}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg) var(--space-md)}.detail-item{display:flex;flex-direction:column;gap:var(--space-xs)}.detail-item.full-width{grid-column:span 2}.detail-item label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-item p{margin:0;font-size:var(--font-size-base);color:var(--text-primary);font-weight:500}.tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{background:var(--color-primary-bg);color:var(--color-primary-dark);font-size:var(--font-size-sm);padding:2px 8px;border-radius:4px;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--text-secondary);padding-bottom:calc(var(--space-2xl) + env(safe-area-inset-bottom))}.empty-state-text{font-size:var(--font-size-base);line-height:1.6}.doctor-mode{padding-bottom:var(--space-2xl);padding-top:var(--space-xl)}.doctor-mode-empty{min-height:80vh;display:flex;align-items:center;justify-content:center}.doctor-header{text-align:center;margin-bottom:var(--space-xl);padding-top:var(--space-md)}.back-link{display:inline-block;margin-bottom:var(--space-md);color:var(--color-primary);font-weight:500}.doctor-title{font-size:var(--font-size-2xl);margin:0}.doctor-subtitle{color:var(--text-secondary);margin:var(--space-xs) 0 0}.doctor-person{background:var(--color-primary-bg);border-color:var(--color-primary)}.person-header{display:flex;align-items:center;gap:var(--space-md)}.person-avatar{width:64px;height:64px;border-radius:var(--border-radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:700;overflow:hidden}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-info{flex:1}.person-name{font-size:var(--font-size-xl);margin:0}.person-age{color:var(--text-secondary);margin:0}.person-diagnoses{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed var(--color-primary)}.person-diagnoses h3{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-sm)}.person-diagnoses ul{list-style:disc;margin:0;padding-left:var(--space-lg)}.person-code{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--space-xs) 0 0;display:flex;align-items:center;gap:var(--space-sm)}.person-code strong{font-family:monospace;background:var(--bg-card);padding:2px 6px;border-radius:4px;letter-spacing:1px}.qr-toggle{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:4px;opacity:.7;transition:opacity var(--transition-fast)}.qr-toggle:hover{opacity:1}.qr-container{display:flex;flex-direction:column;align-items:center;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed var(--color-primary)}.qr-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-sm)}.doctor-section{margin-bottom:var(--space-md)}.section-heading{font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color)}.doctor-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.doctor-table th,.doctor-table td{padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--border-color)}.doctor-table th{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase}.no-data{color:var(--text-muted);font-style:italic;margin:0}.doctor-alerts{background:var(--color-danger-light);border-color:var(--color-danger)}.alert-list,.event-list,.changes-list{list-style:none;margin:0;padding:0}.alert-list li,.event-list li,.changes-list li{display:flex;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px dashed var(--border-color);font-size:var(--font-size-sm)}.alert-list li:last-child,.event-list li:last-child,.changes-list li:last-child{border-bottom:none}.alert-date,.event-date,.change-date{flex-shrink:0;width:80px;color:var(--text-secondary);font-size:var(--font-size-xs)}.alert-note,.event-title,.change-details{flex:1}.doctor-actions{margin-top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.doctor-footer{text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-lg)}@media print{.back-link,.doctor-actions,.bottom-nav{display:none!important}.doctor-mode{padding:0}.doctor-section{break-inside:avoid}}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0}.setting-item:not(:last-child){border-bottom:1px solid var(--border-color)}.setting-info{display:flex;flex-direction:column}.setting-label{font-weight:600;font-size:var(--font-size-base);color:var(--text-primary)}.setting-value{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:2px}.setting-icon{color:var(--text-secondary);flex-shrink:0}.setting-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast)}.setting-select:focus{outline:none;border-color:var(--color-primary)}.setting-nested{padding:var(--space-md);margin:var(--space-sm) 0;background:var(--bg-subtle);border-radius:var(--border-radius);border-left:3px solid var(--color-primary)}.setting-nested-label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-sm)}.threshold-options{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.threshold-chip{display:inline-flex;cursor:pointer}.threshold-chip input{display:none}.threshold-chip-label{display:inline-block;padding:6px 12px;font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-full);background:var(--bg-card);color:var(--text-secondary);transition:all var(--transition-fast)}.threshold-chip input:checked+.threshold-chip-label{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.threshold-chip:hover .threshold-chip-label{border-color:var(--color-primary)}.setting-link{display:block;padding:var(--space-md) 0;color:var(--color-primary);font-weight:500;border-bottom:1px solid var(--border-color)}.setting-link:last-child{border-bottom:none}.toggle{position:relative;display:inline-block;width:52px;height:28px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);transition:var(--transition-fast);border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%;box-shadow:var(--shadow-sm)}.toggle input:checked+.toggle-slider{background-color:var(--color-success)}.toggle input:checked+.toggle-slider:before{transform:translate(24px)}.diagnoses-list{list-style:none;margin:0;padding:0}.diagnosis-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color)}.diagnosis-item:last-child{border-bottom:none}.diagnosis-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--border-radius-full);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.diagnosis-remove:hover{background:var(--color-danger-light);color:var(--color-danger)}.no-data{color:var(--text-muted);font-style:italic;margin:0;padding:var(--space-sm) 0}.danger-title{color:var(--color-danger)}.danger-text{font-size:var(--font-size-sm);color:#721c24;margin:0 0 var(--space-md)}.page .section:last-child{padding-bottom:env(safe-area-inset-bottom)}.setting-code{font-family:monospace;letter-spacing:1px;background:var(--bg-main);padding:2px 8px;border-radius:4px}.sync-cta{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed var(--border-color)}.sync-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-md);line-height:1.5}.settings-group{margin-bottom:var(--space-lg)}.settings-group:last-child{margin-bottom:0}.settings-group-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:var(--space-sm);font-weight:700}.setting-item.no-border{border-bottom:none!important}.settings-group.has-separator{border-bottom:1px solid var(--border-color);padding-bottom:var(--space-md)}.name-display-container{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;transition:color .2s}.name-display-container:hover{color:var(--color-primary)}.edit-icon-inline{opacity:.5}.name-edit-container{display:flex;align-items:center;gap:4px;width:100%}.name-edit-input{flex:1;padding:6px 10px;border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:inherit;outline:none;background:var(--bg-main)}.icon-btn-confirm,.icon-btn-cancel{background:none;border:none;padding:6px;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn-confirm{color:var(--color-success)}.icon-btn-confirm:hover{background:var(--color-success-bg)}.icon-btn-cancel{color:var(--text-tertiary)}.icon-btn-cancel:hover{background:var(--bg-hover)}.sync-actions.vertical{flex-direction:column;align-items:stretch;gap:4px}.justify-start{justify-content:flex-start!important;text-align:left;padding-left:var(--space-sm)}.setting-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--border-radius-full);font-size:.75rem;font-weight:600}.setting-badge.success{background:var(--color-success-bg);color:var(--color-success)}.gdpr-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-md);line-height:1.5}.text-success{color:var(--color-success)!important}.person-header-settings{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color)}.photo-upload-settings{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;flex-shrink:0}.photo-input-hidden{display:none}.photo-placeholder-settings{width:56px;height:56px;border-radius:var(--border-radius-full);background:var(--bg-main);border:2px dashed var(--border-color);display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all var(--transition-fast)}.photo-placeholder-settings:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.photo-preview-settings{width:56px;height:56px;border-radius:var(--border-radius-full);object-fit:cover;border:2px solid var(--color-primary)}.photo-change-text{font-size:var(--font-size-xs);color:var(--color-primary)}.person-info-settings{flex:1;display:flex;flex-direction:column}.person-name-settings{font-weight:600;font-size:var(--font-size-base)}.person-age-settings{font-size:var(--font-size-sm);color:var(--text-secondary)}.family-list{display:flex;flex-direction:column}.family-member{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-color)}.family-member:last-child{border-bottom:none}.member-avatar{width:40px;height:40px;border-radius:var(--border-radius-full);background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.member-info{display:flex;flex-direction:column;flex:1}.member-name{font-weight:600;font-size:var(--font-size-base)}.member-role{font-size:var(--font-size-xs);color:var(--text-secondary)}.member-relationship{font-weight:500;color:var(--text-primary)}.member-badge-admin{color:var(--color-primary);font-size:.85em;font-weight:600}.legal-content h1{margin-top:0;margin-bottom:1.5rem}.legal-content h2{margin-top:2.5rem;margin-bottom:1.25rem}.legal-content p,.legal-content ul,.legal-content ol{margin-bottom:1rem}.legal-content li{margin-bottom:.5rem}.settings-accordion-section{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);margin-bottom:var(--space-sm);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);scroll-margin-top:100px}.settings-accordion-section.is-expanded{border-color:var(--color-primary);box-shadow:var(--shadow-md);margin-bottom:var(--space-md);margin-top:var(--space-sm)}.settings-accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px var(--space-md);background:none;border:none;cursor:pointer;color:var(--text-primary);transition:background-color var(--transition-fast)}.settings-accordion-header:hover{background-color:var(--bg-main)}.settings-accordion-header-left{display:flex;align-items:center;gap:var(--space-md)}.settings-accordion-header-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.settings-accordion-description{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-top:2px}.settings-accordion-icon{width:48px;height:48px;border-radius:14px;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;transition:all .35s cubic-bezier(.175,.885,.32,1.275)}.is-expanded .settings-accordion-icon{background:var(--color-primary);color:#fff;transform:scale(1.05)}.settings-accordion-title{font-weight:700;font-size:1.15rem;color:var(--text-primary)}.settings-accordion-chevron{color:var(--text-muted);transition:transform .4s cubic-bezier(.4,0,.2,1),color .3s ease}.is-expanded .settings-accordion-chevron{color:var(--color-primary)}.settings-accordion-chevron.rotated{transform:rotate(180deg)}.settings-accordion-content{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:0}.is-expanded .settings-accordion-content{max-height:2500px;opacity:1}.settings-accordion-inner{padding:0 var(--space-md) var(--space-md);border-top:1px solid var(--border-color);padding-top:var(--space-md);animation:slideDownIn .4s ease-out}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.is-danger{border-color:#e74c3c1a}.is-danger.is-expanded{border-color:var(--color-danger);box-shadow:0 4px 12px #e74c3c26}.is-danger .settings-accordion-icon{background:var(--color-danger-light);color:var(--color-danger)}.is-danger.is-expanded .settings-accordion-icon{background:var(--color-danger);color:#fff}.is-danger .settings-accordion-title{color:var(--color-danger)}@media(max-width:480px){.settings-accordion-header{padding:16px 12px}.settings-accordion-icon{width:40px;height:40px;border-radius:12px}.settings-accordion-icon svg{width:20px;height:20px}.settings-accordion-title{font-size:1.05rem}.settings-accordion-description{font-size:.75rem}.settings-accordion-header-left{gap:12px}.settings-accordion-inner{padding:12px}}.language-selector{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.lang-btn{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--border-radius);border:1.5px solid var(--border-color);background:var(--bg-card);cursor:pointer;transition:all .2s ease;font-family:inherit;min-width:120px}.lang-btn:hover,.lang-btn.active{border-color:var(--color-primary);background:var(--color-primary-bg)}.lang-code{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--border-color);color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.5px;transition:all .2s ease}.lang-btn.active .lang-code,.lang-btn:hover .lang-code{background:var(--color-primary);color:#fff}.lang-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);flex:1}.lang-check{color:var(--color-primary);flex-shrink:0}@media(max-width:360px){.language-selector{flex-direction:column}.lang-btn{min-width:100%}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.auth-container{max-width:420px;width:100%}.auth-card{padding:var(--space-xl)}.auth-header{text-align:center;margin-bottom:var(--space-lg)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.auth-logo .logo-image{width:64px;height:64px}.auth-logo .logo-text{font-family:Outfit,sans-serif;font-size:var(--font-size-4xl-5xl);font-weight:700;color:var(--color-primary);display:block;line-height:1}.auth-subtitle{color:var(--text-secondary);margin:var(--space-xs) 0 0}.auth-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:1.6}.auth-tabs{display:flex;background:var(--bg-main);border-radius:var(--border-radius);padding:4px;margin-bottom:var(--space-lg)}.auth-tab{flex:1;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--border-radius);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.auth-tab:hover{color:var(--text-primary)}.auth-tab-active{background:var(--bg-card);color:var(--color-primary);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column}.auth-error{background:var(--color-danger-light);color:#721c24;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.auth-success{background:var(--color-success-light);color:#155724;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.auth-footer{text-align:center;margin-top:var(--space-lg);font-size:var(--font-size-sm);color:var(--text-secondary)}.auth-footer p{margin:var(--space-xs) 0}.auth-link{background:none;border:none;color:var(--color-primary);font-weight:500;cursor:pointer;text-decoration:underline}.auth-back{display:block;text-align:center;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-color);color:var(--text-muted);font-size:var(--font-size-sm)}.auth-back:hover{color:var(--color-primary)}.relationship-options-auth{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.relationship-option-auth{flex:1 1 auto;padding:var(--space-xs) var(--space-sm);background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.relationship-option-auth:hover{border-color:var(--color-primary)}.relationship-option-auth.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.invite-container{max-width:420px;width:100%}.invite-card{padding:var(--space-xl);text-align:center}.invite-header{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-lg)}.invite-logo{display:flex;align-items:center;gap:12px}.invite-logo .logo-image{width:64px;height:64px;object-fit:contain}.invite-logo .logo-text{font-family:Outfit,sans-serif;font-size:var(--font-size-4xl-5xl);font-weight:700;color:var(--color-primary);display:block;line-height:1}.invite-subtitle{color:var(--text-secondary);margin:var(--space-xs) 0 0}.invite-person{display:flex;align-items:center;gap:var(--space-md);background:var(--color-primary-bg);padding:var(--space-md);border-radius:var(--border-radius);margin-bottom:var(--space-md);text-align:left}.invite-avatar{width:56px;height:56px;border-radius:var(--border-radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;overflow:hidden;flex-shrink:0}.invite-avatar img{width:100%;height:100%;object-fit:cover}.invite-message{text-align:center;margin-bottom:var(--space-lg)}.invite-message h2{font-size:var(--font-size-lg);font-weight:500;color:var(--text-secondary);margin:0 0 var(--space-md)}.invite-person-highlight{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.invite-person-name-large{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary)}.invite-role-info{background:var(--bg-main);padding:var(--space-md);border-radius:var(--border-radius);margin-bottom:var(--space-lg);text-align:center}.invite-role-badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--text-primary)}.invite-role-badge svg{color:var(--color-primary)}.invite-role-desc{margin:var(--space-xs) 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.invite-page-actions{display:flex;flex-direction:column;gap:var(--space-md);width:100%}.invite-page-actions>*{width:100%;flex-shrink:0}.invite-auth-required p{color:var(--text-secondary);margin-bottom:var(--space-md)}.invite-login-link{margin-top:var(--space-md)!important;font-size:var(--font-size-sm);color:var(--text-secondary)}.invite-login-link a{color:var(--color-primary);font-weight:600;text-decoration:none}.invite-login-link a:hover{text-decoration:underline}.invite-expires{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-md);margin-bottom:0}.invite-error-message{background:var(--color-danger-light);color:#721c24;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.invite-loading,.invite-error-state,.invite-success-state{padding:var(--space-xl);text-align:center}.invite-icon{font-size:3rem;margin-bottom:var(--space-md)}.invite-spinner{font-size:2rem;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.invite-redirect{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--space-md)}.health-tabs{display:flex;background:var(--bg-card);padding:2px;margin-bottom:var(--space-sm);border-radius:var(--border-radius);border:1px solid var(--border-color)}.health-tab{flex:1;padding:var(--space-sm);border:none;background:none;cursor:pointer;border-radius:calc(var(--border-radius) - 2px);font-weight:500;color:var(--text-secondary);transition:all .2s}.health-tab.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.health-action-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.health-action-row .section-title{font-size:1rem;font-weight:600;margin:0;line-height:1}.vitals-list{display:flex;flex-direction:column;gap:var(--space-xs)}.vital-card{background:var(--bg-card);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);border:1px solid var(--border-color);display:flex;gap:var(--space-sm);align-items:center;position:relative;transition:background-color var(--transition-fast);min-height:88px}.clickable{cursor:pointer}.clickable:hover{background-color:var(--bg-hover)}.vital-icon-container{background:var(--color-primary-bg);color:var(--color-primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vital-header-row{display:flex;align-items:center;gap:var(--space-sm)}.vital-header-left{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.vital-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.vital-type{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600}.vital-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:2px 0}.vital-date{font-size:.75rem;color:var(--text-tertiary)}.vital-notes{font-size:var(--font-size-xs);border-radius:var(--border-radius-sm);color:var(--text-secondary);margin:0}.observations-timeline{display:flex;flex-direction:column;gap:var(--space-xs)}.observation-card{background:var(--bg-card);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);border:1px solid var(--border-color);display:flex;gap:var(--space-sm);align-items:center;position:relative;transition:background-color var(--transition-fast);min-height:88px}.observation-icon-container{background:var(--color-primary-bg);color:var(--color-primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.observation-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.observation-header-row{display:flex;align-items:center;gap:var(--space-sm)}.observation-header-left{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.observation-category{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600}.observation-date{font-size:.75rem;color:var(--text-tertiary)}.observation-content{margin:2px 0 0;color:var(--text-primary);font-size:.95rem;line-height:1.4}.vital-actions,.observation-actions,.diagnosis-actions{display:flex;gap:8px;align-items:center}.vital-actions,.observation-actions,.diagnosis-actions{position:absolute;top:var(--space-sm);right:var(--space-sm)}.icon-btn-sm{background:transparent;border:none;padding:6px;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn-sm:hover{background:#0000000d;color:var(--color-primary)}.icon-btn-sm.danger:hover{color:var(--color-danger);background:#fee2e2}.empty-state{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl) var(--space-md);text-align:center;color:var(--text-secondary);background:var(--bg-main);border-radius:var(--border-radius);border:2px dashed var(--border-color)}.empty-icon{margin-bottom:var(--space-sm);opacity:.5}.empty-state p{margin-bottom:var(--space-md)}.diagnoses-list{display:grid;grid-template-columns:1fr;gap:var(--space-xs)}.diagnosis-card{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-card);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast);min-height:88px;position:relative}.diagnosis-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.diagnosis-text{font-size:1rem;color:var(--text-primary);font-weight:500;display:block}.diagnosis-notes{font-size:var(--font-size-xs);color:var(--text-secondary);margin:4px 0 0}.diagnoses-add-form{background:var(--bg-card);padding:var(--space-md);border-radius:var(--border-radius);border:1px solid var(--border-color);margin-bottom:var(--space-md)}.diagnoses-add-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.no-patients-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:var(--space-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.no-patients-content{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:var(--space-md) var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg);max-width:400px;margin:0 auto;width:100%}.no-patients-logo{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.no-patients-logo .logo-image{width:64px;height:64px;margin-bottom:0}.no-patients-logo .logo-text{font-family:Outfit,sans-serif;font-size:var(--font-size-4xl-5xl);font-weight:700;color:var(--color-primary);display:block;line-height:1}.no-patients-message-box{text-align:center}.no-patients-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.no-patients-desc{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-lg)}.no-patients-cards{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.no-patients-cards .selection-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--border-radius);border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;text-align:left;transition:all var(--transition-medium)}.no-patients-cards .selection-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.no-patients-cards .selection-card.primary{border-color:var(--color-primary);background:var(--color-primary-bg)}.no-patients-cards .selection-card.secondary{border-color:var(--border-color)}.no-patients-cards .selection-card.secondary:hover{border-color:var(--text-secondary)}.no-patients-cards .selection-icon-lucide{width:32px;height:32px;color:var(--color-primary);flex-shrink:0}.no-patients-cards .selection-info h3{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-md);color:var(--text-primary)}.no-patients-cards .selection-info p{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.4}.logout-link{display:inline-flex;align-items:center;gap:var(--space-xs);background:none;border:none;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-sm);transition:color var(--transition-fast)}.logout-link:hover{color:var(--color-danger)}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app{height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden}.app-content{flex:1;padding-bottom:80px}.page{padding:var(--space-md);max-width:600px;margin:0 auto;width:100%}.page-header{margin-bottom:var(--space-lg);display:flex;flex-direction:column}.page-header-row{flex-direction:row;justify-content:space-between;align-items:center}.page-header-row .page-title{margin-bottom:0}.page-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.page-subtitle{font-size:var(--font-size-base);color:var(--text-secondary)}.section{margin-bottom:var(--space-lg)}.section:last-child{margin-bottom:0}.section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-md);color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.empty-state-text{font-size:var(--font-size-base);margin-bottom:var(--space-md)}.list{display:flex;flex-direction:column;gap:var(--space-sm)}.list-item{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--space-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast)}.list-item:hover{box-shadow:var(--shadow-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.onboarding{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:var(--space-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.onboarding-content{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:var(--space-md) var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg);max-width:400px;margin:0 auto;width:100%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.app-loading-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);z-index:9999}.app-loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.app-loading-logo{width:156px;height:156px;border-radius:var(--border-radius-lg)}.no-patients-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl) var(--space-md);min-height:60vh}.no-patients-icon{font-size:4rem;margin-bottom:var(--space-md)}.no-patients-message h2{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:var(--space-sm)}.no-patients-message p{color:var(--text-secondary);margin-bottom:var(--space-sm);max-width:320px}.no-patients-hint{font-size:var(--font-size-sm);margin-bottom:var(--space-lg)!important}.no-patients-actions{display:flex;flex-direction:column;gap:var(--space-sm);width:100%;max-width:280px}.no-patients-actions .btn{display:block;padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius);text-decoration:none;font-weight:600;text-align:center;transition:all var(--transition-fast)}.no-patients-actions .btn-primary{background:var(--color-primary);color:#fff}.no-patients-actions .btn-primary:hover{background:var(--color-primary-dark)}.no-patients-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.no-patients-actions .btn-secondary:hover{background:var(--bg-tertiary)}.contact-widget-btn{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));right:var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:999px;padding:8px 16px 8px 8px;display:none;align-items:center;gap:8px;box-shadow:var(--shadow-md);z-index:900;cursor:pointer;transition:all var(--transition-normal);color:var(--text-primary)}.contact-widget-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.contact-widget-icon{width:36px;height:36px;background:var(--color-primary-bg);color:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.contact-widget-label{font-weight:600;font-size:var(--font-size-sm);color:var(--color-primary-dark)}.contact-form{width:100%}.contact-intro{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--space-lg);line-height:1.6}.contact-form .form-row{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-md)}.contact-form .form-group{margin-bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.contact-form .flex-1{flex:1}@media(min-width:768px){.contact-widget-btn{display:flex;bottom:var(--space-lg);right:var(--space-lg)}.contact-form .form-row{flex-direction:row;gap:var(--space-lg)}}.contact-form .form-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.contact-form .form-select,.contact-form .form-textarea,.contact-form .form-input{width:100%;max-width:100%;padding:var(--space-md);border:1px solid var(--border-color);border-radius:var(--border-radius);font-family:inherit;font-size:var(--font-size-base);background:var(--bg-main);transition:border-color var(--transition-fast);box-sizing:border-box}.contact-form .form-select:focus,.contact-form .form-textarea:focus,.contact-form .form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.form-textarea{resize:vertical;min-height:150px}.contact-actions{display:flex;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.contact-success{text-align:center;padding:var(--space-xl) var(--space-md)}.contact-success-icon{font-size:3rem;margin-bottom:var(--space-md);animation:pulse 1s ease-in-out}.smart-banner{position:fixed;top:0;left:0;right:0;z-index:1100;background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-main) 100%);border-bottom:1px solid var(--border-color);padding:12px var(--space-md);display:flex;align-items:center;gap:12px;box-shadow:0 2px 12px #0000001a;animation:bannerSlideDown .35s cubic-bezier(.4,0,.2,1)}@keyframes bannerSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.smart-banner-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-main);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.smart-banner-close:hover{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.smart-banner-icon{flex-shrink:0}.smart-banner-icon img{width:44px;height:44px;border-radius:10px;object-fit:cover;box-shadow:0 2px 8px #0000001f;border:1px solid rgba(255,255,255,.8)}.smart-banner-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.smart-banner-title{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-banner-subtitle{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-banner-action{display:flex;align-items:center;gap:6px;background:var(--color-primary);color:#fff;border:none;padding:8px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 8px #4a90a459}.smart-banner-action:hover{background:var(--color-primary-dark, #3d8296);transform:scale(1.02)}.smart-banner-action:active{transform:scale(.98)}.smart-banner~.app-shell,.smart-banner~main{margin-top:68px}.sync-conflict-content{display:flex;flex-direction:column;gap:1.25rem}.sync-conflict-header{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--color-warning-bg, #fff3cd);border-radius:var(--radius-md, 8px);border-left:4px solid var(--color-warning, #ffc107)}.sync-conflict-header .warning-icon{color:var(--color-warning, #ffc107);flex-shrink:0;margin-top:2px}.sync-conflict-header p{margin:0;font-size:.95rem;line-height:1.5;color:var(--color-text, #333)}.sync-conflict-actions-top{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.sync-conflict-actions-top button{display:flex;align-items:center;gap:.5rem}.sync-conflict-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.sync-conflict-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface, #f8f9fa);border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e9ecef)}.conflict-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.conflict-entity-type{font-size:1.25rem}.conflict-details{display:flex;flex-direction:column;gap:.125rem;min-width:0}.conflict-details strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conflict-description{font-size:.8rem;color:var(--color-text-muted, #6c757d)}.conflict-actions{display:flex;gap:.5rem;flex-shrink:0}.conflict-btn{width:36px;height:36px;border-radius:var(--radius-full, 50%);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.conflict-btn.accept{background:var(--color-secondary-light, #e3f2fd);color:var(--color-secondary, #2196f3)}.conflict-btn.accept:hover{background:var(--color-secondary, #2196f3);color:#fff}.conflict-btn.keep{background:var(--color-success-light, #e8f5e9);color:var(--color-success, #4caf50)}.conflict-btn.keep:hover{background:var(--color-success, #4caf50);color:#fff}.sync-conflict-footer{padding-top:.5rem;border-top:1px solid var(--color-border, #e9ecef)}
