#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.tooltip-container{position:relative}.tooltip-bubble{position:absolute;z-index:1000;bottom:110%;left:50%;transform:translate(-50%) translateY(6px);background:#111;color:#fff;padding:10px 12px;border-radius:8px;border:2px solid var(--tooltip-border, #444);box-shadow:0 6px 16px #0003;opacity:0;pointer-events:auto;transition:opacity .12s ease,transform .12s ease;width:max-content;max-width:80vw;max-height:220px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;line-height:1.3;display:inline-flex;align-items:center;gap:6px}.tooltip-container:hover .tooltip-bubble{opacity:1;transform:translate(-50%) translateY(0)}.tooltip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-width:6px;border-style:solid;border-color:#111 transparent transparent transparent}.home-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:3rem 4rem;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.2);text-align:center;max-width:600px;width:90%;animation:tennen-fadeIn .8s ease-out}.home-container-simple{max-width:800px;margin:2rem auto;padding:2rem;text-align:center}.home-container-simple h1{font-size:2.5rem;color:#333;margin-bottom:3rem;font-weight:700}.home-container h1{font-size:3.5rem;color:#000;margin-bottom:1rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.home-container h2{font-size:1.6rem;color:var(--tennen-text-secondary);margin-top:3rem;font-weight:400;font-style:italic}.home-buttons{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;align-items:stretch}.home-buttons .analyse-btn{display:flex;align-items:center;gap:1.5rem;padding:2rem;border:2px solid var(--tennen-brown);border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;min-width:250px;max-width:350px;flex:1;min-height:140px;text-align:left;background:#fff}.home-buttons .analyse-btn:hover{box-shadow:0 8px 25px #00000026}.admin-btn,.home-analyse-btn{border-color:var(--tennen-brown);border-radius:20px}.home-buttons .btn-icon{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f8f9fa;transition:all .3s ease}.admin-btn .btn-icon{background:#ffc1071a;color:#ffc107}.home-analyse-btn .btn-icon{background:#3498db1a;color:#3498db}.home-buttons .btn-text{flex:1}.home-buttons .btn-text h3{margin:0 0 .5rem;font-size:1.5rem;color:#333;font-weight:600}.home-buttons .btn-text p{margin:0;color:#666;font-size:1rem;line-height:1.4}.home-btn{padding:2rem;font-size:1.3rem;font-weight:600;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden;min-width:200px;background:linear-gradient(135deg,var(--tennen-primary) 0%,var(--tennen-secondary) 100%);color:#fff;box-shadow:0 4px 15px #0000001a}.home-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.home-btn:hover:before{left:100%}.admin-btn{background:linear-gradient(135deg,var(--tennen-brown) 0%,var(--tennen-brown-light) 100%);color:var(--tennen-white);border-radius:25px}.admin-btn:hover{background:linear-gradient(135deg,var(--tennen-brown-dark) 0%,var(--tennen-brown) 100%);transform:translateY(-3px);box-shadow:0 12px 35px #6d4c4166}.analyse-btn{background:linear-gradient(135deg,var(--tennen-brown) 0%,var(--tennen-brown-light) 100%);color:var(--tennen-white);border-radius:25px;min-width:220px;padding:1.8rem 3.5rem;font-size:1.6rem;font-weight:600}.analyse-btn:hover{background:linear-gradient(135deg,var(--tennen-brown-dark) 0%,var(--tennen-brown) 100%);transform:translateY(-3px);box-shadow:0 12px 35px #6d4c4166}@media (max-width: 768px){.home-container{margin:1rem;padding:2rem;max-width:calc(100% - 2rem)}.home-buttons{flex-direction:row;gap:.5rem;flex-wrap:nowrap}.home-buttons .analyse-btn{min-width:150px;max-width:none;flex:1;padding:1.5rem 1rem}.home-container h1{font-size:2.5rem}.home-btn{min-width:100%;padding:1.2rem 2rem;font-size:1.2rem}}.analyse-menu-container{max-width:800px;margin:2rem auto;padding:2rem;text-align:center}.analyse-menu-container h1{font-size:2.5rem;color:#333;margin-bottom:3rem;font-weight:700}.analyse-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:3rem;max-width:650px;margin-left:auto;margin-right:auto}.analyse-btn{display:flex;align-items:center;gap:1.5rem;padding:2rem;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;flex-basis:calc(50% - .75rem);min-width:280px;text-align:left;background:#fff;border:2px solid transparent}.analyse-btn:hover{box-shadow:0 8px 25px #00000026}.nouvelle-btn,.liste-btn{border-color:var(--tennen-brown);border-radius:20px}.btn-icon{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f8f9fa;transition:all .3s ease}.nouvelle-btn .btn-icon{background:#27ae601a;color:#27ae60}.liste-btn .btn-icon{background:#3498db1a;color:#3498db}.btn-text{flex:1}.btn-text h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#333;transition:color .3s ease}.btn-text p{margin:0;font-size:1rem;color:#666;transition:color .3s ease}.back-button-container{margin-top:2rem}.back-btn{padding:1rem 2rem;background:linear-gradient(135deg,var(--tennen-brown) 0%,var(--tennen-brown-light) 100%);color:#fff;border:none;border-radius:20px;font-size:1rem;cursor:pointer;transition:all .3s ease}@media (max-width: 768px){.analyse-buttons{flex-direction:column;align-items:center}.analyse-btn{min-width:280px;max-width:100%}.analyse-menu-container{padding:1rem}.analyse-menu-container h1{font-size:2rem}.btn-icon{width:60px;height:60px;font-size:2rem}.btn-text h3{font-size:1.3rem}.btn-text p{font-size:.9rem}}.admin-container{max-width:1200px;margin:2rem auto;padding:2rem;background:var(--tennen-white);border-radius:20px;box-shadow:0 10px 40px var(--tennen-shadow);animation:tennen-fadeIn .8s ease-out}.admin-container h1{text-align:center;color:#000;margin-bottom:3rem;font-size:3rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.admin-sections{display:flex;flex-direction:column;gap:2rem}.admin-section{background:#f8f9fa;border-radius:15px;padding:2.5rem;box-shadow:0 8px 25px var(--tennen-shadow);border:2px solid #d0d0d0;transition:all .3s ease}.admin-section-no-border{background:var(--tennen-white);border-radius:15px;padding:2.5rem;box-shadow:0 8px 25px var(--tennen-shadow);border:none;transition:all .3s ease}.admin-section:hover{transform:translateY(-2px);box-shadow:0 12px 35px var(--tennen-shadow-hover)}.admin-section h2,.admin-section h3{color:var(--tennen-primary);margin-bottom:2rem;border-bottom:3px solid var(--tennen-secondary);padding-bottom:.8rem;font-weight:600;text-align:center}.admin-buttons{display:flex;flex-direction:row;gap:2rem;justify-content:center;flex-wrap:wrap}.admin-buttons .analyse-btn{display:flex;align-items:center;gap:1.5rem;padding:2rem;border:2px solid var(--tennen-brown);border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;min-width:300px;max-width:350px;text-align:left;background:#fff}.admin-buttons .analyse-btn:hover{box-shadow:0 8px 25px #00000026}.db-btn,.user-btn,.category-btn{border-color:var(--tennen-brown);border-radius:20px}.admin-buttons .btn-icon{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f8f9fa;transition:all .3s ease}.db-btn .btn-icon{background:#6c757d1a;color:#6c757d}.user-btn .btn-icon{background:#28a7451a;color:#28a745}.category-btn .btn-icon{background:#ffc1071a;color:#ffc107}.admin-buttons .btn-text{flex:1}.admin-buttons .btn-text h3{margin:0 0 .5rem;font-size:1.5rem;color:#333;font-weight:600}.admin-buttons .btn-text p{margin:0;color:#666;font-size:1rem;line-height:1.4}.admin-action-btn{padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:700;border:3px solid var(--tennen-text-primary);border-radius:25px;cursor:pointer;transition:all .3s ease;background:var(--tennen-neutral-light);color:var(--tennen-text-primary);text-transform:uppercase;letter-spacing:.5px;flex:1;min-width:180px;max-width:250px;text-align:center;box-shadow:0 4px 8px #0000001a}.admin-action-btn:hover{background:var(--tennen-text-primary);color:#8b4513;transform:translateY(-2px);border:3px solid var(--tennen-primary);box-shadow:0 6px 12px #0003}.create-user-btn{background:var(--tennen-neutral-light)!important;color:var(--tennen-text-primary)!important;border:1px solid var(--tennen-text-primary)!important;border-radius:25px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.5px!important}.create-user-btn:hover{background:var(--tennen-text-primary)!important;color:var(--tennen-white)!important;transform:translateY(-2px)!important}.create-user-form{display:grid;gap:1.5rem;max-width:500px;margin:0 auto;text-align:center}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:600;color:#333}.form-group input[type=text],.form-group input[type=password]{padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .3s ease}.form-group input[type=text]:focus,.form-group input[type=password]:focus{outline:none;border-color:#667eea}.checkbox-group{flex-direction:row!important;align-items:center;gap:.5rem}.checkbox-group label{margin-bottom:0!important;display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.submit-btn{padding:1rem 2rem;background:var(--tennen-neutral-light);color:var(--tennen-text-primary);border:1px solid var(--tennen-text-primary);border-radius:25px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.submit-btn:hover{background:var(--tennen-text-primary);color:var(--tennen-white);transform:translateY(-2px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.users-list{display:flex;flex-direction:column;gap:1rem}.user-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.user-pseudo{font-weight:600;font-size:1.1rem;color:#333}.user-role{padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase}.user-role.admin{background:#e74c3c;color:#fff}.user-role.user{background:#3498db;color:#fff}.delete-btn{padding:.5rem 1rem;background:var(--tennen-neutral-light);color:var(--tennen-text-primary);border:1px solid var(--tennen-text-primary);border-radius:25px;cursor:pointer;font-size:.9rem;font-weight:700;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.delete-btn:hover{background:var(--tennen-text-primary);color:var(--tennen-white);transform:translateY(-1px)}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--tennen-primary);font-weight:600;font-size:1.1rem}.form-input{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .3s ease;background:var(--tennen-white);color:var(--tennen-text-primary);text-align:center}.form-input:focus{outline:none;border-color:var(--tennen-primary);box-shadow:0 0 0 3px #2e7d321a}.date-input-group{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;align-items:center;padding:1rem;background:#f8f9fa;border-radius:10px;border:1px solid #e0e0e0}.date-input{flex:1;min-width:120px;text-align:center}.file-input{padding:1rem;border:2px solid #e0e0e0;background:var(--tennen-white);text-align:center;cursor:pointer;transition:all .3s ease}.file-input:hover{border-color:var(--tennen-primary);background:var(--tennen-white)}.centered-field{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.5rem}.centered-field label{display:block;margin-bottom:.5rem;color:var(--tennen-primary);font-weight:600;font-size:1.1rem}.centered-field .form-input{max-width:300px;text-align:center}.status-message{margin-top:1rem;padding:1rem;border-radius:10px;text-align:center;font-weight:600;background:#e8f5e8;color:var(--tennen-primary);border:2px solid #c8e6c9}@media (max-width: 768px){.admin-container{margin:1rem;padding:1.5rem}.admin-container h1{font-size:2rem}.admin-action-btn{min-width:150px;padding:1rem 1.5rem;font-size:1rem}.admin-buttons{flex-direction:column}.user-form{padding:1.5rem}.user-form h3{font-size:1.5rem}.form-group{margin-bottom:1rem}.form-input{padding:.8rem;font-size:.9rem}.date-input-group{flex-direction:column}.date-input{min-width:auto}.user-list{padding:1.5rem}.user-item{padding:1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.user-info{margin-bottom:.5rem}.user-actions{width:100%;justify-content:flex-start}.delete-btn{padding:.6rem 1rem;font-size:.8rem}}.app-header{background:linear-gradient(135deg,var(--tennen-primary) 0%,var(--tennen-secondary) 100%);color:var(--tennen-white);padding:1.2rem 0;box-shadow:0 4px 20px var(--tennen-shadow);position:sticky;top:0;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--tennen-accent)}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo-btn{background:none;border:none;padding:0;cursor:pointer;outline:none;transition:opacity .3s ease}.logo-btn:hover{opacity:.8}.logo-btn:focus{outline:none;box-shadow:none}.header-logo{height:50px;width:auto;margin:0;object-fit:contain;display:block}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{font-size:.9rem}.logout-btn{background:linear-gradient(135deg,var(--tennen-brown) 0%,var(--tennen-brown-light) 100%);color:var(--tennen-white);border:none;padding:.6rem 1.2rem;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 3px 10px #6d4c414d}.logout-btn:hover{background:linear-gradient(135deg,var(--tennen-brown-dark) 0%,var(--tennen-brown) 100%);transform:translateY(-2px);box-shadow:0 4px 15px #6d4c4166}.search-container{flex:1;max-width:400px;margin:0 2rem}.search-form{display:flex;align-items:center;background:#ffffff1a;border-radius:25px;padding:.3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.search-input{flex:1;background:transparent;border:2px solid #000;padding:.6rem 1rem;color:var(--tennen-white);font-size:.9rem;outline:none}.search-input::placeholder{color:#ffffffb3}.search-btn{background:linear-gradient(135deg,var(--tennen-brown) 0%,var(--tennen-brown-light) 100%);color:var(--tennen-white);border:none;padding:.6rem 1rem;border-radius:20px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.search-btn:hover{background:linear-gradient(135deg,var(--tennen-brown-dark) 0%,var(--tennen-brown) 100%);transform:scale(1.05)}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 6px #0000001a;max-height:300px;overflow-y:auto;z-index:1000}.search-result-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.search-result-item:hover{background-color:#f8f9fa}.search-result-item:last-child{border-bottom:none}.molecule-name{font-weight:500;color:#333;margin-bottom:2px;font-size:.9rem}.molecule-cas{font-size:.8rem;color:#666}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.search-container{max-width:100%;margin:0;order:2}.user-info{flex-direction:column;gap:.5rem;order:3}.logo-btn{order:1}.app-header h1{font-size:1.5rem}.search-results{max-height:200px}.molecule-name{font-size:.85rem}.molecule-cas{font-size:.75rem}}.gestion-fabricants{padding:20px;max-width:1200px;margin:0 auto}.gestion-fabricants h2{color:#2c3e50;margin-bottom:20px;border-bottom:none;padding-bottom:0}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.gestion-fabricants .form-group label{display:block;margin-bottom:.5rem;font-weight:400;color:#000}.gestion-fabricants .form-group input,.gestion-fabricants .form-group textarea,.gestion-fabricants .form-group select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;box-sizing:border-box;background-color:#fff;color:#212529}.gestion-fabricants .form-group input:focus,.gestion-fabricants .form-group textarea:focus,.gestion-fabricants .form-group select:focus{outline:none;border-color:#80bdff}.gestion-materiaux{padding:20px;max-width:1200px;margin:0 auto}.gestion-materiaux h2{color:#2c3e50;margin-bottom:20px;border-bottom:2px solid #27ae60;padding-bottom:10px}.btn-primary{background-color:#27ae60;color:#fff}.btn-primary:hover{background-color:#229954}.gestion-labels{padding:20px;max-width:1200px;margin:0 auto}.gestion-labels h2{color:#2c3e50;margin-bottom:20px;border-bottom:2px solid #f39c12;padding-bottom:10px}.btn-primary{background-color:#f39c12;color:#fff}.btn-primary:hover{background-color:#e67e22}.label-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700;color:#fff;background-color:#f39c12;margin-right:5px}.gestion-avis{padding:20px;max-width:1200px;margin:0 auto}.gestion-avis h2{color:#2c3e50;margin-bottom:20px;border-bottom:2px solid #9b59b6;padding-bottom:10px}.btn-primary{background-color:#9b59b6;color:#fff}.btn-primary:hover{background-color:#8e44ad}.rating{display:flex;align-items:center;gap:5px}.stars{color:#f39c12}.recommande{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;color:#fff}.recommande.oui{background-color:#27ae60}.recommande.non{background-color:#e74c3c}.avis-card{background:#fff;border-radius:8px;padding:15px;margin-bottom:15px;box-shadow:0 2px 4px #0000001a}.avis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.avis-author{font-weight:700;color:#2c3e50}.avis-date{color:#7f8c8d;font-size:12px}.avis-content{margin-bottom:10px;line-height:1.5}.avis-footer{display:flex;justify-content:space-between;align-items:center}.avis-form-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:1.5rem}@media (min-width: 800px){.avis-form-grid{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);column-gap:2rem;row-gap:2rem}}.gestion-documentation{padding:20px;max-width:1200px;margin:0 auto}.gestion-documentation h2{color:#2c3e50;margin-bottom:20px;border-bottom:2px solid #e67e22;padding-bottom:10px}.loading{text-align:center;padding:40px;font-size:18px;color:#7f8c8d}.error{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:5px;margin-bottom:20px;border:1px solid #f5c6cb}.controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s}.btn-primary{background-color:#e67e22;color:#fff}.btn-primary:hover{background-color:#d35400}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.search-input{padding:10px;border:1px solid #bdc3c7;border-radius:5px;font-size:14px;width:300px}.form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.form-container{background:#fff;padding:30px;border-radius:10px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.form-container h3{margin-top:0;color:#2c3e50;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#34495e}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px;border:1px solid #bdc3c7;border-radius:5px;font-size:14px;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid #ecf0f1}.table th{background-color:#f8f9fa;font-weight:700;color:#2c3e50}.table tr:hover{background-color:#f8f9fa}.actions{display:flex;gap:5px}.btn-sm{padding:5px 10px;font-size:12px}.no-data{text-align:center;padding:40px;color:#7f8c8d;font-style:italic}.document-type{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700;color:#fff;background-color:#e67e22;margin-right:5px}.file-size{color:#7f8c8d;font-size:12px}.download-link{color:#3498db;text-decoration:none}.download-link:hover{text-decoration:underline}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 74px);background:linear-gradient(135deg,var(--tennen-primary) 0%,var(--tennen-secondary) 100%);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:hidden;padding:2rem 0}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="80" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="60" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="60" cy="40" r="1" fill="rgba(255,255,255,0.1)"/></svg>') repeat;animation:float 20s infinite linear}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-100px)}}.login-card{background:var(--tennen-white);padding:3rem;border-radius:20px;box-shadow:0 20px 60px #00000026;width:100%;max-width:450px;animation:slideIn .8s ease-out;border:2px solid var(--tennen-accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-card h2{text-align:center;margin-bottom:2rem;color:var(--tennen-primary);font-size:2.2rem;font-weight:600;text-shadow:1px 1px 2px rgba(46,125,50,.1)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.8rem;color:var(--tennen-text-secondary);font-weight:600;font-size:1.1rem}.form-group input{width:100%;padding:1rem;border:2px solid var(--tennen-accent);border-radius:12px;font-size:1rem;transition:all .3s ease;background:var(--tennen-white);box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--tennen-primary);box-shadow:0 0 0 3px #2e7d321a;transform:translateY(-1px)}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{color:#e74c3c;background-color:#fdf2f2;border:1px solid #f5c6cb;padding:.75rem;border-radius:5px;margin-bottom:1rem;font-size:.9rem}.success-message{color:#27ae60;background-color:#f2fdf2;border:1px solid #c6f5cb;padding:.75rem;border-radius:5px;margin-bottom:1rem;font-size:.9rem}.login-btn{width:100%;padding:1.2rem;background:linear-gradient(135deg,var(--tennen-brown) 0%,var(--tennen-brown-light) 100%);color:var(--tennen-white);border:none;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1.5rem;box-shadow:0 6px 20px #6d4c414d;position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-btn:hover:before{left:100%}.login-btn:hover{background:linear-gradient(135deg,var(--tennen-brown-dark) 0%,var(--tennen-brown) 100%);transform:translateY(-3px);box-shadow:0 10px 30px #6d4c4166}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.logo-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center}.logo-btn:hover{opacity:.8;transition:opacity .3s ease}.user-info{display:flex;align-items:center;gap:1rem;color:var(--tennen-white);font-weight:500}.user-info span{font-size:.9rem;opacity:.9}
