
:root{
  --paper:#F4F7FB;--surface:#FFFFFF;--ink:#13294B;--muted:#5C6880;--line:#D8DFEA;
  --brand:#1763A6;--brand-dk:#124e85;
  --seal:#2E9E46;--seal-soft:#E0F2E4;--stop:#C23A2A;--stop-soft:#F8E1DD;
  --wait:#B9791A;--wait-soft:#F7EAD2;--guil:#9DB3D4;--btn-ink:#FFFFFF;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--seal);outline-offset:2px}

.band{height:56px;overflow:hidden;border-bottom:1px solid var(--line);position:relative}
.band svg{position:absolute;inset:0;width:100%;height:100%}
.top{max-width:980px;margin:0 auto;padding:20px 20px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.addr-sug{display:flex;flex-direction:column;margin-top:6px;border-radius:12px;overflow:hidden;gap:1px}
.addr-sug:empty{display:none}
.addr-sug .sug{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 12px;cursor:pointer;font-size:.92rem;line-height:1.3}
.addr-sug .sug:hover,.addr-sug .sug:focus-visible{background:var(--seal-soft);border-color:var(--seal)}
.brandrow{display:flex;align-items:center;gap:12px}
.brandmark{height:52px;width:52px;object-fit:cover;object-position:center top;border-radius:12px;border:1px solid var(--line);background:#fff;flex:none}
.brand{font-weight:800;font-size:1.65rem;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.brand small{display:block;font-weight:500;font-size:.9rem;color:var(--muted);letter-spacing:0;margin-top:4px}
.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px}
.tabs[hidden]{display:none}
.tabs button{border:0;background:none;padding:8px 16px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.93rem;color:var(--muted)}
.tabs button[aria-selected="true"]{background:var(--brand);color:#fff}
.tabs .count{display:inline-block;min-width:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--wait);color:var(--btn-ink);font-size:.78rem;line-height:20px;text-align:center}

main{max-width:980px;margin:0 auto;padding:24px 20px 64px}
.narrow{max-width:560px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}
h1{font-size:1.9rem;line-height:1.15;letter-spacing:-.02em;margin:0 0 8px;font-weight:800}
h2{font-size:1.2rem;margin:0 0 4px;font-weight:700}
p{margin:0 0 12px}
.muted{color:var(--muted)}
.small{font-size:.88rem}

.steps{display:flex;gap:6px;margin:18px 0 20px}
.steps span{flex:1;height:5px;border-radius:3px;background:var(--line)}
.steps span.on{background:var(--brand)}
.steps span.ok{background:var(--seal)}

label{display:block;font-weight:600;font-size:.93rem;margin:14px 0 6px}
input[type=text]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);resize:vertical;min-height:70px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;cursor:pointer;min-height:46px}
.btn.ghost{background:transparent;color:var(--brand);border-color:var(--line)}
.btn.seal{background:var(--seal);border-color:var(--seal);color:var(--btn-ink)}
.btn.stop{background:var(--stop);border-color:var(--stop);color:var(--btn-ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.block{width:100%}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.row .btn{flex:1 1 140px}

/* capture frame */
.frame{position:relative;border-radius:16px;overflow:hidden;background:#0d1320;aspect-ratio:3/4;margin-top:14px}
.frame.doc{aspect-ratio:4/3}
.frame video,.frame img.shot{width:100%;height:100%;object-fit:cover}
.frame video.mirror{transform:scaleX(-1)}
.guide{position:absolute;pointer-events:none;border:2.5px dashed rgba(255,255,255,.85);box-shadow:0 0 0 999px rgba(9,14,26,.45)}
.guide.face{left:50%;top:47%;width:62%;aspect-ratio:3/4;transform:translate(-50%,-50%);border-radius:50%}
.guide.id{left:50%;top:50%;width:84%;aspect-ratio:1.586;transform:translate(-50%,-50%);border-radius:14px}
.guide{transition:border-color .2s,box-shadow .2s}
.guide.g-ok{border:3.5px solid #22C55E;box-shadow:0 0 0 999px rgba(9,14,26,.45),0 0 24px rgba(34,197,94,.75)}
.guide.g-bad{border:3.5px solid #EF4444;box-shadow:0 0 0 999px rgba(9,14,26,.45),0 0 18px rgba(239,68,68,.6)}
.cam-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:rgba(9,14,26,.78);color:#fff;padding:7px 14px;border-radius:999px;font-weight:600;font-size:.9rem;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}
.cam-hint.h-ok{background:#16A34A}.cam-hint.h-bad{background:#DC2626}
.holdbar{position:absolute;left:0;top:0;height:5px;background:#22C55E;width:calc(var(--hold,0) * 100%)}
.frame .empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#c9d3e6;text-align:center;padding:24px;font-size:.95rem}
.frame .empty svg{opacity:.7}
.scan{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(9,14,26,.55);color:#fff;font-weight:600;gap:10px}
.scan::before{content:"";width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin 0.9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.scan::before{animation-duration:3s}}

.verdict{margin-top:12px;padding:12px 14px;border-radius:12px;font-size:.95rem}
.verdict.ok{background:var(--seal-soft);color:var(--seal)}
.verdict.bad{background:var(--stop-soft);color:var(--stop)}
.verdict.neutral{background:var(--wait-soft);color:var(--wait)}
.verdict b{display:block}

.notice{padding:14px 16px;border-radius:14px;margin-bottom:16px}
.notice.bad{background:var(--stop-soft);color:var(--stop)}
.notice.neutral{background:var(--wait-soft);color:var(--wait)}

/* status screens */
.status{text-align:center;padding:36px 24px}
.seal-mark{width:96px;height:96px;margin:0 auto 18px}
.clock{font-size:clamp(2.6rem,11vw,4.2rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1;margin:18px 0 8px;color:var(--stop)}
.status.blocked{border-color:var(--stop)}

/* admin */
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 18px}
.chip{border:1px solid var(--line);background:var(--surface);padding:7px 14px;border-radius:999px;font-weight:600;font-size:.9rem;cursor:pointer;color:var(--muted)}
.chip[aria-pressed="true"]{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,430px),1fr));gap:16px}
.sub{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}
.sub header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.sub .who{font-weight:700;font-size:1.05rem;line-height:1.25}
.pill{font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.pill.pending{background:var(--wait-soft);color:var(--wait)}
.pill.approved{background:var(--seal-soft);color:var(--seal)}
.pill.rejected{background:var(--stop-soft);color:var(--stop)}
.pill.blocked{background:var(--stop);color:var(--btn-ink)}
.pics{display:grid;grid-template-columns:3fr 4fr;gap:8px}
.pics figure{margin:0}
.pics img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:#0d1320;cursor:zoom-in}
.pics figure:last-child img{aspect-ratio:3/4;object-fit:contain}
.pics figcaption{font-size:.82rem;color:var(--muted);margin-top:4px}
.checks{display:flex;flex-direction:column;gap:6px;font-size:.88rem}
.checks div{display:flex;gap:8px;align-items:baseline}
.dot{width:8px;height:8px;border-radius:50%;flex:none;transform:translateY(-1px)}
.dot.ok{background:var(--seal)}.dot.bad{background:var(--stop)}.dot.na{background:var(--wait)}
.match{font-size:.9rem;padding:10px 12px;border-radius:10px;background:var(--paper)}
.reasons{display:flex;gap:6px;flex-wrap:wrap}
.reasons button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:4px 10px;font-size:.82rem;cursor:pointer}
.empty-state{padding:40px 24px;text-align:center;color:var(--muted);border:1.5px dashed var(--line);border-radius:18px}

dialog{border:0;padding:0;background:transparent;max-width:min(92vw,720px)}
dialog::backdrop{background:rgba(9,14,26,.8)}
dialog img{max-height:85vh;border-radius:12px}
.hidden{display:none!important}

/* --- cuenta --- */
.auth-switch{display:flex;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;margin:16px 0 4px}
.auth-switch button{flex:1;border:0;background:none;padding:8px;border-radius:999px;font-weight:600;cursor:pointer;color:var(--muted)}
.auth-switch button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
input[type=email],input[type=password]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.who-bar{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--muted)}
.linkbtn{border:0;background:none;color:var(--ink);text-decoration:underline;cursor:pointer;padding:4px;font-weight:600}
.err{color:var(--stop);font-size:.92rem;min-height:1.4em;margin-top:10px}
.pics img.loading{opacity:.4}
.spaced{margin-top:14px}
.row a.btn{text-decoration:none}

/* ===== v2: flujo de verificación y desembolso ===== */
.narrow{max-width:560px;margin-left:auto;margin-right:auto}
.foot{padding:0 20px 40px;font-size:.85rem;color:var(--muted)}
.foot a{color:var(--muted)}
.center{text-align:center}
.mt{margin-top:18px}
.mono-id{font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap}
select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;color:inherit;appearance:auto}
input[type=email]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
input[aria-invalid="true"]{border-color:var(--stop)}

.flowsteps{list-style:none;display:flex;gap:6px;margin:0 0 16px;padding:0}
.flowsteps li{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.flowsteps .bar{height:5px;border-radius:3px;background:var(--line)}
.flowsteps li.now .bar{background:var(--brand)}
.flowsteps li.done .bar{background:var(--seal)}
.flowsteps .lbl{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flowsteps li.now .lbl{color:var(--ink);font-weight:700}
@media (max-width:420px){.flowsteps li:not(.now) .lbl{visibility:hidden}}

.rules{margin:14px 0 4px;padding-left:20px;font-size:.95rem}
.rules li{margin:3px 0}
.consent{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:16px 0 0}
.consent legend{font-weight:700;padding:0 6px;font-size:.93rem}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem;margin:8px 0;cursor:pointer}
.check input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--seal)}
.check a{color:var(--ink)}

.guide.g-wait{border:3.5px solid #F5B82E;box-shadow:0 0 0 999px rgba(9,14,26,.45),0 0 18px rgba(245,184,46,.55)}
.cam-hint.big{font-size:1.02rem;padding:9px 16px;white-space:normal;text-align:center;width:max-content;max-width:90%}
.cam-hint.h-wait{background:#B7791F}
.liveprog{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.liveprog i{width:26px;height:6px;border-radius:3px;background:rgba(255,255,255,.35)}
.liveprog i.on{background:#22C55E}

.vstate{margin-top:14px;padding:12px 14px;border-radius:12px;font-weight:700}
.vstate span{display:block;font-weight:400;font-size:.92rem;margin-top:2px}
.vstate.wait{background:var(--wait-soft);color:var(--wait)}
.vstate.ok{background:var(--seal-soft);color:var(--seal)}
.vstate.bad{background:var(--stop-soft);color:var(--stop)}
.checklist{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:6px;font-size:.93rem}
.checklist li{display:flex;gap:10px;align-items:flex-start}
.checklist small{display:block;color:var(--muted)}
.checklist li.bad{color:var(--stop)}

.docsides{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.side{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-weight:700;font-size:.95rem}
.side span{display:block;font-weight:400;font-size:.8rem;color:var(--muted);min-height:1.2em}
.side.now{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.side.done{border-color:var(--seal);background:var(--seal-soft)}
.side.done span{color:var(--seal)}
.side.na{opacity:.6}
.pics figure:only-child{grid-column:1/-1}
.pics img{aspect-ratio:auto!important;max-height:220px;object-fit:contain!important;background:#0d1320}

.facts{margin:16px 0 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.facts div{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid var(--line)}
.facts div:first-child{border-top:0}
.facts dt{color:var(--muted);font-size:.92rem}
.facts dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.card.status h1{margin-top:4px}

.methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.method{position:relative;display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;margin:0;font-weight:400;background:var(--surface)}
.method input{position:absolute;opacity:0;pointer-events:none}
.method svg{width:30px;height:30px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}
.method .mname{font-weight:700;font-size:1.05rem}
.method .mdesc{font-size:.83rem;color:var(--muted)}
.method.sel{border-color:var(--seal);background:var(--seal-soft);box-shadow:inset 0 0 0 1px var(--seal)}
.method.sel svg{stroke:var(--seal)}
.method:has(input:focus-visible){outline:3px solid var(--seal);outline-offset:2px}
.eyebrow-method{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:999px;background:var(--seal-soft);color:var(--seal);font-weight:700;font-size:.85rem}

.field{margin-top:4px}
.field label{margin-top:12px}
.ferr{color:var(--stop);font-size:.86rem;min-height:0}
.field.has-err input,.field.has-err select{border-color:var(--stop)}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{flex:1 1 120px;margin:0;font-weight:500}
.seg input{position:absolute;opacity:0}
.seg span{display:block;text-align:center;padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer}
.seg input:checked+span{border-color:var(--seal);background:var(--seal-soft);color:var(--seal);font-weight:700}
.seg input:focus-visible+span{outline:3px solid var(--seal);outline-offset:2px}
.lockedval{padding:11px 14px;border-radius:12px;background:var(--paper);border:1px dashed var(--line);font-weight:600}
.lockedval small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}

/* admin v2 */
.flags{display:flex;flex-wrap:wrap;gap:6px}
.flag{font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--wait-soft);color:var(--wait)}
.flag.hi{background:var(--stop-soft);color:var(--stop)}
.livestrip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.livestrip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;background:#0d1320;cursor:zoom-in}
.docstrip{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.docstrip img{width:100%;max-height:200px;object-fit:contain;border-radius:8px;background:#0d1320;cursor:zoom-in}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.9rem;margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.subhead{font-weight:700;font-size:.9rem;margin:4px 0 -4px}
table.audit{width:100%;border-collapse:collapse;font-size:.86rem}
table.audit th,table.audit td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
table.audit td.det{color:var(--muted);overflow-wrap:anywhere}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.chain{padding:10px 14px;border-radius:12px;margin-bottom:12px;font-weight:600}
.chain.ok{background:var(--seal-soft);color:var(--seal)}.chain.bad{background:var(--stop-soft);color:var(--stop)}
.tabs.adm{display:inline-flex;margin:8px 0 14px}
#adminView>h1{margin-bottom:12px}
.flowsteps li.now .lbl{overflow:visible;text-overflow:clip}
.flowsteps li:last-child .lbl{direction:rtl}

/* v3: EE. UU. */
.combo{position:relative}
.combo-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(9,14,26,.18);max-height:300px;overflow-y:auto}
.combo-list li{padding:10px 12px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:10px}
.combo-list li span{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.combo-list li.on,.combo-list li:hover{background:var(--seal-soft)}
.combo-list li.none{cursor:default;color:var(--muted);font-size:.9rem}
.grid2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0 12px}
@media (max-width:420px){.grid2{grid-template-columns:1fr}}
.addr-ok{display:flex;flex-direction:column;gap:8px}
.addr-map{height:220px;border-radius:14px;border:1px solid var(--line);overflow:hidden;margin-top:6px;z-index:0}

/* v4: revisión manual */
.livestrip figure{margin:0}
.livestrip figcaption{font-size:.78rem;color:var(--muted);margin-top:4px;line-height:1.3}
.review-guide{background:var(--wait-soft);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:.88rem}
.review-guide ol{margin:6px 0 0;padding-left:18px}
.review-guide li{margin:3px 0}

/* v5: estado del cliente, proceso y envío */
.proc{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:0}
.proc li{display:flex;gap:12px;align-items:flex-start;padding:0 0 14px;position:relative}
.proc li:not(:last-child)::before{content:"";position:absolute;left:7px;top:16px;bottom:0;width:2px;background:var(--line)}
.proc li.done:not(:last-child)::before{background:var(--seal)}
.proc .dotp{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:var(--surface);flex:none;margin-top:1px;z-index:1}
.proc li.done .dotp{background:var(--seal);border-color:var(--seal)}
.proc li.now .dotp{border-color:var(--seal);box-shadow:inset 0 0 0 3px var(--surface),0 0 0 3px var(--seal-soft)}
.proc li.now{font-weight:700}
.subhead2{font-weight:700;margin:20px 0 6px;font-size:1rem}
.ship{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface)}
.ship-steps{margin-top:12px}
.msgs,.doclist{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.msgs li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.doclist a{color:var(--seal);font-weight:600}

/* v5: panel — paneles de acción */
.apanel{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:12px}
.apanel h4{margin:0 0 8px;font-size:.95rem}
.apanel label{margin-top:8px}
.apanel select,.apanel input:not([type=checkbox]),.apanel textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit;color:inherit}
.apanel .row{margin-top:10px}
.perm-grid{display:flex;flex-wrap:wrap;gap:6px}
.perm-grid label{display:flex;gap:6px;align-items:center;margin:0;font-weight:500;font-size:.88rem;border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.docrow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line);font-size:.9rem}
.badge{font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--wait-soft);color:var(--wait)}
.badge.cli{background:var(--seal-soft);color:var(--seal)}
.pill.review{background:var(--wait-soft);color:var(--wait)}
.pill.processing{background:var(--wait-soft);color:var(--wait)}
.pill.disbursed{background:var(--seal-soft);color:var(--seal)}
.pill.closed{background:var(--seal-soft);color:var(--seal)}
.pill.cancelled{background:var(--stop-soft);color:var(--stop)}
.hr{border:0;border-top:1px solid var(--line);margin:12px 0}
.apanel .check{align-items:flex-start}.trk{white-space:normal;overflow-wrap:anywhere}
