*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}:root{--primary: #1e3a8a;--primary-dark: #1e40af;--primary-light: #3b82f6;--danger: #b91c1c;--danger-dark: #991b1b;--success: #15803d;--success-light: #22c55e;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--comune-blue: #003d7a;--comune-red: #ce2b37;--comune-green: #009246}.app{min-height:100vh;background:linear-gradient(135deg,#1e3a8a,#003d7a,#1e40af);padding:2rem 1rem}.container{max-width:900px;margin:0 auto}.header{margin-bottom:2rem;position:relative}.tricolore-bar{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--comune-green) 0%,var(--comune-green) 33.33%,white 33.33%,white 66.66%,var(--comune-red) 66.66%,var(--comune-red) 100%);border-radius:4px;margin-bottom:.5rem;box-shadow:0 2px 4px #0000001a}.logo{display:flex;align-items:center;gap:1rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1);padding-top:1rem}.logo h1{font-size:1.75rem;font-weight:700;margin:0}.logo p{font-size:.875rem;opacity:.9;margin:0}.card{background:#fff;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a;overflow:hidden;margin-bottom:1.5rem;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-header{padding:2rem 2rem 1rem;border-bottom:1px solid var(--gray-100)}.card-header h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem}.card-header p{color:var(--gray-600);font-size:.95rem;margin:0}.card-body{padding:2rem}.status-container{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--gray-50);border-radius:.75rem;margin-bottom:2rem;border:2px solid var(--gray-200);transition:all .3s ease}.status-container.active{background:#dbeafe;border-color:var(--primary)}.status-container.calling{background:#dcfce7;border-color:var(--success)}.status-indicator{position:relative;width:60px;height:60px;background:var(--gray-300);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.status-indicator.active{background:var(--primary)}.status-indicator.calling{background:var(--success)}.pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:inherit;opacity:0}.status-indicator.calling .pulse{animation:pulse 2s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}.status-text h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.status-text p{color:var(--gray-600);font-size:.9rem;margin:0}.controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.btn{flex:1;min-width:200px;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;font-family:inherit}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dark)}.transcript-container{margin-bottom:2rem}.transcript-container h4{font-size:1.1rem;font-weight:600;color:var(--gray-900);margin:0 0 1rem}.transcript{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:.75rem;padding:1.5rem;max-height:300px;overflow-y:auto;font-size:.95rem;line-height:1.8}.transcript-empty{color:var(--gray-600);font-style:italic;text-align:center;margin:2rem 0}.transcript-message{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.transcript-message:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.transcript-role{font-weight:600;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.transcript-role.user{color:var(--primary)}.transcript-role.assistant{color:var(--success)}.transcript-role:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.transcript-text{color:var(--gray-700);padding-left:1.25rem}.info-section{background:#eff6ff;border:2px solid #bfdbfe;border-radius:.75rem;padding:1.5rem}.info-section h4{font-size:1.1rem;font-weight:600;color:var(--primary);margin:0 0 1rem}.info-section ul{list-style:none;padding:0;margin:0}.info-section li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--gray-700)}.info-section li:before{content:"→";position:absolute;left:0;color:var(--primary);font-weight:700}.tech-card{background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 100%);color:#fff}.tech-card h3{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.tech-info{display:grid;gap:1rem}.tech-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffffff0d;border-radius:.5rem;border:1px solid rgba(255,255,255,.1)}.tech-label{font-weight:500;opacity:.8}.tech-value{font-weight:600;color:#60a5fa}.footer{text-align:center;color:#fff;padding:2rem 0;font-size:.875rem;opacity:.9}.footer-content{display:flex;flex-direction:column;gap:.5rem}.footer-main{font-weight:500;margin:0}.footer-copyright{margin:0;opacity:.9}.footer-tech{font-size:.75rem;opacity:.7;margin:0}.cmdc-link{color:#74feff;font-weight:600;text-decoration:none;transition:all .3s ease;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cmdc-link:hover{color:#8ff;text-shadow:0 0 8px rgba(116,254,255,.5)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.transcript::-webkit-scrollbar{width:8px}.transcript::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.transcript::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.transcript::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}@media(max-width:640px){.app{padding:1rem}.logo{flex-direction:column;align-items:flex-start;gap:.75rem}.card-header,.card-body{padding:1.5rem}.status-container{flex-direction:column;text-align:center}.controls{flex-direction:column}.btn{min-width:100%}.tech-item{flex-direction:column;gap:.5rem;align-items:flex-start}}
