.logo{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin:0 auto}.logo-image{display:block;margin:0 auto;object-fit:contain}.logo-small .logo-image{max-width:100px;height:auto}.logo-medium .logo-image{max-width:150px;height:auto}.logo-large .logo-image{max-width:200px;height:auto}.logo-text{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1a1a2e)}.logo-accent{background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-small .logo-text{font-size:1rem}.logo-large .logo-text{font-size:1.5rem}.landing{min-height:100vh;background:#fafafa}.landing-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.landing-header .container{padding:0 3rem}.header-content{display:flex;align-items:center;justify-content:space-between;height:100px}.nav{display:flex;gap:2.5rem}.nav a{color:#4a5568;font-weight:500;transition:color .3s ease;font-size:.95rem}.nav a:hover{color:#2d3748}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;cursor:pointer;text-decoration:none;font-size:.95rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.btn-warm{background:linear-gradient(135deg,#667eea,#9c41ff);color:#fff;box-shadow:0 8px 20px #9c41ff4d}.btn-warm:hover{transform:translateY(-3px);box-shadow:0 12px 30px #9c41ff73}.btn-secondary-warm{background:transparent;border:2px solid rgba(255,255,255,.9);color:#fff}.btn-secondary-warm:hover{background:#ffffff26;transform:translateY(-2px)}.btn-white{background:#fff;color:#9c41ff;box-shadow:0 4px 15px #0000001a}.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.btn-lg{padding:1rem 2rem;font-size:1.05rem}.hero{position:relative;padding:160px 0 100px;min-height:90vh;display:flex;align-items:center;overflow:hidden}.hero-video-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.hero-video{width:100%;height:100%;object-fit:cover;opacity:.4}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#4f6dffe6,#9c41ffcc);z-index:1}.hero .container{position:relative;z-index:2}.hero-content{max-width:700px;margin:0 auto;text-align:center;color:#fff}.hero-badge-warm{display:inline-flex;align-items:center;padding:.65rem 1.5rem;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;font-size:.9rem;font-weight:600;margin-bottom:2rem;color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #0000001a}.hero h1{font-size:3.5rem;font-weight:800;line-height:1.15;margin-bottom:1.5rem;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.15)}.text-gradient-warm{background:linear-gradient(135deg,#e8ecff,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle-warm{font-size:1.3rem;line-height:1.7;color:#fffffff2;margin-bottom:2.5rem;font-weight:400}.hero-subtitle-warm strong{font-weight:700;color:#fff}.hero-cta{display:flex;gap:1rem;justify-content:center;margin-bottom:2.5rem;flex-wrap:wrap}.hero-trust-warm{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.trust-badge-warm{padding:.5rem 1.25rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;font-size:.85rem;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.2)}.story-section{padding:100px 0;background:linear-gradient(180deg,#fff,#f5f7ff)}.story-content{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}.story-text{max-width:600px}.section-badge-warm{display:inline-flex;padding:.5rem 1.25rem;background:linear-gradient(135deg,#e8ecff,#f5f7ff);color:#9c41ff;border-radius:100px;font-size:.85rem;font-weight:700;margin-bottom:1.5rem}.story-text h2{font-size:2.5rem;font-weight:800;color:#2d3748;margin-bottom:1.5rem;line-height:1.2}.story-lead{font-size:1.2rem;color:#4a5568;line-height:1.7;margin-bottom:1.25rem}.story-description{font-size:1.05rem;color:#718096;line-height:1.8}.story-description strong{color:#9c41ff;font-weight:700}.story-stats{display:grid;gap:1.5rem}.stat-card{background:#fff;padding:2rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #0000000d;border:1px solid rgba(156,65,255,.1);transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #9c41ff26}.stat-number{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#667eea,#9c41ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.stat-label{font-size:.95rem;color:#718096;font-weight:500}.features{padding:100px 0;background:#fff}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;font-weight:800;color:#2d3748;margin-bottom:1rem}.section-header p{font-size:1.15rem;color:#718096}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.feature-card-warm{background:linear-gradient(135deg,#fff,#f5f7ff);padding:2.5rem;border-radius:24px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.feature-card-warm:hover{background:#fff;border-color:#9c41ff33;transform:translateY(-10px);box-shadow:0 20px 40px #9c41ff26}.feature-icon{font-size:3.5rem;margin-bottom:1.5rem}.feature-card-warm h3{font-size:1.3rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.feature-card-warm p{color:#718096;font-size:.95rem;line-height:1.7}.demo-section-warm{padding:100px 0;background:linear-gradient(135deg,#f5f7ff,#f5f7ff)}.demo-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.demo-text h2{font-size:2.5rem;font-weight:800;color:#2d3748;margin-bottom:1.5rem}.demo-text p{font-size:1.1rem;color:#4a5568;margin-bottom:2rem;line-height:1.7}.demo-list{list-style:none;margin-bottom:2.5rem}.demo-list li{padding:.75rem 0;color:#2d3748;font-size:1.05rem;font-weight:500}.testimonial-card{background:#fff;padding:2.5rem;border-radius:24px;box-shadow:0 20px 50px #00000014;border:2px solid rgba(156,65,255,.1)}.testimonial-quote{font-size:1.15rem;color:#2d3748;line-height:1.8;font-style:italic;margin-bottom:2rem}.testimonial-author{display:flex;align-items:center;gap:1rem}.author-avatar{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#9c41ff);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 20px #9c41ff4d}.author-name{font-weight:700;color:#2d3748;font-size:1.05rem}.author-role{color:#718096;font-size:.9rem}.cta-section-warm{padding:100px 0;background:linear-gradient(135deg,#667eea,#9c41ff);color:#fff;text-align:center}.cta-content h2{color:#fff;font-size:2.75rem;font-weight:800;margin-bottom:1.5rem}.cta-content p{opacity:.95;margin-bottom:2.5rem;font-size:1.2rem}.cta-buttons{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.calendly-section{padding:60px 0;background:#fff}.calendly-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #00000008;border:1px solid rgba(0,0,0,.04);margin:0 auto;max-width:900px;min-height:700px}.calendly-iframe{background:transparent}.footer{background:#2d3748;color:#fff;padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:4rem;margin-bottom:3rem}.footer-brand p{color:#a0aec0;margin-top:1rem}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{color:#fff;margin-bottom:1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.footer-column a{display:block;color:#a0aec0;padding:.5rem 0;font-size:.9rem;transition:color .3s ease}.footer-column a:hover{color:#fff}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-bottom p{color:#a0aec0;font-size:.85rem}@media (max-width: 1024px){.features-grid{grid-template-columns:repeat(2,1fr)}.story-content,.demo-content{grid-template-columns:1fr;gap:3rem;text-align:center}.story-text{max-width:100%}}@media (max-width: 768px){.nav{display:none}.hero h1{font-size:2.25rem}.hero-subtitle-warm{font-size:1.1rem}.hero-cta,.hero-trust-warm,.cta-buttons{flex-direction:column;align-items:center}.features-grid{grid-template-columns:1fr}.footer-content,.footer-links{grid-template-columns:1fr;text-align:center}.story-stats{max-width:400px;margin:0 auto}.cta-content h2{font-size:2rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.login-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--primary-50) 0%,#ffffff 30%,var(--primary-50) 60%,var(--accent-50) 100%)}.login-bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 80%,rgba(30,136,229,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(76,175,80,.08) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(30,136,229,.05) 0%,transparent 30%)}.login-container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-6);width:100%;max-width:440px}.login-logo{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.logo-icon-large{width:56px;height:56px}.logo-icon-large svg{width:100%;height:100%;filter:drop-shadow(0 4px 12px rgba(30,136,229,.3))}.logo-text-large{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--neutral-900);letter-spacing:-.02em}.logo-text-large .logo-accent{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card{width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-2xl);box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #00000014,0 20px 25px -5px #0000000d;padding:var(--space-8)}.login-header{text-align:center;margin-bottom:var(--space-6)}.login-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--neutral-900);margin-bottom:var(--space-2);line-height:1.3}.login-header p{font-size:var(--font-size-sm);color:var(--neutral-500)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--danger-50);border:1px solid var(--danger-200);border-radius:var(--radius-lg);color:var(--danger-700);font-size:var(--font-size-sm)}.login-error svg{flex-shrink:0}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--neutral-700)}.input-wrapper{position:relative;display:flex;align-items:center;gap:12px;background:var(--neutral-50);border:2px solid var(--neutral-200);border-radius:var(--radius-lg);padding:0 16px;transition:all var(--transition-fast)}.input-wrapper svg{color:var(--neutral-400);flex-shrink:0;transition:color var(--transition-fast)}.input-wrapper input{width:100%;padding:14px 0;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--neutral-800);background:transparent;border:none;outline:none}.input-wrapper:focus-within{background:#fff;border-color:var(--primary-400);box-shadow:0 0 0 4px #1e88e51a}.input-wrapper:focus-within svg{color:var(--primary-500)}.input-wrapper input::placeholder{color:var(--neutral-400)}.login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#fff;background:linear-gradient(135deg,var(--neutral-600) 0%,var(--neutral-800) 100%);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 4px 14px #1e88e559}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #1e88e573}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.forgot-password{display:block;text-align:center;font-size:var(--font-size-sm);color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}.forgot-password:hover{color:var(--primary-700);text-decoration:underline}.login-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) 0;color:var(--neutral-400);font-size:var(--font-size-sm)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--neutral-200)}.access-request-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--neutral-600);background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.access-request-btn:hover{color:var(--primary-600);border-color:var(--primary-200);background:var(--primary-50)}.access-request-info{margin-top:var(--space-4);padding:var(--space-4);background:var(--primary-50);border-radius:var(--radius-lg);text-align:center}.access-request-info p{font-size:var(--font-size-sm);color:var(--neutral-600);margin-bottom:var(--space-2)}.access-request-info a{font-weight:var(--font-weight-medium);color:var(--primary-600)}.security-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#4caf501a;border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--accent-700)}.security-badge svg{color:var(--accent-600)}.back-to-home{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--neutral-500);text-decoration:none;transition:color var(--transition-fast)}.back-to-home:hover{color:var(--primary-600)}@media (max-width: 480px){.login-container{padding:var(--space-4)}.login-card{padding:var(--space-6)}.logo-icon-large{width:48px;height:48px}.logo-text-large{font-size:var(--font-size-2xl)}.login-container{gap:var(--space-3)}.login-logo{margin-bottom:var(--space-1)}.login-header{margin-bottom:var(--space-4)}.login-header h1{font-size:var(--font-size-lg)}}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:#fff;border-radius:16px;border:2px dashed #e2e8f0;margin:24px 0}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:8px}.empty-state-message{font-size:1rem;color:#64748b;max-width:400px;margin-bottom:24px}.empty-state-action{background:#3b82f6;color:#fff;padding:10px 24px;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:background .2s}.empty-state-action:hover{background:#2563eb}.patient-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.patient-form-modal{background:#f0f0f0;border-radius:8px;width:100%;max-width:1100px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff}.form-header h2{margin:0;font-size:1.1rem;font-weight:600}.close-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.form-error{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;margin:1rem;border-radius:4px;font-size:.875rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem}.form-section{background:#fff;border:1px solid #ccc;padding:1rem}.form-section h3{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#333;padding-bottom:.5rem;border-bottom:1px solid #e5e5e5}.required-note{font-size:.75rem;color:#666;margin:-.5rem 0 .75rem}.form-row{display:flex;gap:.75rem;margin-bottom:.75rem}.form-row.two-col .form-group,.form-row.three-col .form-group{flex:1}.form-row.three-col .form-group.small{flex:0 0 80px}.form-group{flex:1}.form-group label{display:block;font-size:.75rem;color:#555;margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.4rem .5rem;border:1px solid #ccc;border-radius:3px;font-size:.8rem;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 2px #1e88e51a}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto}.form-section.correspondants,.form-section.famille{grid-column:span 2}.famille-table{width:100%;border-collapse:collapse;font-size:.8rem}.famille-table th{text-align:left;padding:.5rem;font-weight:500;color:#555;background:#f8f8f8}.famille-table td{padding:.25rem .5rem}.famille-table input,.famille-table select{width:100%;padding:.35rem .5rem;border:1px solid #ccc;border-radius:3px;font-size:.8rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#e8e8e8;border-top:1px solid #ccc}.btn-cancel{padding:.5rem 1.5rem;border:1px solid #999;background:#fff;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f5f5f5}.btn-submit{padding:.5rem 1.5rem;border:none;background:#4caf50;color:#fff;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-submit:hover{background:#43a047}.btn-submit:disabled{background:#9e9e9e;cursor:not-allowed}@media (max-width: 900px){.form-grid{grid-template-columns:1fr}.form-section.correspondants,.form-section.famille{grid-column:span 1}}.patients-container{display:flex;height:100%;background:#f5f7fa;gap:1rem}.patients-list-panel{width:320px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden}.patients-header{padding:1rem;border-bottom:1px solid #e8ecf0}.btn-add-patient{width:100%;padding:.75rem 1rem;background:#1e88e5;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-add-patient:hover{background:#1565c0}.loading-state,.empty-state{padding:2rem;text-align:center;color:#718096}.empty-state p{margin:0 0 1rem}.empty-state button{padding:.5rem 1rem;background:#e3f2fd;color:#1e88e5;border:none;border-radius:4px;cursor:pointer;font-weight:500}.empty-state button:hover{background:#bbdefb}.patients-search{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid #e8ecf0;background:#fafbfc}.patients-search svg{color:#8492a6;flex-shrink:0}.patients-search input{flex:1;border:none;background:transparent;font-size:.875rem;color:#1a1a2e;outline:none}.patients-search input::placeholder{color:#a0aec0}.patients-list{flex:1;overflow-y:auto}.patient-item{padding:1rem;border-bottom:1px solid #f0f2f5;cursor:pointer;transition:all .2s}.patient-item:hover{background:#f8fafc}.patient-item.active{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:3px solid #1E88E5}.patient-item-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.patient-name{font-weight:600;color:#1a1a2e;font-size:.9rem}.patient-age{font-size:.75rem;color:#718096}.patient-item-sub{display:flex;justify-content:space-between;font-size:.75rem;color:#a0aec0}.patient-details-panel{flex:1;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden}.patient-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff}.patient-header-left{display:flex;align-items:center;gap:1rem}.patient-initials{width:56px;height:56px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.patient-header-info h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.patient-meta{display:flex;gap:.5rem;font-size:.875rem;opacity:.9}.patient-header-right{text-align:right}.patient-dossier-number .label{display:block;font-size:.75rem;opacity:.8;margin-bottom:.25rem}.patient-dossier-number .value{font-size:1.25rem;font-weight:700}.patient-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem 1.5rem;background:#fafbfc;border-bottom:1px solid #e8ecf0}.info-section{background:#fff;padding:1rem;border-radius:8px;border:1px solid #e8ecf0}.info-section h4{margin:0 0 .5rem;font-size:.75rem;font-weight:600;color:#718096;text-transform:uppercase}.info-section p{margin:0;font-size:.875rem;color:#1a1a2e}.patient-tabs{display:flex;padding:0 1.5rem;border-bottom:2px solid #e8ecf0;background:#fff}.tab{padding:1rem 1.5rem;border:none;background:none;font-size:.8rem;font-weight:600;color:#718096;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab:hover{color:#1e88e5}.tab.active{color:#1e88e5;border-bottom-color:#1e88e5}.tab-content{flex:1;padding:1.5rem;overflow-y:auto}.diagnostic-content .diagnostic-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.diagnostic-content h4{margin:0;font-size:1rem;color:#1a1a2e}.phase-badge{background:#e3f2fd;color:#1e88e5;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.diagnostic-plan{font-size:.875rem;color:#718096;margin-bottom:1rem}.diagnostic-empty,.synthese-empty{padding:2rem;text-align:center;color:#a0aec0;background:#f8fafc;border-radius:8px;border:1px dashed #e2e8f0}.rdv-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.rdv-header h4{margin:0;font-size:1rem;color:#1a1a2e}.rdv-actions{display:flex;gap:.5rem}.btn-action{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.75rem;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s}.btn-action:hover{background:#f7fafc}.btn-action.add{background:#1e88e5;color:#fff;border-color:#1e88e5}.btn-action.add:hover{background:#1565c0}.btn-action.delete{color:#e53e3e;border-color:#feb2b2}.btn-action.delete:hover{background:#fff5f5}.rdv-table{width:100%;border-collapse:collapse;font-size:.875rem}.rdv-table th{text-align:left;padding:.75rem 1rem;background:#f8fafc;color:#718096;font-weight:600;font-size:.75rem;text-transform:uppercase;border-bottom:1px solid #e8ecf0}.rdv-table td{padding:.75rem 1rem;border-bottom:1px solid #f0f2f5;color:#1a1a2e}.rdv-table tr:hover{background:#f8fafc}.etat-badge{padding:.25rem .75rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:capitalize}.etat-planifie{background:#fef3c7;color:#d97706}.etat-confirme{background:#d1fae5;color:#059669}.etat-termine{background:#e0e7ff;color:#4f46e5}.etat-annule{background:#fee2e2;color:#dc2626}.admin-content h4{margin:0 0 1rem;font-size:1rem;color:#1a1a2e}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.admin-field{background:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e8ecf0}.admin-field label{display:block;font-size:.75rem;color:#718096;margin-bottom:.5rem}.admin-field .value{font-size:1.25rem;font-weight:600;color:#1a1a2e}.synthese-content h4{margin:0 0 1rem;font-size:1rem;color:#1a1a2e}.planning-container{display:flex;flex-direction:column;height:100%;background:#f6f7fb}.planning-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e6e9ef}.planning-title h2{margin:0;font-size:1.25rem;color:#323338;font-weight:600}.planning-subtitle{font-size:.8rem;color:#676879;margin-left:1rem}.planning-actions{display:flex;align-items:center;gap:1rem}.btn-add-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#0073ea;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-add-item:hover{background:#0060b9}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f6f7fb;border:1px solid #e6e9ef;border-radius:4px}.search-box svg{color:#676879}.search-box input{border:none;background:none;font-size:.875rem;color:#323338;outline:none;width:150px}.planning-tabs{display:flex;padding:0 1.5rem;background:#fff;border-bottom:1px solid #e6e9ef}.planning-tab{padding:.75rem 1.5rem;border:none;background:none;font-size:.875rem;font-weight:500;color:#676879;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.planning-tab:hover{color:#323338}.planning-tab.active{color:#0073ea;border-bottom-color:#0073ea}.planning-table-wrapper{flex:1;overflow:auto;padding:1rem 1.5rem}.planning-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.planning-table th{text-align:left;padding:.75rem 1rem;background:#f6f7fb;color:#676879;font-size:.75rem;font-weight:600;text-transform:uppercase;border-bottom:1px solid #e6e9ef;white-space:nowrap}.planning-table td{padding:.5rem 1rem;border-bottom:1px solid #e6e9ef;font-size:.875rem;color:#323338}.planning-table tr:hover{background:#f6f7fb}.col-patient{min-width:160px}.col-travail{min-width:120px}.col-etape{min-width:130px}.col-commentaires{min-width:100px}.col-prochaines{min-width:90px}.col-bib{min-width:100px}.col-facture{min-width:70px;text-align:center}.col-echeance{min-width:100px}.col-praticien{min-width:80px}.col-imprime{min-width:70px;text-align:center}.patient-name{font-weight:500;color:#323338}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:3px;font-size:.75rem;font-weight:500;white-space:nowrap}.date-badge{display:inline-block;padding:.25rem .5rem;background:#cce5ff;color:#0056b3;border-radius:3px;font-size:.75rem;font-weight:500}.bib-badge{display:inline-block;padding:.25rem .5rem;border-radius:3px;font-size:.7rem;font-weight:600}.bib-badge.bambilab{background:#ff9f43;color:#fff}.bib-badge.elegoo-j{background:#0abf53;color:#fff}.facture-badge,.imprime-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:.75rem;font-weight:600}.facture-badge.oui,.imprime-badge.oui{background:#00c875;color:#fff}.facture-badge.non,.imprime-badge.non{background:#e6e9ef;color:#676879}@media (max-width: 1200px){.planning-table{font-size:.8rem}.planning-table th,.planning-table td{padding:.5rem .75rem}}.calls-page{padding:24px;height:100%;display:flex;flex-direction:column;color:#444}.calls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calls-header h2{font-size:1.5rem;font-weight:600;color:#1a237e}.calls-actions{display:flex;align-items:center;gap:16px}.mute-btn{background:#fff;border:1px solid #e0e0e0;padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666}.search-box{display:flex;align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:4px 12px;width:280px}.search-box input{border:none;padding:8px;width:100%;font-size:.9rem;outline:none}.calls-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.calls-table{width:100%;border-collapse:collapse;text-align:left}.calls-table th{background:#f8f9fa;padding:12px 16px;font-size:.75rem;font-weight:700;color:#888;text-transform:uppercase;border-bottom:1px solid #eee}.calls-table td{padding:16px;border-bottom:1px solid #f0f0f0;font-size:.9rem}.date-cell{display:flex;flex-direction:column}.date-cell .time{font-weight:600;color:#333}.date-cell .date{font-size:.8rem;color:#888}.patient-cell{display:flex;flex-direction:column}.patient-avatar-mini{display:flex;align-items:center;gap:8px;font-weight:600}.patient-cell .phone{font-size:.8rem;color:#666;margin-top:4px}.badge-classification{padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:600}.cls-annul{background:#fee2e2;color:#dc2626}.cls-autre{background:#dcfce7;color:#16a34a}.cls-rappeler{background:#fef9c3;color:#ca8a04}.cls-rdv{background:#ffedd5;color:#ea580c}.icon-group{display:flex;gap:8px;color:#3b82f6;font-size:1.1rem}.toggle-switch{position:relative;width:40px;height:20px}.toggle-switch input{display:none}.toggle-switch label{position:absolute;top:0;left:0;right:0;bottom:0;background:#e0e0e0;border-radius:20px;cursor:pointer;transition:.3s}.toggle-switch label:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+label{background:#3b82f6}.toggle-switch input:checked+label:before{transform:translate(20px)}.voir-btn{background:#3b82f6;color:#fff;border:none;padding:6px 16px;border-radius:6px;font-weight:600;cursor:pointer;transition:.2s}.voir-btn:hover{background:#2563eb}.call-detail-view{padding:24px;height:100%;display:flex;flex-direction:column;gap:24px}.detail-header{display:flex;align-items:flex-start;gap:24px}.back-btn{background:none;border:1px solid #ddd;padding:8px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#666;font-weight:500}.call-info-main h2{margin:0;font-size:1.4rem;color:#333}.call-info-main h3{margin:4px 0 0;font-size:1.1rem;color:#666;font-weight:500}.detail-content-grid{display:grid;grid-template-columns:300px 1fr 400px;gap:24px;flex:1;min-height:0}.detail-left-panel,.detail-center-panel,.detail-right-panel{display:flex;flex-direction:column;gap:24px}.info-extracted,.patient-file-link,.summary-box,.activity-section,.transcript-container{background:#fff;border-radius:12px;padding:20px;border:1px solid #f0f0f0;box-shadow:0 2px 8px #00000005}.info-extracted h4,.patient-file-link h4,.activity-section h4{margin:0 0 16px;font-size:.9rem;color:#3b82f6;text-transform:uppercase;letter-spacing:.5px}.info-item{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.info-item label{font-size:.8rem;color:#888}.info-item span{font-weight:500}.highlight-date{color:#3b82f6;background:#eff6ff;padding:2px 6px;border-radius:4px}.empty-file-box{padding:20px;background:#f8f9fa;border:1px dashed #ddd;border-radius:8px;text-align:center;color:#888;font-size:.85rem}.summary-box{background:#fffdf0;border-color:#fef08a;line-height:1.6}.summary-box p{margin:0 0 12px}.summary-box p:last-child{margin:0}.activity-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.activity-buttons button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#fff;border:1px solid #3b82f6;color:#3b82f6;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:.2s}.activity-buttons button:hover{background:#eff6ff}.note-input textarea{width:100%;height:100px;border:1px solid #eee;border-radius:8px;padding:12px;font-family:inherit;resize:none;margin-bottom:12px}.add-note-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer}.transcript-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:#fcfcfc}.msg{max-width:85%;padding:12px 16px;border-radius:12px;font-size:.9rem;line-height:1.5}.msg.ai{background:#fff;border:1px solid #eee;align-self:flex-start}.msg.user{background:#eff6ff;color:#1e40af;align-self:flex-end}.followups-page{padding:24px}.followups-header h2{font-size:1.5rem;color:#1a237e;margin-bottom:24px}.followups-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.followup-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:16px;border:1px solid #f0f0f0}.fu-info h4{margin:0;color:#333;font-size:1.1rem}.fu-info p{margin:4px 0;color:#666;font-size:.9rem}.fu-info span{font-size:.8rem;color:#999}.fu-status{align-self:flex-start;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.fu-status.a-faire{background:#fee2e2;color:#dc2626}.fu-status.en-cours{background:#fef9c3;color:#ca8a04}.fu-status.relancé{background:#dcfce7;color:#16a34a}.fu-action{background:#3b82f6;color:#fff;border:none;padding:10px;border-radius:8px;font-weight:600;cursor:pointer}.dashboard-page{display:flex;min-height:100vh;background:linear-gradient(135deg,var(--neutral-50) 0%,var(--primary-50) 100%)}.dashboard-sidebar{width:280px;min-width:280px;background:#fff;border-right:1px solid var(--neutral-200);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;transition:transform var(--transition-normal)}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--neutral-100);display:flex;justify-content:center;align-items:center;width:100%}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3)}.logo-icon-sidebar{width:40px;height:40px}.logo-icon-sidebar svg{width:100%;height:100%;filter:drop-shadow(0 2px 8px rgba(30,136,229,.25))}.sidebar-logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--neutral-900)}.sidebar-logo-text .logo-accent{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--neutral-600);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%}.nav-item:hover{background:var(--neutral-100);color:var(--neutral-800)}.nav-item.active{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));color:var(--primary-700)}.nav-item.active svg{color:var(--primary-600)}.sidebar-practitioner{padding:var(--space-4);margin:var(--space-4);background:linear-gradient(135deg,var(--primary-50),var(--accent-50));border-radius:var(--radius-xl);border:1px solid var(--primary-100);position:relative}.practitioner-avatar{width:64px;height:64px;border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-3);border:3px solid white;box-shadow:0 2px 8px #0000001a}.practitioner-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.practitioner-info h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--neutral-900);margin-bottom:var(--space-1)}.practitioner-rpps{font-size:var(--font-size-xs);color:var(--neutral-500);font-family:monospace;margin-bottom:var(--space-2)}.practitioner-profession{font-size:var(--font-size-sm);color:var(--primary-700);font-weight:var(--font-weight-medium)}.practitioner-specialty{font-size:var(--font-size-xs);color:var(--accent-700);background:var(--accent-100);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);display:inline-block;margin-top:var(--space-2)}.logout-btn{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-500);cursor:pointer;transition:all var(--transition-fast)}.logout-btn:hover{color:var(--danger-600);border-color:var(--danger-200);background:var(--danger-50)}.dashboard-main{flex:1;margin-left:280px;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-search{position:sticky;top:0;z-index:50;padding:var(--space-4) 0;background:transparent}.search-wrapper{display:flex;align-items:center;background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.search-wrapper:focus-within{border-color:var(--primary-400);box-shadow:var(--shadow-md),0 0 0 4px #1e88e51a}.search-wrapper svg{color:var(--neutral-400);flex-shrink:0;margin-right:var(--space-3)}.search-wrapper input{flex:1;border:none;outline:none;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--neutral-800);background:transparent}.search-wrapper input::placeholder{color:var(--neutral-400)}.dashboard-content{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-cards-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.dashboard-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-100);transition:all var(--transition-normal)}.dashboard-card:hover{box-shadow:var(--shadow-md)}.dashboard-top-row{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch}@media (max-width: 1200px){.dashboard-top-row{grid-template-columns:1fr}}.welcome-banner-container{width:100%;border-radius:24px;overflow:hidden;box-shadow:0 10px 25px -5px #0000000d;display:flex}.empty-state-card-wrapper{background:#fff;border-radius:24px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 25px -5px #0000000d;border:1px solid var(--neutral-100);min-height:360px}.empty-state-card-wrapper .empty-state{padding:0;max-width:100%}.welcome-banner{position:relative;width:100%;min-height:360px;height:100%;display:flex;align-items:center;padding:30px 60px;color:#fff;font-family:Aeonik,Inter,-apple-system,sans-serif;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--banner-bg);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;animation:zoom-bg 6s ease-in-out infinite alternate;pointer-events:none}@keyframes zoom-bg{0%{transform:scale(1)}to{transform:scale(1.15)}}.banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.05) 50%,transparent 100%);pointer-events:none}.banner-content{position:relative;z-index:1;width:100%}.banner-text-side{max-width:500px;display:flex;flex-direction:column;gap:30px}.banner-greeting{font-size:1.4rem;font-weight:300;margin:0;letter-spacing:.02em;color:#fff;opacity:.95}.banner-logo-wrapper{height:180px;width:fit-content;margin-left:-5px;display:block;transition:transform .3s ease}.banner-logo-wrapper:hover{transform:scale(1.02)}.banner-casper-logo{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 0 15px rgba(255,255,255,.4)) drop-shadow(0 0 30px rgba(255,255,255,.2));transition:all .4s cubic-bezier(.4,0,.2,1);animation:slow-pulse 4s ease-in-out infinite}.banner-logo-wrapper:hover .banner-casper-logo{filter:drop-shadow(0 0 20px rgba(255,255,255,.7)) drop-shadow(0 0 40px rgba(255,255,255,.4));transform:scale(1.05)}@keyframes slow-pulse{0%,to{opacity:.95;filter:drop-shadow(0 0 15px rgba(255,255,255,.4))}50%{opacity:1;filter:drop-shadow(0 0 25px rgba(255,255,255,.6))}}.banner-subtext{font-size:1.15rem;line-height:1.4;font-weight:400;color:#fff;opacity:.9}.banner-subtext p{margin:0}.banner-date-section{display:flex;flex-direction:column;gap:4px}.date-caption{font-size:.85rem;opacity:.8;margin:0;font-weight:400;text-transform:none}.date-display{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:.01em}@media (max-width: 1200px){.welcome-banner{height:480px;padding:40px 60px}.banner-greeting{font-size:1.5rem}.banner-subtext{font-size:1.2rem}.date-display{font-size:1.4rem}}@media (max-width: 768px){.welcome-banner{height:auto;min-height:400px;padding:40px 20px;background-position:65% center}.banner-text-side{max-width:100%;gap:30px}.banner-overlay{background:linear-gradient(90deg,#0006,#0003)}.date-display{font-size:1.75rem}}.appointments-card{padding:var(--space-6)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-header h3{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--neutral-900)}.card-header h3 svg{color:var(--primary-500)}.see-all-btn{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--primary-600);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.see-all-btn:hover{color:var(--primary-700);text-decoration:underline}.appointments-list{display:flex;flex-direction:column;gap:var(--space-3)}.appointment-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--neutral-50);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.appointment-item:hover{background:var(--primary-50)}.appointment-time{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--primary-600);background:var(--primary-100);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);min-width:60px;text-align:center}.appointment-details{flex:1;display:flex;flex-direction:column;gap:2px}.patient-name{font-weight:var(--font-weight-medium);color:var(--neutral-800)}.appointment-type{font-size:var(--font-size-sm);color:var(--neutral-500)}.appointment-action{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-400);cursor:pointer;transition:all var(--transition-fast)}.appointment-action:hover{color:var(--primary-600);border-color:var(--primary-200)}.ai-card{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-800) 100%);border:none;color:#fff}.ai-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.ai-icon{width:56px;height:56px;background:#fff3;border-radius:var(--radius-xl);padding:var(--space-2)}.ai-icon svg{width:100%;height:100%}.ai-title h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;letter-spacing:.05em;margin-bottom:var(--space-1)}.ai-title p{font-size:var(--font-size-sm);color:#fffc}.ai-input-area{display:flex;gap:var(--space-3)}.ai-input-wrapper{flex:1;display:flex;align-items:center;background:#ffffff26;border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.ai-input-wrapper:focus-within{background:#fff3;border-color:#fff6}.ai-input-wrapper input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-family);font-size:var(--font-size-base);color:#fff;padding:var(--space-2)}.ai-input-wrapper input::placeholder{color:#fff9}.ai-input-actions{display:flex;gap:var(--space-2)}.ai-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fffc;cursor:pointer;transition:all var(--transition-fast)}.ai-action-btn:hover{background:#fff3;color:#fff}.ai-submit-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:var(--radius-lg);color:var(--primary-600);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px #00000026}.ai-submit-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px #0003}.ai-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ai-messages-container{height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);background:#0000001a;border-radius:var(--radius-lg);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.ai-messages-container::-webkit-scrollbar{width:6px}.ai-messages-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:6px}.message-item{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.5;position:relative;animation:fadeIn var(--transition-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-assistant{align-self:flex-start;background:#ffffff1a;color:#fff;border-bottom-left-radius:4px}.message-user{align-self:flex-end;background:#fff;color:var(--primary-700);border-bottom-right-radius:4px;box-shadow:0 2px 8px #0000001a}.voice-btn-ai.listening{background:var(--danger-500);color:#fff;border-color:var(--danger-400);animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}@media (max-width: 1024px){.dashboard-cards-row{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-sidebar{transform:translate(-100%);width:260px;min-width:260px}.dashboard-sidebar.open{transform:translate(0)}.dashboard-main{margin-left:0;padding:var(--space-4)}.practitioner-avatar{width:48px;height:48px}.avatar-placeholder{font-size:var(--font-size-xl)}.ai-input-area{flex-direction:column}.ai-submit-btn{width:100%}}@media (max-width: 480px){.search-wrapper input::placeholder{font-size:var(--font-size-sm)}.welcome-card,.date-card{flex-direction:column;text-align:center}}.stats-view{display:flex;flex-direction:column;gap:24px}.stats-header{display:flex;justify-content:space-between;align-items:center}.stats-header h2{font-size:1.8rem;font-weight:700;color:#1e293b}.stats-filters select{padding:8px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-weight:500;color:#64748b}.stats-grid{display:grid;grid-template-columns:1fr 340px;gap:24px}.stats-main-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #f1f5f9;box-shadow:0 4px 6px -1px #0000000d}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.card-top h3{font-size:1.1rem;font-weight:600;color:#334155;margin:0}.legend{display:flex;gap:16px;font-size:.8rem;color:#64748b}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.dot.hours-in{background:#3b82f6}.dot.hours-off{background:#94a3b8}.dot.duration{background:#e2e8f0}.mock-chart{height:250px;display:flex;align-items:flex-end;gap:20px;padding:0 10px}.chart-bar{flex:1;background:linear-gradient(180deg,#3b82f6,#60a5fa);border-radius:4px 4px 0 0;min-width:30px}.stats-side-panel{display:flex;flex-direction:column;gap:24px}.forfait-card,.classifications-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #f1f5f9;box-shadow:0 4px 6px -1px #0000000d}.forfait-card h4,.classifications-card h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:#334155}.forfait-period{font-size:.8rem;color:#94a3b8;margin-bottom:24px}.forfait-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;text-align:center}.metric{display:flex;flex-direction:column;gap:4px}.metric .label{font-size:.7rem;font-weight:700;color:#94a3b8}.metric .value{font-size:1.1rem;font-weight:700;color:#334155}.metric .value.used{color:#3b82f6}.pie-chart-placeholder{width:150px;height:150px;background:#f1f5f9;border-radius:50%;margin:20px auto 0;position:relative;overflow:hidden}.pie-slice{position:absolute;width:100%;height:100%;clip-path:polygon(50% 50%,50% 0,100% 0,100% 100%,0 100%,0 0,50% 0)}.pie-center{position:absolute;width:60px;height:60px;background:#fff;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.ai-view{display:flex;flex-direction:column;height:100%;max-width:900px;margin:0 auto;width:100%}.expert-assistant-header{margin-bottom:2rem;text-align:center}.expert-title{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.expert-subtitle{font-size:.95rem;color:#64748b}.assistant-messages-wrapper{flex:1;overflow-y:auto;margin-bottom:2rem;padding-right:.5rem}.assistant-messages-wrapper::-webkit-scrollbar{width:6px}.assistant-messages-wrapper::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:6px}.dashboard-expert-input{background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:2rem;padding:1.5rem;box-shadow:0 20px 40px #0000000d;border:1px solid rgba(255,255,255,.5);margin-bottom:1rem}.expert-avatar-icon{width:44px;height:44px;border-radius:50%;overflow:hidden;margin-right:1rem;flex-shrink:0;background:#f1f5f9}.expert-input-wrapper input{flex:1;border:none;outline:none;font-size:1.125rem;color:#1e293b;padding:.5rem 0;background:transparent}.expert-send-btn{width:36px;height:36px;border-radius:.75rem;background:transparent;border:1.5px solid #4f46e5;color:#4f46e5;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.expert-send-btn:hover{background:#4f46e5;color:#fff}.input-lower{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}.specialty-selector{display:flex;align-items:center;background:#fff;padding:.5rem 1rem;border-radius:.75rem;box-shadow:0 2px 8px #0000000d;gap:.5rem;border:1px solid #f1f5f9}.specialty-selector select{border:none;outline:none;background:transparent;font-size:.9rem;color:#4f46e5;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.expert-mic-btn{color:#4f46e5;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.expert-mic-btn.active{color:#ef4444;animation:expertPulse 1.5s infinite}@keyframes expertPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.expert-plus-btn{font-size:1.5rem;color:#4f46e5;background:none;border:none;cursor:pointer}.chatbot-page{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc;font-family:Inter,system-ui,-apple-system,sans-serif}.chatbot-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:transparent;z-index:10}.back-link{color:#64748b;display:flex;align-items:center;transition:color .2s}.back-link:hover{color:#4f46e5}.expert-title{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.blue-gradient-text{background:linear-gradient(90deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.medical-text{color:#94a3b8}.flow-text{color:#7c3aed}.header-actions{display:flex;align-items:center;gap:1rem}.voice-toggle{background:#fff;border:1px solid #e2e8f0;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000d}.close-btn{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer}.chat-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;padding:1rem 2rem;max-width:900px;margin:0 auto;width:100%}.chat-container{width:100%;display:flex;flex-direction:column;height:calc(100vh - 250px)}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.message{padding:1rem 1.25rem;border-radius:1.5rem;max-width:80%;line-height:1.5;font-size:1rem}.message-assistant{align-self:flex-start;background:#fff;color:#1e293b;box-shadow:0 4px 6px -1px #0000000d;border-bottom-left-radius:.25rem}.message-user{align-self:flex-end;background:#4f46e5;color:#fff;border-bottom-right-radius:.25rem}.expert-input-container{width:100%;background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:2rem;padding:1.5rem;box-shadow:0 20px 40px #0000000d;border:1px solid rgba(255,255,255,.5);margin-bottom:2rem}.input-upper{margin-bottom:1.5rem}.expert-input-wrapper{position:relative;display:flex;align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:1.25rem;padding:.5rem .5rem .5rem 1rem;transition:border-color .2s,box-shadow .2s}.expert-input-wrapper:focus-within{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a}.expert-avatar-icon{width:48px;height:48px;border-radius:50%;overflow:hidden;margin-right:1rem;flex-shrink:0;background:#f1f5f9}.expert-avatar-icon img{width:100%;height:100%;object-fit:cover}.expert-input-wrapper input{flex:1;border:none;outline:none;font-size:1.125rem;color:#1e293b;padding:.5rem 0}.expert-input-wrapper input::placeholder{color:#94a3b8}.expert-send-btn{width:40px;height:40px;border-radius:.75rem;background:transparent;border:1.5px solid #4f46e5;color:#4f46e5;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;margin-left:.5rem}.expert-send-btn:hover:not(:disabled){background:#4f46e5;color:#fff}.expert-send-btn:disabled{opacity:.3;cursor:not-allowed;border-color:#cbd5e1;color:#cbd5e1}.input-lower{display:flex;align-items:center;justify-content:space-between}.expert-plus-btn{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:#4f46e5;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.specialty-selector{display:flex;align-items:center;background:#fff;padding:.6rem 1.25rem;border-radius:1rem;box-shadow:0 4px 12px #0000000d;gap:.5rem;border:1px solid #f1f5f9}.specialty-icon{font-size:1.25rem}.specialty-selector select{border:none;outline:none;background:transparent;font-size:1rem;color:#4f46e5;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:.5rem}.expert-mic-btn{width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:#4f46e5;display:flex;align-items:center;justify-content:center;cursor:pointer}.expert-mic-btn.active{color:#ef4444;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.typing{padding:.5rem 1rem;display:flex;gap:4px}.typing-dot{width:6px;height:6px;background:#cbd5e1;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.disclaimer{padding:1rem;text-align:center;font-size:.875rem;color:#94a3b8}@media (max-width: 640px){.chatbot-header{padding:1rem}.expert-title{font-size:1.125rem}.chat-wrapper{padding:.5rem 1rem}.expert-input-container{padding:1rem;border-radius:1.5rem}.expert-avatar-icon{width:36px;height:36px}.expert-input-wrapper input{font-size:1rem}}.summary-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--accent-50) 0%,#ffffff 50%,var(--primary-50) 100%)}.summary-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:#fff;border-bottom:1px solid var(--neutral-200)}.summary-wrapper{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-8)}.summary-container{width:100%;max-width:600px}.success-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6);background:linear-gradient(135deg,var(--accent-500) 0%,var(--accent-700) 100%);color:#fff;border-radius:var(--radius-2xl);margin-bottom:var(--space-6);box-shadow:var(--shadow-lg),0 4px 20px #4caf504d}.success-icon{font-size:2.5rem}.success-text h2{color:#fff;font-size:var(--font-size-2xl);margin-bottom:var(--space-1)}.success-text p{opacity:.9}.summary-card{background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden}.card-header{padding:var(--space-5) var(--space-6);background:var(--neutral-50);border-bottom:1px solid var(--neutral-200)}.card-header h3{font-size:var(--font-size-lg);color:var(--neutral-800)}.card-content{padding:var(--space-6)}.info-section{margin-bottom:var(--space-6)}.info-section:last-child{margin-bottom:0}.info-section h4{font-size:var(--font-size-base);color:var(--neutral-700);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--neutral-100)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-label{font-size:var(--font-size-sm);color:var(--neutral-500);font-weight:var(--font-weight-medium)}.info-value{font-size:var(--font-size-base);color:var(--neutral-800);font-weight:var(--font-weight-medium)}.info-value.highlight{color:var(--primary-600);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.badge{display:inline-flex;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.badge-new{background:var(--accent-100);color:var(--accent-700)}.badge-existing{background:var(--primary-100);color:var(--primary-700)}.motif-box{background:linear-gradient(135deg,var(--primary-50) 0%,var(--primary-100) 100%);padding:var(--space-4);border-radius:var(--radius-lg);border-left:4px solid var(--primary-500)}.motif-box p{color:var(--primary-800);font-weight:var(--font-weight-medium)}.conversation-summary{display:flex;flex-direction:column;gap:var(--space-3)}.summary-message{padding:var(--space-3);background:var(--neutral-50);border-radius:var(--radius-md)}.message-label{display:block;font-size:var(--font-size-sm);color:var(--neutral-500);margin-bottom:var(--space-1)}.message-content{font-style:italic;color:var(--neutral-700)}.card-actions{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--neutral-50);border-top:1px solid var(--neutral-200)}.card-actions .btn{flex:1;justify-content:center}.notice{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--primary-50);border-radius:var(--radius-xl);margin-top:var(--space-6)}.notice-icon{font-size:var(--font-size-xl)}.notice-content strong{display:block;margin-bottom:var(--space-1);color:var(--primary-700)}.notice-content p{font-size:var(--font-size-sm);color:var(--neutral-600);line-height:var(--line-height-relaxed)}.print-only{display:none}@media print{.summary-header,.card-actions,.notice{display:none!important}.summary-page{background:#fff!important}.summary-wrapper{padding:0!important}.summary-card{box-shadow:none!important;border:1px solid var(--neutral-300)}.print-only{display:block;text-align:center;padding:var(--space-6);border-bottom:2px solid var(--neutral-300);margin-bottom:var(--space-4)}.print-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}}@media (max-width: 768px){.summary-wrapper{padding:var(--space-4)}.success-banner{flex-direction:column;text-align:center;padding:var(--space-5)}.info-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}}:root{--primary-50: #E3F2FD;--primary-100: #BBDEFB;--primary-200: #90CAF9;--primary-300: #64B5F6;--primary-400: #42A5F5;--primary-500: #1E88E5;--primary-600: #1976D2;--primary-700: #1565C0;--primary-800: #0D47A1;--primary-900: #0A3A7D;--accent-50: #E8F5E9;--accent-100: #C8E6C9;--accent-200: #A5D6A7;--accent-300: #81C784;--accent-400: #66BB6A;--accent-500: #4CAF50;--accent-600: #43A047;--accent-700: #388E3C;--accent-800: #2E7D32;--accent-900: #1B5E20;--warning-50: #FFF3E0;--warning-100: #FFE0B2;--warning-200: #FFCC80;--warning-300: #FFB74D;--warning-400: #FFA726;--warning-500: #FF9800;--warning-600: #FB8C00;--warning-700: #F57C00;--warning-800: #EF6C00;--warning-900: #E65100;--danger-50: #FFEBEE;--danger-100: #FFCDD2;--danger-200: #EF9A9A;--danger-300: #E57373;--danger-400: #EF5350;--danger-500: #F44336;--danger-600: #E53935;--danger-700: #D32F2F;--danger-800: #C62828;--danger-900: #B71C1C;--neutral-50: #FAFAFA;--neutral-100: #F5F5F5;--neutral-200: #EEEEEE;--neutral-300: #E0E0E0;--neutral-400: #BDBDBD;--neutral-500: #9E9E9E;--neutral-600: #757575;--neutral-700: #616161;--neutral-800: #424242;--neutral-900: #212121;--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: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(30, 136, 229, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-tooltip: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--neutral-800);background:linear-gradient(135deg,var(--primary-50) 0%,#ffffff 50%,var(--accent-50) 100%);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--neutral-900)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-700) 100%);color:#fff;box-shadow:var(--shadow-md),0 4px 14px #1e88e559}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 20px #1e88e573}.btn-secondary{background:#fff;color:var(--primary-600);border:2px solid var(--primary-200)}.btn-secondary:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-400)}.btn-accent{background:linear-gradient(135deg,var(--accent-500) 0%,var(--accent-700) 100%);color:#fff;box-shadow:var(--shadow-md),0 4px 14px #4caf5059}.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 20px #4caf5073}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-icon{width:48px;height:48px;padding:0;border-radius:var(--radius-full)}.card{background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-6);transition:all var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--neutral-800);background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-lg);outline:none;transition:all var(--transition-fast)}.input:focus{border-color:var(--primary-400);box-shadow:0 0 0 4px #1e88e526}.input::placeholder{color:var(--neutral-400)}.chat-container{display:flex;flex-direction:column;height:100%;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl)}.chat-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-800) 100%);color:#fff}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.message{max-width:80%;padding:var(--space-4);border-radius:var(--radius-xl);animation:messageSlide .3s ease}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-assistant{align-self:flex-start;background:linear-gradient(135deg,var(--primary-50) 0%,var(--primary-100) 100%);border-bottom-left-radius:var(--radius-sm)}.message-user{align-self:flex-end;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-700) 100%);color:#fff;border-bottom-right-radius:var(--radius-sm)}.chat-input-area{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--neutral-50);border-top:1px solid var(--neutral-200)}.avatar{width:60px;height:60px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-400) 0%,var(--primary-600) 100%);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);color:#fff;box-shadow:var(--shadow-md);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.avatar-speaking{animation:speaking .5s ease-in-out infinite}@keyframes speaking{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.voice-btn{width:48px;height:48px;border-radius:var(--radius-full);background:#fff;border:2px solid var(--neutral-200);color:var(--neutral-600);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.voice-btn:hover{border-color:var(--primary-400);color:var(--primary-600)}.voice-btn.active{background:linear-gradient(135deg,var(--danger-500) 0%,var(--danger-700) 100%);border-color:var(--danger-500);color:#fff;animation:recording 1s ease-in-out infinite}@keyframes recording{0%,to{box-shadow:0 0 #f4433666}50%{box-shadow:0 0 0 10px #f4433600}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-center{text-align:center}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-primary{color:var(--primary-600)}.text-accent{color:var(--accent-600)}.text-muted{color:var(--neutral-500)}.bg-white{background:#fff}.bg-primary{background:var(--primary-500)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.w-full{width:100%}.h-full{height:100%}@media (max-width: 768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.container{padding:0 var(--space-4)}.message{max-width:90%}}
