:root{--primary-blue: #0066CC;--primary-dark: #004C99;--primary-light: #E6F2FF;--secondary-teal: #00A896;--secondary-purple: #6B5B95;--gray-900: #1A1A1A;--gray-700: #4A4A4A;--gray-500: #9E9E9E;--gray-300: #E0E0E0;--gray-100: #F5F5F5;--white: #FFFFFF;--success: #00C853;--warning: #FF9800;--error: #D32F2F;--info: #2196F3;--fnd-purple: #7B68EE;--dementia-blue: #4682B4;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--text-hero: 48px;--text-h1: 32px;--text-h2: 24px;--text-h3: 18px;--text-body: 16px;--text-small: 14px;--text-tiny: 12px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);font-size:var(--text-body);color:var(--gray-900);background:var(--gray-100);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:1.3;color:var(--gray-900)}h2{font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:1.4;color:var(--gray-900)}h3{font-size:var(--text-h3);font-weight:var(--weight-semibold);line-height:1.5;color:var(--gray-700)}.card{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--gray-300)}.card-title{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--gray-900)}.card-body{margin-bottom:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-body);font-weight:var(--weight-semibold);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-dark) 100%);color:var(--white);box-shadow:0 4px 12px #06c3}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0066cc4d}.btn-secondary{background:var(--white);color:var(--primary-blue);border:2px solid var(--primary-blue)}.btn-secondary:hover{background:var(--primary-light)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-small);font-weight:var(--weight-medium);border-radius:var(--radius-sm)}.badge-success{background:#00c8531a;color:var(--success)}.badge-warning{background:#ff98001a;color:var(--warning)}.badge-info{background:#2196f31a;color:var(--info)}.metric-card{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.metric-value{font-size:var(--text-hero);font-weight:var(--weight-bold);color:var(--primary-blue);line-height:1;margin-bottom:var(--space-2)}.metric-label{font-size:var(--text-small);color:var(--gray-700);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.5px}.metric-trend{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-small);font-weight:var(--weight-semibold)}.metric-trend.up{color:var(--success)}.metric-trend.down{color:var(--error)}.table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius-lg);overflow:hidden}.table th{background:var(--gray-100);padding:var(--space-4);text-align:left;font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.table td{padding:var(--space-4);border-top:1px solid var(--gray-300);font-size:var(--text-body);color:var(--gray-900)}.progress-bar{width:100%;height:8px;background:var(--gray-300);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-blue) 0%,var(--secondary-teal) 100%);transition:width .3s ease}.text-center{text-align:center}.text-right{text-align:right}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mt-4{margin-top:var(--space-4)}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-4{gap:var(--space-4)}.dashboard-container{max-width:1400px;margin:0 auto;padding:var(--space-6);background:var(--gray-100);min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-7);padding:var(--space-5);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.platform-title{font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--primary-blue);letter-spacing:-.5px;margin-bottom:var(--space-1)}.platform-subtitle{font-size:var(--text-small);color:var(--gray-700);font-weight:var(--weight-medium)}.header-right{display:flex;align-items:center;gap:var(--space-3)}.metrics-section{margin-bottom:var(--space-7)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-5)}.insights-section{margin-bottom:var(--space-7)}.section-header{margin-bottom:var(--space-5)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:var(--space-5)}.insight-card{background:var(--white);border:2px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-5);transition:all .2s ease}.insight-card.priority-high{border-left:4px solid var(--warning)}.insight-card.priority-medium{border-left:4px solid var(--info)}.insight-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.insight-type{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--primary-blue);text-transform:uppercase;letter-spacing:.5px}.insight-title{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--gray-900);margin-bottom:var(--space-3)}.insight-description{font-size:var(--text-body);color:var(--gray-700);line-height:1.6;margin-bottom:var(--space-4)}.insight-evidence{display:flex;gap:var(--space-5);padding:var(--space-3);background:var(--gray-100);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.evidence-item{font-size:var(--text-small);color:var(--gray-700)}.evidence-item strong{color:var(--gray-900);font-weight:var(--weight-semibold)}.insight-actions{display:flex;gap:var(--space-3)}.btn-text{background:none;border:none;color:var(--gray-500);font-size:var(--text-small);font-weight:var(--weight-medium);cursor:pointer;padding:var(--space-2)}.btn-text:hover{color:var(--gray-700);text-decoration:underline}.charts-section{margin-bottom:var(--space-7)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:var(--space-5)}.chart-insight{margin-top:var(--space-4);padding:var(--space-3);background:var(--primary-light);border-radius:var(--radius-md);font-size:var(--text-small);color:var(--gray-700);text-align:center}.patients-section{margin-bottom:var(--space-7)}.patients-table-container{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.patient-info{display:flex;flex-direction:column;gap:var(--space-1)}.patient-age{font-size:var(--text-small);color:var(--gray-500)}.condition-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:#7b68ee1a;color:var(--fnd-purple);border-radius:var(--radius-sm);font-size:var(--text-small);font-weight:var(--weight-medium)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-small);font-weight:var(--weight-medium)}.status-stable{background:#00c8531a;color:var(--success)}.status-attention{background:#ff98001a;color:var(--warning)}.status-critical{background:#d32f2f1a;color:var(--error)}.effectiveness-bar{display:flex;align-items:center;gap:var(--space-3)}.effectiveness-value{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--gray-900);min-width:40px}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-small)}@media (max-width: 768px){.dashboard-container{padding:var(--space-4)}.dashboard-header{flex-direction:column;gap:var(--space-4);text-align:center}.metrics-grid,.insights-grid,.charts-grid{grid-template-columns:1fr}.patients-table-container{overflow-x:auto}}.patient-crisis-container{min-height:100vh;background:linear-gradient(135deg,#e6f2ff,#f5f5f5);padding:var(--space-5);font-family:var(--font-primary)}.crisis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding:var(--space-5);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.reassurance-message{flex:1}.crisis-title{font-size:48px;font-weight:var(--weight-bold);color:var(--primary-blue);margin-bottom:var(--space-2);line-height:1.2}.crisis-subtitle{font-size:24px;color:var(--gray-700);font-weight:var(--weight-medium)}.crisis-badge{padding:var(--space-3)}.crisis-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5)}.crisis-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);transition:all .3s ease}.crisis-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-image-container{width:200px;height:200px;margin:0 auto var(--space-4);border-radius:50%;overflow:hidden;border:4px solid var(--primary-light);box-shadow:0 4px 12px #0066cc1a}.card-image{width:100%;height:100%;object-fit:cover}.card-content{text-align:center;margin-bottom:var(--space-4)}.card-title{font-size:20px;color:var(--gray-700);font-weight:var(--weight-medium);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.card-name{font-size:32px;color:var(--primary-blue);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.card-description{font-size:18px;color:var(--gray-700);line-height:1.6}.btn-large{width:100%;padding:var(--space-5) var(--space-6);font-size:20px;font-weight:var(--weight-semibold);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:70px;transition:all .2s ease}.btn-icon{font-size:28px}.btn-danger{background:linear-gradient(135deg,var(--error) 0%,#B71C1C 100%);color:var(--white);box-shadow:0 4px 12px #d32f2f4d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 16px #d32f2f66}.crisis-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.emergency-card{border:2px solid var(--error);background:linear-gradient(135deg,#FFF5F5 0%,var(--white) 100%)}.emergency-content{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.emergency-icon{font-size:48px;flex-shrink:0}.emergency-text h3{font-size:22px;color:var(--error);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.emergency-text p{font-size:16px;color:var(--gray-700)}.memories-section{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md)}.section-title{font-size:28px;color:var(--primary-blue);font-weight:var(--weight-semibold);margin-bottom:var(--space-5);text-align:center}.memories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}.memory-card{text-align:center;padding:var(--space-3);border-radius:var(--radius-lg);transition:all .2s ease;cursor:pointer}.memory-card:hover{background:var(--primary-light);transform:scale(1.05)}.memory-image{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:var(--space-3);border:3px solid var(--primary-light)}.memory-name{font-size:16px;font-weight:var(--weight-semibold);color:var(--gray-900);margin-bottom:var(--space-1)}.memory-relationship{font-size:14px;color:var(--gray-700)}.crisis-footer{margin-top:var(--space-6)}.reassurance-box{background:linear-gradient(135deg,var(--primary-light) 0%,var(--white) 100%);border-left:4px solid var(--primary-blue);padding:var(--space-5);border-radius:var(--radius-lg)}.reassurance-text{font-size:18px;color:var(--gray-900);line-height:1.8;text-align:center}.reassurance-text strong{color:var(--primary-blue);font-weight:var(--weight-semibold)}@media (max-width: 768px){.crisis-title{font-size:36px}.crisis-subtitle{font-size:20px}.card-name{font-size:28px}.btn-large{font-size:18px;min-height:60px}.crisis-actions{grid-template-columns:1fr}.memories-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.btn-large:focus{outline:3px solid var(--primary-blue);outline-offset:4px}.crisis-card:focus-within{box-shadow:0 0 0 3px var(--primary-light)}.clerk-auth-page{min-height:100vh;position:relative;overflow:hidden;background:#0a0e27;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.6;animation:float 20s ease-in-out infinite}.auth-container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2rem;max-width:420px;width:100%}.auth-branding{text-align:center}.logo-icon{margin-bottom:1rem;animation:pulse 3s ease-in-out infinite}.brand-title{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#00d9ff,#06f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.1em;margin:0 0 .5rem}.brand-subtitle{color:#ffffffb3;font-size:.9rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.clerk-wrapper{width:100%}.cl-rootBox{width:100%!important}.cl-card{background:#14192df2!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;box-shadow:0 20px 60px #00000080!important}.cl-headerTitle{color:#fff!important;font-size:1.5rem!important;font-weight:700!important}.cl-headerSubtitle{color:#ffffffb3!important}.cl-formFieldLabel{color:#ffffffe6!important;font-weight:500!important}.cl-formFieldInput{background:#ffffff14!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;border-radius:8px!important}.cl-formFieldInput::placeholder{color:#fff6!important}.cl-formFieldInput:focus{border-color:#00d9ff!important;box-shadow:0 0 0 3px #00d9ff33!important}.cl-formFieldInputShowPasswordButton{color:#fff9!important}.cl-formFieldHintText{color:#ffffff80!important}.cl-formFieldErrorText{color:#ff6b6b!important}.cl-socialButtonsBlockButton{background:#ffffff14!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;transition:all .2s!important}.cl-socialButtonsBlockButton:hover{background:#ffffff1f!important;border-color:#ffffff40!important;transform:translateY(-1px)!important}.cl-socialButtonsBlockButtonText{color:#fff!important}.cl-dividerLine{background:#ffffff26!important}.cl-dividerText{color:#ffffff80!important}.cl-formButtonPrimary{background:linear-gradient(135deg,#06f,#00d9ff)!important;border:none!important;box-shadow:0 8px 24px #0066ff4d!important;transition:all .3s ease!important;font-weight:600!important}.cl-formButtonPrimary:hover{transform:translateY(-2px)!important;box-shadow:0 12px 32px #06f6!important}.cl-footer{background:transparent!important;border-top:1px solid rgba(255,255,255,.1)!important}.cl-footerAction{background:transparent!important}.cl-footerActionText{color:#fff9!important}.cl-footerActionLink{color:#00d9ff!important;font-weight:600!important}.cl-footerActionLink:hover{color:#06f!important}.cl-internal-b3fm6y,.cl-internal-nhmrw,[class*=cl-internal]{background:#14192de6!important;color:#ffffff80!important;border-color:#ffffff1a!important}.cl-alternativeMethods{border-top:1px solid rgba(255,255,255,.1)!important}.cl-alternativeMethodsBlockButton{color:#ffffffb3!important}.cl-userButtonTrigger{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important}.cl-identityPreview{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important}.cl-identityPreviewText{color:#fff!important}.cl-identityPreviewEditButton{color:#00d9ff!important}.cl-avatarBox{border:2px solid rgba(0,217,255,.3)!important}.cl-card *{color:inherit}.cl-card p,.cl-card span,.cl-card label,.cl-card a{color:#ffffffd9!important}.cl-card a{color:#00d9ff!important}@media (max-width: 640px){.auth-container{gap:1.5rem}.brand-title{font-size:2rem}.clerk-auth-page{padding:1rem}}.patient-onboarding{min-height:100vh;background:var(--clinical-bg-primary);padding:2rem}.onboarding-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000001a;padding:3rem}.onboarding-header{text-align:center;margin-bottom:3rem}.onboarding-header h1{color:var(--clinical-primary);font-size:2rem;font-weight:700;margin:0 0 2rem}.progress-stepper{display:flex;justify-content:space-between;align-items:center;position:relative;max-width:600px;margin:0 auto}.progress-stepper:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:var(--clinical-border);z-index:0}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1}.step-number{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--clinical-border);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--clinical-text-secondary);transition:all .3s}.step.active .step-number{background:var(--clinical-primary);border-color:var(--clinical-primary);color:#fff}.step.complete .step-number{background:var(--clinical-success);border-color:var(--clinical-success);color:#fff}.step-label{font-size:.75rem;color:var(--clinical-text-secondary);font-weight:500}.step.active .step-label{color:var(--clinical-primary);font-weight:600}.onboarding-step{margin-top:2rem}.onboarding-step h2{color:var(--clinical-text-primary);font-size:1.5rem;margin:0 0 .5rem}.step-description{color:var(--clinical-text-secondary);margin:0 0 2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group label{color:var(--clinical-text-primary);font-weight:600;font-size:.875rem}.form-group input,.form-group textarea,.form-group select{padding:.875rem 1rem;border:2px solid var(--clinical-border);border-radius:8px;font-size:1rem;transition:all .2s}.form-group textarea{resize:vertical;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--clinical-primary);box-shadow:0 0 0 3px #0066cc1a}.form-group small{color:var(--clinical-text-secondary);font-size:.75rem}.button-group{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--clinical-border)}.ai-processing{text-align:center;padding:4rem 2rem}.spinner{width:60px;height:60px;border:4px solid var(--clinical-border);border-top-color:var(--clinical-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2rem}.ai-processing h3{color:var(--clinical-primary);margin:0 0 .5rem}.ai-processing p{color:var(--clinical-text-secondary)}.corpus-preview{padding:2rem 0}.success-message{text-align:center;padding:2rem;background:var(--clinical-success-light);border-radius:12px;margin-bottom:2rem}.success-icon{display:inline-block;width:60px;height:60px;background:var(--clinical-success);color:#fff;border-radius:50%;font-size:2rem;line-height:60px;margin-bottom:1rem}.success-message h3{color:var(--clinical-success);margin:0 0 .5rem}.success-message p{color:var(--clinical-text-secondary);margin:0}.preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.preview-card{padding:1.5rem;background:var(--clinical-bg-secondary);border-radius:12px;border:2px solid var(--clinical-border)}.preview-card h4{color:var(--clinical-text-primary);margin:0 0 .5rem;font-size:1rem}.preview-card p{color:var(--clinical-text-secondary);margin:0;font-size:.875rem}.completion-message{text-align:center;padding:3rem 2rem}.completion-icon{width:80px;height:80px;background:var(--clinical-success);color:#fff;border-radius:50%;font-size:3rem;line-height:80px;margin:0 auto 2rem}.completion-message h2{color:var(--clinical-success);margin-bottom:.5rem}.completion-summary{max-width:500px;margin:2rem auto;text-align:left;background:var(--clinical-bg-secondary);padding:2rem;border-radius:12px}.summary-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--clinical-border)}.summary-item:last-child{border-bottom:none}.summary-label{color:var(--clinical-text-secondary);font-weight:600}.summary-value{color:var(--clinical-text-primary)}@media (max-width: 768px){.onboarding-container{padding:2rem 1.5rem}.form-row,.preview-cards{grid-template-columns:1fr}.progress-stepper{max-width:100%}.step-label{display:none}.button-group{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.corpus-manager{min-height:100vh;background:var(--clinical-bg-primary);padding:2rem}.corpus-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--clinical-border)}.corpus-header h1{color:var(--clinical-text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.subtitle{color:var(--clinical-text-secondary);margin:0}.spinner{width:60px;height:60px;border:4px solid var(--clinical-border);border-top-color:var(--clinical-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.upload-form{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.upload-form h3{color:var(--clinical-text-primary);margin:0 0 1.5rem}.upload-form textarea{width:100%;padding:1rem;border:2px solid var(--clinical-border);border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:1rem}.upload-form textarea:focus{outline:none;border-color:var(--clinical-primary);box-shadow:0 0 0 3px #0066cc1a}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.processing-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.processing-card{background:#fff;padding:3rem;border-radius:16px;text-align:center;max-width:500px}.processing-card h3{color:var(--clinical-primary);margin:1rem 0 .5rem}.processing-card p{color:var(--clinical-text-secondary);margin:0}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:var(--clinical-text-primary);margin:0 0 .5rem}.empty-state p{color:var(--clinical-text-secondary);margin:0 0 2rem}.corpus-list{display:flex;flex-direction:column;gap:2rem}.corpus-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.corpus-header-section{padding:1.5rem;background:var(--clinical-bg-secondary);border-bottom:2px solid var(--clinical-border)}.corpus-meta{display:flex;gap:1rem;align-items:center}.corpus-type{background:var(--clinical-primary);color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;text-transform:capitalize}.corpus-date{color:var(--clinical-text-secondary);font-size:.875rem}.corpus-content{padding:2rem}.content-section{margin-bottom:2rem}.content-section:last-child{margin-bottom:0}.content-section h4{color:var(--clinical-text-primary);font-size:1.125rem;margin:0 0 1rem;font-weight:600}.notes-preview{background:var(--clinical-bg-secondary);padding:1.5rem;border-radius:8px;border-left:4px solid var(--clinical-primary);color:var(--clinical-text-primary);line-height:1.6;white-space:pre-wrap}.key-facts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.key-fact-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--clinical-success-light);border-radius:8px;border-left:3px solid var(--clinical-success)}.fact-icon{color:var(--clinical-success);font-weight:700;flex-shrink:0}.fact-text{color:var(--clinical-text-primary);font-size:.875rem;line-height:1.5}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.recommendation-card{padding:1.5rem;background:var(--clinical-bg-secondary);border-radius:8px;border-left:4px solid var(--clinical-primary)}.rec-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.rec-header h5{color:var(--clinical-text-primary);margin:0;font-size:1rem;font-weight:600}.confidence-badge{background:var(--clinical-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.recommendation-card p{color:var(--clinical-text-secondary);margin:0;line-height:1.6}.corpus-footer{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--clinical-border)}.btn-primary,.btn-secondary{padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--clinical-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--clinical-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--clinical-text-primary);border:2px solid var(--clinical-border)}.btn-secondary:hover{border-color:var(--clinical-primary);color:var(--clinical-primary)}.error-alert{background:var(--clinical-error-light);border-left:4px solid var(--clinical-error);color:var(--clinical-error);padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-size:.875rem;margin-bottom:2rem}.error-icon{font-size:1.25rem}@media (max-width: 768px){.corpus-header{flex-direction:column;gap:1rem}.key-facts-grid{grid-template-columns:1fr}.rec-header{flex-direction:column;align-items:flex-start}}.funded-access-page{min-height:100vh;position:relative;overflow-x:hidden;background:#0a0e27;padding:2rem}.funded-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.orb-1{width:600px;height:600px;background:radial-gradient(circle,#0066FF 0%,transparent 70%);top:-200px;left:-200px}.orb-2{width:500px;height:500px;background:radial-gradient(circle,#00D9FF 0%,transparent 70%);bottom:-150px;right:-150px;animation-delay:7s}.orb-3{width:400px;height:400px;background:radial-gradient(circle,#6B5B95 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:14s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.funded-container{position:relative;z-index:1;max-width:900px;margin:0 auto}.funded-hero{text-align:center;margin-bottom:4rem}.hero-title{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#00d9ff,#06f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.05em;margin:0 0 1rem}.hero-subtitle{color:#fffc;font-size:1.25rem;font-weight:500;margin:0 0 2rem}.funded-badge{display:inline-flex;align-items:center;gap:.75rem;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:50px;padding:.75rem 1.5rem;color:#00d9ff;font-weight:600}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.benefit-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;text-align:center;transition:all .3s ease}.benefit-card:hover{transform:translateY(-4px);background:#ffffff14;border-color:#00d9ff4d}.benefit-icon{font-size:3rem;margin-bottom:1rem}.benefit-card h3{color:#fff;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.benefit-card p{color:#ffffffb3;font-size:.9rem;margin:0;line-height:1.5}.request-form-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:3rem;box-shadow:0 20px 60px #0000004d}.request-form-card h2{color:#fff;font-size:2rem;font-weight:700;margin:0 0 1rem}.form-description{color:#ffffffb3;margin:0 0 2rem;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;background:#ffffff1f;border-color:#00d9ff;box-shadow:0 0 0 3px #00d9ff1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff6}.btn-submit{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#06f,#00d9ff);border:none;border-radius:8px;color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #0066ff4d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #06f6}.error-message{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:8px;padding:1rem;color:#ff3b30;margin-bottom:1.5rem}@media (max-width: 768px){.funded-access-page{padding:1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.benefits-grid{grid-template-columns:1fr}.request-form-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.success-card{padding:3rem 2rem}}.pin-access-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#0a0e27;padding:2rem}.pin-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.orb-1{width:500px;height:500px;background:radial-gradient(circle,#0066FF 0%,transparent 70%);top:-150px;left:-150px}.pin-container{position:relative;z-index:1;width:100%;max-width:500px}.pin-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:32px;padding:3rem 2rem;text-align:center;box-shadow:0 20px 60px #0000004d}.pin-logo{margin-bottom:2rem;animation:pulse 3s ease-in-out infinite}.pin-card h1{color:#fff;font-size:2.5rem;font-weight:800;margin:0 0 .5rem}.subtitle{color:#ffffffb3;font-size:1.125rem;margin:0 0 2rem}.pin-inputs{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.pin-input{width:60px;height:70px;background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:2rem;font-weight:700;text-align:center;transition:all .2s}.pin-input:focus{outline:none;background:#ffffff1f;border-color:#00d9ff;box-shadow:0 0 0 4px #00d9ff1a;transform:scale(1.05)}.pin-input:disabled{opacity:.5;cursor:not-allowed}.error-banner{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:12px;padding:1rem;margin:1rem 0;color:#ff3b30;display:flex;align-items:center;gap:.75rem;justify-content:center;animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.loading-spinner{margin:2rem 0}.spinner{width:40px;height:40px;margin:0 auto 1rem;border:4px solid rgba(255,255,255,.1);border-top-color:#00d9ff;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner p{color:#ffffffb3;font-size:1rem}.help-text{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.help-text p{color:#ffffff80;font-size:.9rem;margin:.5rem 0}@media (max-width: 640px){.pin-access-page{padding:1rem}.pin-card{padding:2rem 1.5rem}.pin-card h1{font-size:2rem}.pin-inputs{gap:.5rem}.pin-input{width:50px;height:60px;font-size:1.75rem}}@media (hover: none) and (pointer: coarse){.pin-input{width:70px;height:80px;font-size:2.25rem}}.admin-dashboard{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);padding:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{color:#fffc}.admin-badge{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;padding:.5rem 1rem;border-radius:50px;font-weight:700;font-size:.875rem}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem}.tab{flex:1;padding:1.25rem 2rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#ffffffb3;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.75rem}.tab:hover{background:#ffffff14;border-color:#fff3}.tab.active{background:linear-gradient(135deg,#06f,#00d9ff);border-color:transparent;color:#fff}.tab-icon{font-size:1.5rem}.admin-content{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;min-height:500px}.request-card:hover{background:#ffffff0d;border-color:#00d9ff4d;transform:translateY(-2px)}.request-header h3{color:#fff;font-size:1.25rem;font-weight:700;margin:0}.request-details{margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0}.detail-row .label{color:#fff9;font-weight:600}.detail-row .value{color:#fff}@media (max-width: 768px){.admin-dashboard{padding:1rem}.admin-header{flex-direction:column;gap:1rem;padding:1.5rem}.admin-tabs{flex-direction:column}.requests-grid{grid-template-columns:1fr}.request-actions{flex-direction:column}}.invitation-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#0a0e27;padding:2rem}.invitation-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.orb-1{width:500px;height:500px;background:radial-gradient(circle,#0066FF 0%,transparent 70%);top:-150px;right:-150px}.orb-2{width:400px;height:400px;background:radial-gradient(circle,#00D9FF 0%,transparent 70%);bottom:-100px;left:-100px;animation-delay:10s}.invitation-container{position:relative;z-index:1;width:100%;max-width:500px}.invitation-card,.loading-card,.error-card,.success-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:32px;padding:3rem 2rem;text-align:center;box-shadow:0 20px 60px #0000004d}.invitation-header{margin-bottom:2rem}.logo-badge{margin-bottom:1.5rem;animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.invitation-header h1{color:#fff;font-size:2.5rem;font-weight:800;margin:0 0 .5rem}.invitation-info{margin-bottom:2rem}.info-badge{display:inline-flex;align-items:center;gap:.75rem;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:50px;padding:.75rem 1.5rem;color:#00d9ff;font-weight:600;margin-bottom:1rem}.badge-icon{font-size:1.5rem}.invited-email{color:#fff9;margin:1rem 0 0;font-size:.9rem}.signin-section{margin-top:2rem}.signin-prompt{color:#fffc;margin:0 0 1.5rem;font-size:1rem}.clerk-root{width:100%}.clerk-card{background:#ffffff08!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important}.loading-card{padding:4rem 2rem}.spinner{width:50px;height:50px;margin:0 auto 1.5rem;border:4px solid rgba(255,255,255,.1);border-top-color:#00d9ff;border-radius:50%;animation:spin 1s linear infinite}.loading-card p{color:#ffffffb3;font-size:1.125rem;margin:0}.error-card{padding:4rem 2rem}.error-icon{font-size:4rem;display:block;margin-bottom:1.5rem}.error-card h1{color:#fff;font-size:2rem;font-weight:700;margin:0 0 1rem}.error-card p{color:#ffffffb3;margin:0 0 2rem;line-height:1.6}.btn-home{padding:1rem 2rem;background:linear-gradient(135deg,#06f,#00d9ff);border:none;border-radius:8px;color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-home:hover{transform:translateY(-2px);box-shadow:0 12px 32px #06f6}.success-card{padding:4rem 2rem}.success-card p{color:#fffc;font-size:1.125rem;margin:.5rem 0;line-height:1.6}@media (max-width: 640px){.invitation-page{padding:1rem}.invitation-card,.loading-card,.error-card,.success-card{padding:2rem 1.5rem}.invitation-header h1{font-size:2rem}.error-card,.success-card{padding:3rem 2rem}}.family-join-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#0a0e27;padding:2rem}.family-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:radial-gradient(circle,#6B5B95 0%,transparent 70%);top:-150px;left:-150px}.orb-2{width:400px;height:400px;background:radial-gradient(circle,#00D9FF 0%,transparent 70%);bottom:-100px;right:-100px;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-20px) scale(1.05)}}.family-container{position:relative;z-index:1;width:100%;max-width:600px}.family-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d}.family-header{text-align:center;margin-bottom:2rem}.icon-badge{font-size:3rem;margin-bottom:1rem}.family-header h1{color:#fff;font-size:2rem;font-weight:800;margin:0 0 .5rem}.subtitle{color:#ffffffb3;font-size:1.125rem;margin:0}.user-info-box{display:flex;align-items:center;gap:1rem;background:#0003;border-radius:12px;padding:1rem;margin-bottom:2rem}.user-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#06f,#00d9ff);display:flex;align-items:center;justify-content:center}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{color:#fff;font-size:1.5rem;font-weight:700}.user-details{flex:1}.user-name{color:#fff;font-weight:700;margin:0 0 .25rem}.user-email{color:#fff9;font-size:.875rem;margin:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#fff;font-weight:600;margin-bottom:.5rem}.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:1rem;transition:all .2s;font-family:inherit}.form-group select:focus,.form-group textarea:focus{outline:none;background:#ffffff1f;border-color:#00d9ff;box-shadow:0 0 0 3px #00d9ff1a}.form-group select option{background:#1a1f3a;color:#fff}.form-hint{display:block;color:#ffffff80;font-size:.875rem;margin-top:.5rem}.btn-submit{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#6b5b95,#8b7baa);border:none;border-radius:8px;color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #6b5b954d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #6b5b9566}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:8px;padding:1rem;color:#ff3b30;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.info-box{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.info-title{color:#fff;font-weight:700;margin:0 0 1rem}.info-list{color:#ffffffb3;margin:0;padding-left:1.5rem;line-height:1.8}.info-list li{margin-bottom:.5rem}.success-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:4rem 3rem;text-align:center;box-shadow:0 20px 60px #0000004d}.success-icon{width:80px;height:80px;margin:0 auto 2rem;background:linear-gradient(135deg,#34c759,#30d158);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;animation:successPop .5s ease-out}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.success-card h1{color:#fff;font-size:2rem;font-weight:700;margin:0 0 1rem}.success-card p{color:#fffc;font-size:1.125rem;margin:0 0 1rem;line-height:1.6}.btn-primary{margin-top:2rem;padding:1rem 2rem;background:linear-gradient(135deg,#06f,#00d9ff);border:none;border-radius:8px;color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #06f6}@media (max-width: 640px){.family-join-page{padding:1rem}.family-card{padding:2rem 1.5rem}.family-header h1{font-size:1.75rem}.success-card{padding:3rem 2rem}}.family-approvals{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);padding:2rem}.approvals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px}.header-content h1{color:#fff;font-size:2rem;font-weight:800;margin:0 0 .5rem}.header-content p{color:#ffffffb3;margin:0}.pending-badge{background:linear-gradient(135deg,#6b5b95,#8b7baa);color:#fff;padding:.75rem 1.5rem;border-radius:50px;font-weight:700;font-size:1rem}.approvals-content{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;min-height:500px}.error-banner{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:12px;padding:1rem;margin-bottom:1.5rem;color:#ff3b30;display:flex;align-items:center;gap:.75rem}.error-icon{font-size:1.5rem}.loading-state{text-align:center;padding:4rem 2rem}.spinner{width:50px;height:50px;margin:0 auto 1.5rem;border:4px solid rgba(255,255,255,.1);border-top-color:#6b5b95;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:#ffffffb3;font-size:1.125rem}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;display:block;margin-bottom:1.5rem}.empty-state h3{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.empty-state p{color:#fff9;margin:0}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.request-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;transition:all .3s}.request-card:hover{background:#ffffff0d;border-color:#6b5b954d;transform:translateY(-2px)}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.requester-info{display:flex;align-items:center;gap:1rem}.requester-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#6b5b95,#8b7baa);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:700}.requester-info h3{color:#fff;font-size:1.125rem;font-weight:700;margin:0 0 .25rem}.requester-email{color:#fff9;font-size:.875rem;margin:0}.request-date{color:#ffffff80;font-size:.875rem}.patient-info{background:#0003;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.patient-label{color:#fff9;font-size:.875rem}.patient-name{color:#fff;font-weight:700}.request-message{background:#0003;border-radius:8px;padding:1rem;margin-bottom:1rem}.message-label{color:#fff9;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.message-text{color:#ffffffe6;margin:0;line-height:1.6}.request-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-approve,.btn-reject{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s}.btn-approve{background:linear-gradient(135deg,#34c759,#30d158);color:#fff}.btn-approve:hover{transform:translateY(-2px);box-shadow:0 8px 24px #34c7594d}.btn-reject{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);color:#ff3b30}.btn-reject:hover{background:#ff3b3033}@media (max-width: 768px){.family-approvals{padding:1rem}.approvals-header{flex-direction:column;gap:1rem;padding:1.5rem}.requests-grid{grid-template-columns:1fr}.request-actions{flex-direction:column}}.memory-companion{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#0a1628,#1a2744,#0f1d32);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.companion-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.header-content{display:flex;align-items:center;gap:1rem}.companion-avatar{width:56px;height:56px;background:linear-gradient(135deg,#00b4d8,#0077b6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 4px 20px #00b4d866}.header-text h1{font-size:1.4rem;font-weight:700;margin:0;background:linear-gradient(135deg,#00b4d8,#90e0ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-text p{margin:.2rem 0 0;font-size:.85rem;color:#fff9}.date-display{font-size:.95rem;color:#ffffffb3;padding:.5rem 1rem;background:#00b4d81a;border-radius:20px;border:1px solid rgba(0,180,216,.2)}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{max-width:85%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end}.message.companion{align-self:flex-start}.message-content{padding:1rem 1.25rem;border-radius:20px;position:relative}.message.user .message-content{background:linear-gradient(135deg,#0077b6,#00b4d8);border-bottom-right-radius:6px}.message.companion .message-content{background:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.15);border-bottom-left-radius:6px}.message-content p{margin:0;font-size:1.1rem;line-height:1.6}.message-photos{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.memory-photo{width:100px;height:100px;object-fit:cover;border-radius:12px;border:2px solid rgba(255,255,255,.2);cursor:pointer;transition:transform .2s ease}.memory-photo:hover{transform:scale(1.05)}.speak-button{position:absolute;bottom:-8px;right:-8px;width:32px;height:32px;border-radius:50%;background:#00b4d8cc;border:none;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.speak-button:hover{background:#00b4d8;transform:scale(1.1)}.suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.suggestion-btn{padding:.6rem 1rem;background:#00b4d826;border:1px solid rgba(0,180,216,.3);border-radius:20px;color:#90e0ef;font-size:.9rem;cursor:pointer;transition:all .2s ease}.suggestion-btn:hover{background:#00b4d84d;border-color:#00b4d880;transform:translateY(-2px)}.typing-indicator{display:flex;gap:4px;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;background:#00b4d899;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.input-area{display:flex;gap:.75rem;padding:1rem 1.5rem;background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1)}.voice-button{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;cursor:pointer;font-size:1.4rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.voice-button:hover{transform:scale(1.05);box-shadow:0 4px 20px #00b4d866}.voice-button.listening{animation:pulse 1.5s infinite;background:linear-gradient(135deg,#e63946,#ff6b6b)}@keyframes pulse{0%,to{box-shadow:0 0 #e63946b3}50%{box-shadow:0 0 0 15px #e6394600}}.message-input{flex:1;padding:.875rem 1.25rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:25px;color:#fff;font-size:1rem;outline:none;transition:all .2s ease}.message-input::placeholder{color:#ffffff80}.message-input:focus{border-color:#00b4d880;background:#ffffff26}.send-button{padding:0 1.5rem;background:linear-gradient(135deg,#00b4d8,#0077b6);border:none;border-radius:25px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #00b4d866}.send-button:disabled{opacity:.5;cursor:not-allowed}.quick-access{display:flex;gap:.75rem;padding:.75rem 1.5rem 1.5rem;background:#ffffff08;justify-content:center}.quick-access button{padding:.75rem 1.25rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:25px;color:#fff;font-size:.95rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.quick-access button:hover{background:#00b4d833;border-color:#00b4d866;transform:translateY(-2px)}@media (max-width: 600px){.companion-header{flex-direction:column;gap:1rem;text-align:center}.header-content{justify-content:center}.message{max-width:92%}.message-content p{font-size:1rem}.quick-access{flex-wrap:wrap}.quick-access button{flex:1 1 auto;min-width:120px;justify-content:center}}@media (prefers-larger-text){.message-content p{font-size:1.3rem}.suggestion-btn,.quick-access button{font-size:1.1rem;padding:1rem 1.5rem}}.diary-entry-page{min-height:100vh;background:linear-gradient(135deg,#0a1628,#1a2744,#0f1d32);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;padding:1.5rem 1.5rem 3rem}.diary-header{text-align:center;margin-bottom:2rem}.diary-header h1{font-size:1.8rem;margin:0;background:linear-gradient(135deg,#f4a261,#e9c46a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.diary-header p{margin:.5rem 0;color:#ffffffb3}.today-date{display:inline-block;padding:.5rem 1rem;background:#f4a26126;border-radius:20px;border:1px solid rgba(244,162,97,.3);font-size:.9rem;color:#f4a261;margin-top:.5rem}.mood-section{margin-bottom:1.5rem}.mood-section label{display:block;font-weight:600;margin-bottom:.75rem;color:#ffffffe6}.mood-selector{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.mood-btn{width:48px;height:48px;font-size:1.5rem;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;cursor:pointer;transition:all .2s ease}.mood-btn:hover{transform:scale(1.1);background:#ffffff1a}.mood-btn.selected{border-color:#f4a261;background:#f4a26133;transform:scale(1.1)}.diary-form{display:flex;flex-direction:column;gap:1.5rem}.diary-form label{display:block;font-weight:600;margin-bottom:.5rem;color:#ffffffe6}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.category-btn{padding:.75rem;background:#ffffff0d;border:2px solid transparent;border-radius:12px;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.category-btn:hover{background:#ffffff1a}.category-btn.selected{background:rgba(var(--cat-color),.15);border-color:var(--cat-color, #00b4d8)}.content-section textarea{width:100%;padding:1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:1rem;line-height:1.6;resize:vertical;min-height:120px}.content-section textarea::placeholder{color:#fff6}.content-section textarea:focus{outline:none;border-color:#f4a26180}.templates-list{display:flex;flex-wrap:wrap;gap:.5rem}.template-btn{padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:20px;color:#ffffffb3;font-size:.8rem;cursor:pointer;transition:all .2s ease}.template-btn:hover{background:#f4a26126;border-color:#f4a2614d;color:#f4a261}.people-section input{width:100%;padding:.875rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:1rem;margin-bottom:.75rem}.people-section input::placeholder{color:#fff6}.people-section input:focus{outline:none;border-color:#f4a26180}.quick-people{display:flex;gap:.5rem;flex-wrap:wrap}.quick-person-btn{padding:.4rem .75rem;background:#2a9d8f26;border:1px solid rgba(42,157,143,.3);border-radius:20px;color:#2a9d8f;font-size:.85rem;cursor:pointer;transition:all .2s ease}.quick-person-btn:hover{background:#2a9d8f40}.submit-btn{padding:1rem 2rem;background:linear-gradient(135deg,#f4a261,#e9c46a);border:none;border-radius:25px;color:#1a2744;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:1rem}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #f4a26166}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn.success{background:linear-gradient(135deg,#2a9d8f,#52b788)}.today-entries{margin-top:2rem;padding:1.25rem;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.today-entries h3{margin:0 0 .75rem;font-size:1rem;color:#ffffffe6}.today-entries ul{margin:0;padding:0;list-style:none}.today-entries li{padding:.5rem 0;color:#ffffffb3;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}.today-entries li:last-child{border-bottom:none}.info-box{margin-top:2rem;padding:1.25rem;background:#00b4d81a;border-radius:16px;border:1px solid rgba(0,180,216,.2)}.info-box h4{margin:0 0 .5rem;color:#00b4d8;font-size:1rem}.info-box p{margin:0;color:#ffffffb3;font-size:.9rem;line-height:1.5}@media (max-width: 480px){.category-grid{grid-template-columns:repeat(2,1fr)}.diary-header h1{font-size:1.5rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a1a2e;color:#fff;overflow-x:hidden}#root{min-height:100vh}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#1a1a2e}.spinner{width:60px;height:60px;border:4px solid #0f3460;border-top-color:#4ecdc4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{margin-top:20px;font-size:20px;color:#e0e0e0}button{font-family:inherit}button:focus-visible{outline:3px solid #4ECDC4;outline-offset:2px}@media (prefers-contrast: high){*{border-width:2px!important}}button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
