/* Upload / sign page — extends theme.css */

.main-content{flex:1;padding:2.4rem 0}

/* Cards */
.card{border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;background:var(--white);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.card-header{background:var(--white);border-bottom:1px solid var(--slate-100);padding:1.1rem 1.5rem;border-radius:var(--radius) var(--radius) 0 0 !important}
.card-header h4,.card-header h5{color:var(--navy-900);font-weight:800;letter-spacing:-.01em;margin:0}
.card-header i{font-size:1.15rem;margin-right:.5rem;color:var(--accent)}

/* Labels + inputs */
.form-label{color:var(--navy-900);font-weight:600 !important;font-size:.9rem}
.form-label i{color:var(--slate-400);margin-right:.35rem}
.form-control{border:1px solid var(--slate-200);border-radius:11px;font-family:var(--font);color:var(--navy-900);padding:.65rem .85rem}
.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,78,216,.14)}
.form-control-lg{padding:.8rem 1rem;font-size:1rem}

/* Upload drop-zones */
.upload-box{border:2px dashed var(--slate-300);border-radius:12px;padding:1rem;background:var(--bg);position:relative;overflow:hidden;transition:all .2s}
.upload-box:hover{border-color:var(--accent-soft);background:#fff}
.upload-box.uploaded{border-color:var(--green);background:var(--green-bg);border-style:solid}
.upload-box.uploading{border-color:var(--accent);background:rgba(29,78,216,.06)}
.upload-box input[type="file"]{cursor:pointer}
.upload-status{margin-top:.5rem;font-size:.88rem;color:var(--slate-500)}
.upload-status.success{color:var(--green);font-weight:600}
.upload-status.error{color:var(--red);font-weight:600}
.progress{height:5px;border-radius:3px;margin-top:.6rem;background:var(--slate-100)}
.progress-bar{background:var(--accent)}

/* Buttons */
.btn-primary,.btn-sign{background:var(--accent);border:1px solid transparent;color:#fff;font-weight:700;border-radius:11px;padding:.8rem 1.5rem;font-size:1rem;font-family:var(--font);box-shadow:var(--btn-shadow);transition:all .18s}
.btn-primary:hover:not(:disabled),.btn-sign:hover:not(:disabled){background:var(--accent-600);transform:translateY(-1px)}
.btn-sign:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

/* Result banner */
.result-box{padding:1.4rem;border-radius:14px;margin-top:1.8rem;border:1px solid;animation:slideIn .3s}
@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.result-box.success{background:var(--green-bg);border-color:var(--green-bd);color:var(--green)}
.result-box.error{background:var(--red-bg);border-color:var(--red-bd);color:var(--red)}

/* Instructions */
.card-body ol li{color:var(--slate-600)}
.card-body ol li strong{color:var(--navy-900)}

/* Footer */
footer{background:var(--navy-900);padding:2rem 0;margin-top:auto;color:var(--slate-300)}
footer strong{color:#fff}
footer .text-muted{color:var(--slate-500) !important}
.stats-badge{background:rgba(255,255,255,.08);color:var(--slate-200);padding:.3rem .8rem;border-radius:20px;font-size:.82rem;margin:0 .25rem;border:1px solid rgba(255,255,255,.1)}
.stats-badge i{color:var(--accent-soft)}

/* Step tracker */
.steps{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:1.6rem;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;color:var(--slate-400)}
.step .step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--slate-200);color:var(--slate-500);font-size:.82rem;transition:all .2s}
.step.active{color:var(--navy-900)}
.step.active .step-num{background:var(--accent);color:#fff;box-shadow:var(--btn-shadow)}
.step.done{color:var(--green)}
.step.done .step-num{background:var(--green);color:#fff}
.step-line{width:34px;height:2px;background:var(--slate-200);border-radius:2px}

/* Drag & drop */
.drop-hint{font-size:.8rem;color:var(--slate-400);margin-bottom:.5rem;display:flex;align-items:center;gap:6px}
.drop-hint i{color:var(--accent-soft)}
.upload-box.dragover{border-color:var(--accent);background:rgba(29,78,216,.08);box-shadow:0 0 0 3px rgba(29,78,216,.12)}
.upload-box.uploaded .drop-hint{display:none}
.fsize{color:var(--slate-500);font-weight:500}
.file-remove{background:none;border:none;color:var(--slate-400);cursor:pointer;padding:0 2px;margin-left:4px;font-size:.8rem;line-height:1}
.file-remove:hover{color:var(--red)}

/* Password toggle */
.pass-wrap{position:relative}
.pass-wrap .form-control{padding-right:46px}
.pass-toggle{position:absolute;top:0;right:0;height:100%;width:46px;background:none;border:none;color:var(--slate-400);cursor:pointer;display:flex;align-items:center;justify-content:center}
.pass-toggle:hover{color:var(--accent)}
