body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;margin:5px;min-width:140px;padding:12px 30px;transition:all .3s ease;white-space:nowrap}@media (max-width:480px){.btn{font-size:14px;min-width:120px;padding:10px 20px}}.btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--secondary{background:linear-gradient(135deg,#764ba2,#667eea)}.upload-area{background:#fafafa;border:3px dashed #ddd;border-radius:15px;margin:30px 0;overflow:hidden;padding:60px 20px;position:relative;text-align:center;transition:all .3s ease}.upload-area:hover{background:#f0f4ff;border-color:#667eea;transform:translateY(-2px)}.upload-area--dragover{background:#e8f4fd;border-color:#4facfe;transform:scale(1.02)}.upload-area:before{animation:bounce 2s infinite;content:"📁";display:block;font-size:48px;margin-bottom:15px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.upload-area p{color:#666;font-size:18px;margin-bottom:20px}.upload-area>button{display:inline-block}.status-message{animation:fadeIn .5s ease;border-radius:10px;font-weight:500;margin:20px 0;padding:15px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.status-success{background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;color:#fff}.status-error{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;color:#fff}.status-loading{background:linear-gradient(135deg,#ffecd2,#fcb69f);border:none;color:#8b4513}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;display:inline-block;height:20px;margin-right:10px;vertical-align:middle;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.file-uploader{padding:40px 20px}.file-uploader h2{color:#333;font-size:28px;font-weight:300;margin-bottom:30px;text-align:center}.upload-template{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.main-content{animation:slideUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-page{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;display:flex;max-width:1100px;min-height:500px;overflow:hidden;width:90%}.login-left{background-position:50%;background-size:cover;flex:1 1;min-height:500px}.login-right{display:flex;flex:1 1;flex-direction:column;padding:3rem 2rem;position:relative}.login-right-header{left:2rem;position:absolute;right:2rem;top:2rem}.login-right-logo{display:block;height:3rem;margin-bottom:1.5rem;max-width:200px;width:auto}.login-right-welcome{color:#3a4252;font-size:28px;font-weight:700;line-height:1.2;margin-bottom:1rem}.login-right-content{align-items:center;display:flex;flex:1 1;justify-content:center;padding-top:5rem}.login-container{max-width:400px;width:100%}.login-container h1{display:none}.form-group{margin-bottom:1rem}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fff5f5;border-radius:4px;color:#e53e3e;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.login-container button{margin-top:.5rem;width:100%}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}