:root{--primary-color:#0d6efd;--secondary-color:#6c757d;--success-color:#198754;--danger-color:#dc3545;--warning-color:#ffc107}body{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);min-height:100vh;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}.main-container{padding:40px 20px}.hero-section{background:white;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,0.3);padding:50px 40px;margin-bottom:30px}.hero-title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:20px;text-align:center}.hero-subtitle{color:#7f8c8d;font-size:1.2rem;text-align:center;margin-bottom:40px}.card-custom{border:0;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,0.1);transition:transform .3s ease;transition:box-shadow .3s ease;background:white;margin-bottom:30px;overflow:hidden}.card-custom:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,0.2)}.card-header-custom{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:white;padding:20px;font-size:1.3rem;font-weight:600}.card-body-custom{padding:30px}.form-label{font-weight:600;color:#2c3e50;margin-bottom:10px}.form-control,.form-select{border-radius:10px;border:2px solid #e0e0e0;padding:12px 15px;transition:border-color .3s ease}.form-control:focus,.form-select:focus{border-color:#667eea;box-shadow:0 0 0 .2rem rgba(102,126,234,0.25)}.file-upload-wrapper{position:relative;overflow:hidden;display:inline-block;width:100%}.file-upload-input{font-size:100px;position:absolute;left:0;top:0;opacity:0;cursor:pointer;width:100%;height:100%}.file-upload-label{display:block;padding:30px;background:#f8f9fa;border:3px dashed #667eea;border-radius:10px;text-align:center;cursor:pointer;transition:all .3s ease}.file-upload-label:hover{background:#e8ebff;border-color:#764ba2}.file-upload-label i{font-size:3rem;color:#667eea;margin-bottom:10px}.file-name-display{margin-top:10px;padding:10px;background:#e8f4f8;border-radius:8px;color:#0d6efd;font-weight:500;display:none}.btn-custom{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:0;color:white;padding:12px 40px;border-radius:25px;font-weight:600;font-size:1.1rem;transition:transform .3s ease;transition:box-shadow .3s ease;width:100%}.btn-custom:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(102,126,234,0.4);background:linear-gradient(135deg,#764ba2 0,#667eea 100%);color:white}.btn-custom:disabled{opacity:.6;cursor:not-allowed}.feature-icon{font-size:2rem;color:#667eea;margin-bottom:15px}.feature-card{text-align:center;padding:20px;background:white;border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,0.1);margin-bottom:20px;height:100%}.loading-spinner{display:none;text-align:center;margin:20px 0}.spinner-border-custom{width:3rem;height:3rem;border-width:.3rem}.result-container{display:none;margin-top:30px;padding:25px;background:white;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,0.1)}.badge-custom{padding:8px 15px;border-radius:20px;font-size:.9rem;font-weight:600}.sidebar-menu{background:white;border-radius:15px;padding:25px 15px;box-shadow:0 10px 30px rgba(0,0,0,0.1);position:sticky;top:20px}.sidebar-menu .sidebar-title{color:#2c3e50;font-weight:700;margin-bottom:20px;padding-left:10px}.sidebar-menu .list-group-item{border:0;border-radius:10px;margin-bottom:10px;padding:15px 20px;cursor:pointer;transition:all .3s ease;background:#f8f9fa;color:#2c3e50;font-weight:500}.sidebar-menu .list-group-item i{margin-right:10px;font-size:1.1rem}.sidebar-menu .list-group-item:hover{background:#fff;color:#667eea;transform:translateX(5px)}.sidebar-menu .list-group-item.active{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:white;box-shadow:0 5px 15px rgba(102,126,234,0.3);transform:translateX(5px)}.sidebar-menu .list-group-item.active:hover{color:white}.content-section{animation:fadeIn .3s ease-in}.content-section .card-custom{height:100%}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.card-body-custom{padding:20px}.sidebar-menu{margin-bottom:20px;position:static}.sidebar-menu .list-group-item{padding:12px 15px;font-size:.9rem}}.navbar .btn{width:80px!important}.login-container{max-width:400px;margin-top:100px}