:root{--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--font-body: "Poppins", sans-serif;--font-display: "Merriweather", serif;--border: #E0E0E0;--text-light: #888888;--text-secondary: #555555;--transition: all .2s ease}*{box-sizing:border-box;outline:none}body{margin:0;padding:0;font-family:var(--font-body);background-color:#f7f5f0;color:#1a1a2e;-webkit-font-smoothing:antialiased}button{font-family:var(--font-body);cursor:pointer;transition:var(--transition)}input{font-family:var(--font-body)}h1,h2,h3{margin:0;font-family:var(--font-display)}.screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;alignItems:center;padding:20px;transition:background .4s ease}.card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000008;width:100%;max-width:480px;overflow:hidden}.card-wide{max-width:640px}.card-header{padding:32px;background-color:var(--primary);color:#fff}.card-body{padding:32px}.logo-container{margin-bottom:24px;text-align:center;display:flex;justify-content:center}.logo-img{max-height:60px;max-width:200px;object-fit:contain}.login-title{font-size:1.4rem;line-height:1.3;margin-bottom:12px;font-weight:700}.login-subtitle{font-size:.88rem;opacity:.8;line-height:1.6;margin:0}.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:var(--radius-sm);border:none;font-size:.95rem;font-weight:600;text-decoration:none;box-shadow:0 4px 12px #0000000d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:var(--shadow-accent)}.btn-secondary{background-color:#f0f0f0;color:var(--text-secondary);box-shadow:none;border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:#e8e8e8}.btn-dark{background-color:var(--primary);color:#fff}.btn-dark:hover:not(:disabled){background-color:var(--primary-light)}.btn-sm{padding:8px 16px;font-size:.82rem}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input,.form-select{width:100%;padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.9rem;transition:var(--transition);background-color:#fff;color:var(--text-primary)}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-error{color:var(--primary);font-size:.75rem;marginTop:5px}.stepper{display:flex;justify-content:center;alignItems:center;gap:0;padding:24px 32px 0;background-color:var(--surface);border-bottom:1px solid #F0F0F0}.step-dot{width:32px;height:32px;border-radius:50%;background-color:#f0f0f0;border:2px solid #E0E0E0;color:var(--text-light);display:flex;justify-content:center;alignItems:center;font-weight:600;font-size:.85rem;transition:var(--transition);position:relative;z-index:1}.step-dot.active{background-color:#fff;border-color:var(--accent);color:var(--accent);box-shadow:var(--accent-glow)}.step-dot.completed{background-color:var(--accent);border-color:var(--accent);color:#fff}.step-line{flex:1;height:3px;background-color:#f0f0f0;margin:0 -1px;position:relative;z-index:0;transition:var(--transition)}.step-line.completed{background-color:var(--accent)}.benefits-list{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:18px}.benefits-list li{display:flex;gap:16px;alignItems:flex-start}.benefit-num{font-size:1.6rem;color:var(--accent);margin-top:-3px}.benefit-text{font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.benefit-text strong{display:block;color:var(--text-primary);font-size:.95rem;margin-bottom:2px}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;alignItems:center;z-index:2000;padding:20px}.loading-card{background:#fff;padding:32px;border-radius:var(--radius-lg);text-align:center;width:100%;max-width:320px}.upload-status{font-size:.88rem;color:var(--text-secondary);marginTop:16px;font-weight:500}.upload-status-sub{font-size:.75rem;color:var(--text-light);marginTop:4px}.spinner{width:30px;height:30px;border:3px solid rgba(0,0,0,.05);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.doc-scan-camera{position:relative;width:100%;height:60vh;min-height:350px;max-height:550px;overflow:hidden;border-radius:var(--radius-md);background-color:#000;display:flex;justify-content:center;align-items:center}.camera-video{width:100%;height:100%;object-fit:cover}.doc-rect-template{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:420px;aspect-ratio:1.586 / 1;border:3px dashed rgba(255,255,255,.9);border-radius:12px;box-shadow:0 0 0 9999px #000000a6;z-index:2;pointer-events:none}.camera-help-msg{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#fff;font-size:.8rem;font-weight:500;text-align:center;width:85%;z-index:3;text-shadow:0px 1px 3px rgba(0,0,0,.8)}.camera-action-zone{display:flex;justify-content:center;padding:12px 0;background-color:var(--surface)}.btn-capture-professional{background:none;border:4px solid #fff;border-radius:50%;width:55px;height:55px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 8px #0000001a}.btn-capture-professional:active{transform:scale(.94)}.btn-capture-icon{font-size:20px}.camera-tips-zone{display:flex;justify-content:space-around;padding:8px 16px;background-color:var(--surface);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);margin-top:-1px}.tip-item{display:flex;gap:8px;alignItems:center}.tip-icon{width:14px;height:14px;border-radius:50%;display:flex;justify-content:center;alignItems:center;font-size:9px;font-weight:700;border:1px solid #dc3545;color:#dc3545;background:#dc35450d}.tip-text{color:var(--text-secondary);font-size:.75rem;font-weight:500}.doc-review-zone{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.doc-preview-item{text-align:center}.doc-preview-label{display:block;font-size:.82rem;color:var(--text-light);marginTop:8px}.camera-guide{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:220px;height:300px;border:3px dashed rgba(255,255,255,.8);border-radius:50%;box-shadow:0 0 0 9999px #0009;z-index:2;pointer-events:none;transition:border-color .3s ease}.selfie-countdown-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10;color:#fff;pointer-events:none}.countdown-instruction{font-size:.9rem;font-weight:500;text-align:center;width:80%;margin-bottom:30px;text-shadow:0 2px 5px rgba(0,0,0,.5);animation:pulseInstruction 1s infinite}.countdown-number{font-size:8rem;font-weight:800;font-family:var(--font-body);margin:0;line-height:1;text-shadow:0 4px 15px rgba(0,0,0,.6);animation:scaleDown 1s ease-out infinite}.countdown-final-msg{font-size:1.3rem;font-weight:700;color:var(--accent);text-shadow:0 2px 10px rgba(0,0,0,.5)}@keyframes scaleDown{0%{transform:scale(1.3);opacity:.2}10%{transform:scale(1);opacity:1}80%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes pulseInstruction{0%,to{opacity:.8}50%{opacity:1}}.camera-video-container{width:100%;border-radius:var(--radius-md);overflow:hidden;position:relative;background-color:#000;box-shadow:0 5px 20px #0000000d}.camera-actions{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:16px;z-index:3}.btn-capture{width:64px;height:64px;border-radius:50%;background-color:#fff;border:4px solid white;box-shadow:0 5px 25px #00000026;font-size:1.8rem;display:flex;justify-content:center;alignItems:center;transition:var(--transition)}.btn-capture:hover{transform:scale(1.05)}.btn-capture:active{transform:scale(.95)}.btn-capture.recording{border-color:#fff6;background-color:#dc3545;animation:pulseRed 1.5s infinite;color:#fff}.selfie-preview{width:100%;max-height:380px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:16px;box-shadow:0 5px 20px #0000000d}.chip{display:inline-flex;alignItems:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;background-color:#f0f0f0;color:var(--text-secondary)}.chip-success{background-color:var(--success-bg);color:var(--success)}.progress-bar{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background-color:var(--accent);transition:width .3s ease}.success-anim{font-size:3.5rem;color:var(--accent);margin-bottom:20px}.success-title{font-size:1.6rem;margin-bottom:12px;color:var(--primary)}.success-text{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin:0 0 24px}.summary-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #F0F0F0;font-size:.88rem}.summary-item:last-child{border-bottom:none}.summary-label{color:var(--text-light)}.summary-value{font-weight:500;color:var(--text-primary);text-align:right}.config-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;opacity:0;pointer-events:none;transition:var(--transition);z-index:10000}.config-overlay.open{opacity:1;pointer-events:auto}.config-panel{position:fixed;top:0;right:-360px;bottom:0;width:360px;background-color:#fff;box-shadow:-10px 0 40px #0000001a;transition:right .3s ease-out;z-index:10001;display:flex;flex-direction:column}.config-panel.open{right:0}.config-header{padding:20px 24px;border-bottom:1px solid #EEE;display:flex;justify-content:space-between;alignItems:center;background-color:#faf9f7}.config-header h3{font-size:1rem;color:var(--text-primary)}.config-close{background:none;border:none;font-size:1rem;color:var(--text-light);font-weight:700;cursor:pointer}.config-close:hover{color:#dc3545}.config-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.config-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);font-weight:600;margin-bottom:16px}.logo-upload-area{border:2px dashed #DDD;border-radius:var(--radius-md);padding:24px;text-align:center;cursor:pointer;transition:var(--transition);background-color:#fbfbfa}.logo-upload-area:hover{border-color:var(--accent);background-color:#f7f5f0}.logo-upload-area img{max-height:50px;max-width:100%;object-fit:contain;margin-bottom:12px}.color-grid{display:flex;flex-direction:column;gap:14px}.color-item{display:flex;justify-content:space-between;alignItems:center;gap:10px}.color-item label{font-size:.85rem;color:var(--text-secondary)}.color-input-wrap{display:flex;gap:10px;alignItems:center}.color-item input[type=color]{width:34px;height:34px;border-radius:4px;border:1px solid #DDD;cursor:pointer;padding:0;background:none}.color-hex{font-size:.8rem;font-family:monospace;color:var(--text-light);text-transform:uppercase;width:66px}.hidden-input{display:none!important}.app-footer{width:100%;text-align:center;padding:15px;background-color:transparent;marginTop:auto}.config-toggle-text{background:none;border:none;font-size:.75rem;color:var(--text-light);text-decoration:none;cursor:pointer;transition:var(--transition);font-weight:400;display:inline-flex;gap:5px;align-items:center}.config-toggle-text:hover{color:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseRed{0%,to{box-shadow:0 0 #dc354566}70%{box-shadow:0 0 0 15px #dc354500}}@media (max-width: 480px){.login-title{font-size:1.2rem}.card-header,.card-body{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.stepper{padding:16px 20px 0}.logo-upload-area img{max-height:40px}.config-panel{width:100%;right:-100%}}
