.logo{display:flex;align-items:center;gap:.5rem}.logo-image{object-fit:contain}.logo-small .logo-image{max-width:120px;height:auto}.logo-medium .logo-image{max-width:160px;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}.landing-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05)}.header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0}.logo{display:flex;align-items:center;gap:var(--space-2)}.logo-icon{font-size:var(--font-size-2xl)}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--neutral-900)}.logo-accent{color:var(--primary-600)}.nav{display:flex;gap:var(--space-8)}.nav a{color:var(--neutral-600);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.nav a:hover{color:var(--primary-600)}.hero{padding:calc(80px + var(--space-16)) 0 var(--space-16);min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}.hero-background-image{position:absolute;top:0;right:0;width:55%;height:100%;background-image:url(/surgeon-hero.png);background-size:cover;background-position:center left;z-index:0;mask-image:linear-gradient(to left,#000,#000 40%,#000c,#0000004d,#0000);-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 40%,rgba(0,0,0,.8) 60%,rgba(0,0,0,.3) 80%,rgba(0,0,0,0) 100%)}.hero-background-image:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,#ffffff1a,#fff0 50%)}.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;position:relative;z-index:1}.hero-badge{display:inline-flex;padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--accent-50) 0%,var(--accent-100) 100%);color:var(--accent-700);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-6)}.hero h1{font-size:var(--font-size-5xl);line-height:1.1;margin-bottom:var(--space-6)}.text-gradient{background:linear-gradient(135deg,var(--primary-600) 0%,var(--accent-500) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:var(--font-size-xl);color:var(--neutral-600);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8)}.hero-cta{display:flex;gap:var(--space-4);margin-bottom:var(--space-8)}.hero-trust{display:flex;gap:var(--space-4)}.trust-badge{padding:var(--space-2) var(--space-3);background:var(--neutral-100);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--neutral-600)}.chat-preview{background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),0 0 60px #1e88e526;overflow:hidden;transform:perspective(1000px) rotateY(-5deg) rotateX(5deg);transition:transform var(--transition-normal)}.chat-preview:hover{transform:perspective(1000px) rotateY(0) rotateX(0)}.chat-preview-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-800) 100%);color:#fff}.avatar-mini{width:40px;height:40px;background:#fff3;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg)}.preview-name{font-weight:var(--font-weight-semibold)}.preview-status{font-size:var(--font-size-sm);opacity:.8}.chat-preview-messages{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);min-height:200px}.preview-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);max-width:80%;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.preview-message.assistant{background:var(--primary-50);align-self:flex-start}.preview-message.user{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-700) 100%);color:#fff;align-self:flex-end}.chat-preview-input{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-top:1px solid var(--neutral-200);background:var(--neutral-50);color:var(--neutral-400);font-size:var(--font-size-sm)}.mic-icon{width:32px;height:32px;background:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.features{padding:var(--space-24) 0;background:#fff}.section-header{text-align:center;margin-bottom:var(--space-16)}.section-badge{display:inline-flex;padding:var(--space-2) var(--space-4);background:var(--primary-50);color:var(--primary-600);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-4)}.section-header h2{margin-bottom:var(--space-4)}.section-header p{color:var(--neutral-600);font-size:var(--font-size-lg)}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.feature-card{background:var(--neutral-50);padding:var(--space-8);border-radius:var(--radius-2xl);text-align:center;transition:all var(--transition-normal);border:1px solid transparent}.feature-card:hover{background:#fff;border-color:var(--primary-100);transform:translateY(-8px);box-shadow:var(--shadow-xl)}.feature-icon{font-size:3rem;margin-bottom:var(--space-4)}.feature-card h3{margin-bottom:var(--space-3)}.feature-card p{color:var(--neutral-600);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.demo-section{padding:var(--space-24) 0;background:linear-gradient(135deg,var(--primary-50) 0%,var(--accent-50) 100%)}.demo-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.demo-text h2{margin-bottom:var(--space-4)}.demo-text p{color:var(--neutral-600);margin-bottom:var(--space-6);line-height:var(--line-height-relaxed)}.demo-list{list-style:none;margin-bottom:var(--space-8)}.demo-list li{padding:var(--space-2) 0;color:var(--neutral-700)}.demo-visual{text-align:center}.demo-avatar{position:relative;display:inline-block;margin-bottom:var(--space-4)}.avatar-large{width:160px;height:160px;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-700) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:4rem;box-shadow:var(--shadow-xl),0 0 60px #1e88e54d;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.avatar-pulse{position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border:3px solid var(--primary-300);border-radius:var(--radius-full);animation:pulseRing 2s ease-out infinite}@keyframes pulseRing{0%{transform:scale(1);opacity:1}to{transform:scale(1.3);opacity:0}}.demo-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--neutral-900)}.demo-specialty{color:var(--primary-600);font-weight:var(--font-weight-medium)}.cta-section{padding:var(--space-24) 0;background:linear-gradient(135deg,var(--primary-700) 0%,var(--primary-900) 100%);color:#fff;text-align:center}.cta-content h2{color:#fff;margin-bottom:var(--space-4)}.cta-content p{opacity:.9;margin-bottom:var(--space-8);font-size:var(--font-size-lg)}.cta-buttons{display:flex;gap:var(--space-4);justify-content:center}.cta-section .btn-primary{background:#fff;color:var(--primary-700)}.cta-section .btn-secondary{background:transparent;border-color:#ffffff4d;color:#fff}.cta-section .btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.footer{background:var(--neutral-900);color:#fff;padding:var(--space-16) 0 var(--space-8)}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:var(--space-16);margin-bottom:var(--space-12)}.footer-brand p{color:var(--neutral-400);margin-top:var(--space-4)}.footer-brand .logo-text{color:#fff}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.footer-column h4{color:#fff;margin-bottom:var(--space-4);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.footer-column a{display:block;color:var(--neutral-400);padding:var(--space-2) 0;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.footer-column a:hover{color:#fff}.footer-bottom{padding-top:var(--space-8);border-top:1px solid var(--neutral-800);text-align:center}.footer-bottom p{color:var(--neutral-500);font-size:var(--font-size-sm)}@media (max-width: 1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.nav{display:none}.hero .container,.demo-content,.footer-content{grid-template-columns:1fr;text-align:center}.hero h1{font-size:var(--font-size-3xl)}.hero-cta,.hero-trust,.cta-buttons{flex-direction:column;align-items:center}.hero-visual{order:-1}.hero-background-image{display:none}.chat-preview{transform:none}.features-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr;text-align:center}}.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(--primary-500) 0%,var(--primary-700) 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-header h1{font-size:var(--font-size-lg)}}.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}}.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)}.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)}.welcome-card{display:flex;align-items:center;gap:var(--space-4)}.welcome-icon{font-size:2.5rem}.welcome-text h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--neutral-900);margin-bottom:var(--space-1)}.welcome-text p{font-size:var(--font-size-sm);color:var(--neutral-500)}.date-card{display:flex;align-items:center;gap:var(--space-4);background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-color:var(--primary-100)}.date-icon{font-size:2rem}.date-label{font-size:var(--font-size-xs);color:var(--primary-600);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.date-value{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--neutral-800);text-transform:capitalize}.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}@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)}.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}}.chatbot-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--primary-50) 0%,#ffffff 50%,var(--accent-50) 100%)}.chatbot-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);position:sticky;top:0;z-index:var(--z-sticky)}.back-link{display:flex;align-items:center;gap:var(--space-2);color:var(--neutral-600);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.back-link:hover{color:var(--primary-600)}.header-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.voice-toggle{width:40px;height:40px;border-radius:var(--radius-full);border:2px solid var(--neutral-200);background:#fff;cursor:pointer;font-size:var(--font-size-lg);transition:all var(--transition-fast)}.voice-toggle.active{border-color:var(--primary-400);background:var(--primary-50)}.chat-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.chat-container{width:100%;max-width:700px;height:calc(100vh - 180px);min-height:500px;max-height:800px;display:flex;flex-direction:column;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),0 0 60px #1e88e51a;overflow:hidden}.avatar-section{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}.avatar{width:56px;height:56px;background:#fff3;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.75rem;transition:all var(--transition-fast)}.avatar-speaking{animation:speaking .4s ease-in-out infinite;box-shadow:0 0 20px #fff6}.avatar-info h3{color:#fff;font-size:var(--font-size-lg);margin-bottom:2px}.avatar-info p{font-size:var(--font-size-sm);opacity:.85}.message{max-width:85%;padding:var(--space-4);border-radius:var(--radius-xl);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);animation:messageSlide .3s ease}.message strong{font-weight:var(--font-weight-semibold)}.message li{list-style:none;padding:var(--space-1) 0;padding-left:var(--space-4);position:relative}.message li:before{content:"•";position:absolute;left:0;color:var(--primary-500)}.message .list-item{padding:var(--space-2) 0}.typing{display:flex;gap:4px;padding:var(--space-4) var(--space-5)}.typing-dot{width:8px;height:8px;background:var(--primary-400);border-radius:var(--radius-full);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--warning-50);border-top:1px solid var(--warning-200);color:var(--warning-800);font-size:var(--font-size-sm)}.error-banner button{background:none;border:none;color:var(--warning-600);cursor:pointer;font-size:var(--font-size-lg)}.chat-input{flex:1}.voice-btn{width:48px;height:48px;min-width:48px;border-radius:var(--radius-full);background:#fff;border:2px solid var(--neutral-200);color:var(--neutral-500);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.voice-btn:hover:not(:disabled){border-color:var(--primary-400);color:var(--primary-600)}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.voice-btn.active{background:linear-gradient(135deg,var(--danger-500) 0%,var(--danger-700) 100%);border-color:var(--danger-500);color:#fff;animation:recording 1.5s ease-in-out infinite}.send-btn{width:48px;height:48px;min-width:48px;padding:0;border-radius:var(--radius-full)}.send-btn:disabled{opacity:.5}.disclaimer{padding:var(--space-3) var(--space-6);background:var(--warning-50);border-top:1px solid var(--warning-100)}.disclaimer p{max-width:700px;margin:0 auto;text-align:center;font-size:var(--font-size-sm);color:var(--warning-800)}@media (max-width: 768px){.chatbot-header{padding:var(--space-3) var(--space-4)}.chat-wrapper{padding:var(--space-3)}.chat-container{height:calc(100vh - 150px);border-radius:var(--radius-xl)}.avatar-section{padding:var(--space-3) var(--space-4)}.avatar{width:48px;height:48px;font-size:1.5rem}.chat-messages{padding:var(--space-4)}.message{max-width:90%;padding:var(--space-3);font-size:var(--font-size-sm)}.chat-input-area{padding:var(--space-3) var(--space-4)}.voice-btn,.send-btn{width:44px;height:44px;min-width:44px}}.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%}}
