*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#f5f7fa 0,#e8ecf1 100%);min-height:100vh;padding:20px}.container{max-width:900px;margin:0 auto}.header{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:30px;display:flex;align-items:center;gap:20px}.logo-placeholder{width:80px;height:80px;background:#e31e24;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px}.header-text h1{color:#2d2d2d;font-size:28px;margin-bottom:5px}.header-text p{color:#666;font-size:14px}.main-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.form-group{margin-bottom:25px}label{display:block;margin-bottom:8px;color:#2d2d2d;font-weight:600;font-size:14px}input[type=file],select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s}input[type=file]:focus,select:focus{outline:0;border-color:#2aafa0}.upload-area{border:3px dashed #e0e0e0;border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-area:hover{border-color:#2aafa0;background:#f0fffe}.upload-area.dragover{border-color:#e31e24;background:#fff5f5}.upload-icon{font-size:48px;color:#2aafa0;margin-bottom:15px}.file-info{margin-top:15px;padding:15px;background:#f0fffe;border-radius:8px;border-left:4px solid #2aafa0}.btn-validate{width:100%;padding:16px;background:linear-gradient(135deg,#e31e24 0,#c41a1f 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:20px}.btn-validate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(227,30,36,.3)}.btn-validate:disabled{background:#ccc;cursor:not-allowed}.result-container{margin-top:30px;padding:30px;border-radius:12px;display:none}.result-container.success{background:linear-gradient(135deg,#d4f4dd 0,#e8f8ed 100%);border:2px solid #2aafa0;display:block}.result-container.error{background:linear-gradient(135deg,#ffe0e0 0,#fff0f0 100%);border:2px solid #e31e24;display:block}.result-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.result-icon{font-size:48px}.result-title{font-size:24px;font-weight:700}.error-list{list-style:none;margin-top:20px}.error-item{padding:15px;background:#fff;margin-bottom:10px;border-radius:8px;border-left:4px solid #e31e24;display:flex;gap:10px}.error-item::before{content:"⚠️";font-size:20px}.loading{text-align:center;padding:40px;display:none}.loading.active{display:block}.spinner{border:4px solid #f3f3f3;border-top:4px solid #e31e24;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.api-key-section{background:#fff8e6;padding:20px;border-radius:8px;margin-bottom:25px;border-left:4px solid #f5821f}.api-key-section h3{color:#2d2d2d;margin-bottom:10px;font-size:16px}.api-key-input{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:6px;font-family:monospace;font-size:13px}.info-note{font-size:12px;color:#666;margin-top:8px}.metric-card{display:inline-block;padding:15px 25px;background:#fff;border-radius:8px;margin-right:15px;margin-top:15px}.metric-label{font-size:12px;color:#666;text-transform:uppercase}.metric-value{font-size:24px;font-weight:700;color:#2d2d2d}