@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --black:#181611; --olive:#2b2820; --olive-2:#38352a;
  --gold:#d4af1f; --gold-dim:#a58a1c; --paper:#f2ede0; --paper-dim:#cfc9b8;
  --gray:#8b887c; --red:#b8433a; --green:#4f7a3d;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--black);color:var(--paper);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.02em;margin:0 0 8px;}
.mono{font-family:'JetBrains Mono',monospace;}
.wrap{max-width:640px;margin:60px auto;padding:0 24px;}
.card{background:var(--olive);border:1px solid var(--olive-2);border-radius:6px;padding:34px;}
.eyebrow{color:var(--gold);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;margin-bottom:14px;}
.desc{color:var(--gray);font-size:14px;margin-bottom:24px;line-height:1.55;}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
.form-row label{font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:0.05em;}
.form-row input{background:var(--black);border:1px solid var(--olive-2);color:var(--paper);padding:12px 14px;font-family:'JetBrains Mono';font-size:14px;border-radius:3px;}
.form-row input:focus{outline:none;border-color:var(--gold-dim);}
.btn{background:var(--gold);color:var(--black);border:none;padding:13px 22px;font-family:'Oswald';text-transform:uppercase;letter-spacing:0.06em;font-size:13px;font-weight:600;cursor:pointer;border-radius:3px;transition:background .15s;text-decoration:none;display:inline-block;}
.btn:hover{background:#e6c53a;}
.btn.ghost{background:transparent;border:1px solid var(--gold-dim);color:var(--paper);}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent;}
.btn.small{padding:8px 14px;font-size:11.5px;}
.msg-ok{background:rgba(90,138,69,.15);border:1px solid var(--green);color:#a3c98e;padding:12px 16px;border-radius:3px;font-size:13.5px;margin-bottom:20px;}
.btn:disabled{opacity:.35;cursor:not-allowed;}
.error{background:rgba(184,67,58,0.12);border:1px solid var(--red);color:#e0a39e;padding:12px 16px;border-radius:3px;font-size:13.5px;margin-bottom:20px;}
.capture-box{width:180px;height:180px;border:1px dashed var(--olive-2);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--gray);font-size:12px;margin-bottom:20px;background:var(--black);overflow:hidden;position:relative;}
.capture-box.captured{border-style:solid;border-color:var(--gold-dim);}
.capture-box video, .capture-box img{width:100%;height:100%;object-fit:cover;}
.module-list{display:flex;flex-direction:column;gap:1px;background:var(--olive-2);border:1px solid var(--olive-2);margin-bottom:26px;border-radius:3px;overflow:hidden;}
.module-item{background:var(--black);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;}
.module-item .m-title{font-size:14px;display:flex;gap:12px;align-items:center;}
.module-item .m-idx{color:var(--gold-dim);font-size:12px;font-family:'JetBrains Mono';}
.module-item .m-state{font-size:11px;color:var(--gray);text-transform:uppercase;}
.module-item .m-state.ok{color:var(--green);}
.q-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.q-head .count{font-size:12px;color:var(--gray);}
.attempt-badge{font-size:11px;padding:4px 10px;border-radius:20px;background:var(--olive-2);color:var(--paper-dim);}
.q-text{font-size:17px;margin-bottom:20px;line-height:1.4;}
.opt{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--olive-2);border-radius:3px;margin-bottom:10px;cursor:pointer;font-size:14px;}
.opt:hover{border-color:var(--gold-dim);}
.opt input{accent-color:var(--gold);}
.feedback{padding:14px 16px;border-radius:3px;font-size:13.5px;margin-bottom:18px;}
.feedback.retry{background:rgba(184,67,58,0.12);border:1px solid var(--red);color:#e0a39e;}
.card-cred{width:100%;max-width:340px;background:linear-gradient(160deg,#221f18,#181611);border:1px solid var(--gold-dim);border-radius:8px;padding:22px;margin-bottom:24px;}
.card-cred .card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;}
.card-cred .org{font-family:'Oswald';font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);max-width:170px;line-height:1.3;}
.card-cred .badge{font-size:9px;background:var(--green);color:#0e1a0a;padding:3px 8px;border-radius:20px;font-weight:700;}
.card-cred .card-main{display:flex;gap:16px;align-items:center;margin-bottom:18px;}
.card-cred .photo{width:64px;height:64px;border-radius:4px;border:1px solid var(--gold-dim);overflow:hidden;background:#221f18;}
.card-cred .photo img{width:100%;height:100%;object-fit:cover;}
.card-cred .id-name{font-family:'Oswald';font-size:16px;text-transform:uppercase;}
.card-cred .id-dni{font-family:'JetBrains Mono';font-size:12px;color:var(--gray);margin-top:3px;}
.card-cred .card-course{font-size:12px;color:var(--paper-dim);border-top:1px solid rgba(212,175,31,0.2);padding-top:14px;margin-bottom:14px;}
.card-cred .card-course b{display:block;color:var(--paper);font-size:14px;font-family:'Oswald';margin-bottom:4px;text-transform:none;}
.card-cred .dates{font-family:'JetBrains Mono';font-size:10px;color:var(--gray);line-height:1.6;}
.top-actions{display:flex;justify-content:space-between;margin-top:24px;}
