/*
 * Administración → Documentos corporativos. Tokens del tema (claro y oscuro).
 * Animaciones: pestañas con indicador que se desliza, tarjetas de tipo escalonadas, secciones que entran, chips que
 * marcan, vista previa con fundido al actualizarse, botón «Emitir» con flecha y brillo, sello de «Documento emitido».
 */
.cdoc{max-width:1240px}
.cdoc-top{padding-bottom:4px}
.cdoc-tabs{position:relative;display:inline-flex;gap:4px;padding:4px;margin:4px 0 18px;border-radius:var(--r-pill);background:var(--fill);isolation:isolate}
.cdoc-tabs button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 16px;border:0;border-radius:var(--r-pill);background:none;color:var(--ink-2);font:inherit;font-size:var(--fs-footnote);font-weight:650;cursor:pointer;transition:color .2s}
.cdoc-tabs button svg{width:16px;height:16px}
.cdoc-tabs button.on{color:var(--ink)}
.cdoc-tabs b{min-width:20px;padding:1px 7px;border-radius:var(--r-pill);background:var(--blue-t);color:var(--tint);font-size:var(--fs-caption)}
.cdoc-ind{position:absolute;z-index:0;top:4px;left:4px;bottom:4px;border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1),0 1px 3px rgba(16,32,72,.12)}
.cdoc-ind.anim{transition:transform .35s var(--ease),width .35s var(--ease)}
.cdoc-in{animation:cdoc-fade .35s var(--ease)}
@keyframes cdoc-fade{from{opacity:0;transform:translateY(8px)}}

/* Tipos */
.cdoc-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}
.cdoc-type{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:14px 14px 12px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;overflow:hidden;
  animation:cdoc-rise .45s calc(var(--i,0) * 55ms) var(--ease) both;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
@keyframes cdoc-rise{from{opacity:0;transform:translateY(14px)}}
.cdoc-type:hover{border-color:var(--blue-m);transform:translateY(-2px);box-shadow:var(--shadow-1)}
.cdoc-type.on{border-color:var(--blue);background:var(--blue-t);box-shadow:inset 0 0 0 1px var(--blue)}
.cdoc-type::after{content:"";position:absolute;right:-30px;top:-30px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-orange) 22%,transparent),transparent 70%);opacity:0;transition:opacity .3s}
.cdoc-type.on::after{opacity:1}
.cdoc-tic{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--fill);color:var(--tint);transition:background .2s,color .2s,transform .3s var(--ease)}
.cdoc-type.on .cdoc-tic{background:var(--blue);color:#fff;transform:rotate(-6deg) scale(1.05)}
.cdoc-tic svg{width:19px;height:19px}
.cdoc-type b{font-size:var(--fs-footnote);line-height:1.25}
.cdoc-type small{color:var(--muted);font-size:var(--fs-caption);line-height:1.35}
.cdoc-type em{margin-top:auto;padding-top:4px;font-style:normal;font-family:var(--f-mono,"JetBrains Mono",ui-monospace,monospace);font-size:11px;color:var(--cta-ink);font-weight:700}

/* Formulario y vista previa */
.cdoc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:20px;align-items:start}
.cdoc-form{display:grid;gap:14px;min-width:0}
.cdoc-card{margin:0;padding:18px 18px 10px;animation:cdoc-rise .4s calc(var(--i,0) * 60ms + 120ms) var(--ease) both}
.cdoc-sh{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.cdoc-sh h2{margin:0;flex:1;font-size:var(--fs-body);font-weight:650}
.cdoc-n{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r-xs);background:var(--blue-t);color:var(--tint);font-size:var(--fs-caption);font-weight:750}
.cdoc-tag{font-size:var(--fs-caption);font-weight:700;color:var(--muted);padding:2px 9px;border-radius:var(--r-pill);background:var(--fill);transition:background .2s,color .2s}
.cdoc-tag.on{background:var(--orange-t);color:var(--cta-ink)}
.cdoc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.cdoc-fields .wide,.cdoc-fields .cdoc-sw{grid-column:1/-1}
.cdoc-f{animation:cdoc-fade .3s var(--ease)}
.cdoc-f.bad .in{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent)}
.cdoc-err{display:block;margin-top:4px;color:var(--danger);font-size:var(--fs-caption);font-weight:600}
.cdoc-hint{margin:0 0 10px;color:var(--muted);font-size:var(--fs-footnote);line-height:1.45}
.cdoc-sw{margin:0 0 12px;border-bottom:0;animation:cdoc-fade .3s var(--ease)}
.cdoc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.cdoc-chip{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--fs-footnote);cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .15s var(--ease)}
.cdoc-chip svg{width:0;height:14px;opacity:0;transition:width .2s var(--ease),opacity .2s}
.cdoc-chip.on{background:var(--blue-t);border-color:transparent;color:var(--tint);font-weight:650}
.cdoc-chip.on svg{width:14px;opacity:1}
.cdoc-chip:active{transform:scale(.95)}
.cdoc-money{display:flex;align-items:center;position:relative}
.cdoc-money b{position:absolute;left:12px;color:var(--muted)}
.cdoc-money .in{padding-left:26px;font-variant-numeric:tabular-nums;font-weight:600}
.cdoc-text{width:100%;min-height:220px;font-size:var(--fs-subhead);line-height:1.55;resize:vertical;margin-bottom:8px}
.cdoc-acts{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0 10px}
.cdoc-emit{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 24px;border:0;border-radius:var(--r);cursor:pointer;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);color:#fff;font:inherit;font-size:var(--fs-subhead);font-weight:750;box-shadow:0 10px 22px color-mix(in srgb,var(--blue) 35%,transparent);transition:transform .2s var(--ease),box-shadow .2s}
.cdoc-emit::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:cdoc-shine 4s ease-in-out infinite 1.2s}
@keyframes cdoc-shine{0%,62%{left:-60%}100%{left:130%}}
.cdoc-emit svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.cdoc-emit:hover{transform:translateY(-2px)}
.cdoc-emit:hover svg{transform:translateX(4px)}
.cdoc-emit:active{transform:scale(.97)}
.shake{animation:cdoc-shake .42s}
@keyframes cdoc-shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}

.cdoc-pv{position:sticky;top:calc(var(--sat) + 76px);min-width:0;animation:cdoc-rise .5s .2s var(--ease) both}
.cdoc-pvh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 2px 8px;font-size:var(--fs-footnote);color:var(--muted)}
.cdoc-pvh b{color:var(--ink);font-size:var(--fs-subhead)}
.cdoc-pvh span b{font-size:var(--fs-footnote);color:var(--cta-ink);font-family:var(--f-mono,"JetBrains Mono",ui-monospace,monospace)}
.cdoc-sheet{display:grid;gap:12px;max-height:calc(100vh - 170px);overflow:auto;padding:2px 2px 8px;transition:opacity .25s,filter .25s}
.cdoc-sheet.upd{opacity:.55;filter:blur(1px)}
.cdoc-sheet .eo-page{width:100%;height:auto;background:#fff;border-radius:4px;box-shadow:var(--shadow-2)}
.cdoc-pvload{aspect-ratio:612/792;border-radius:4px;background:linear-gradient(90deg,var(--fill) 0%,var(--surface-2) 50%,var(--fill) 100%) 0 0/200% 100%;animation:cdoc-skel 1.2s linear infinite}
@keyframes cdoc-skel{to{background-position:-200% 0}}

/* Sello de emitido */
.cdoc-stamp{display:flex;align-items:center;gap:14px;margin:0 auto 14px;max-width:820px;padding:14px 16px;border-radius:var(--r);background:var(--ok-t);color:var(--ok);animation:cdoc-stampin .55s var(--ease)}
@keyframes cdoc-stampin{0%{opacity:0;transform:scale(1.15) rotate(-2deg)}60%{opacity:1;transform:scale(.98)}100%{transform:none}}
.cdoc-seal{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--ok);color:#fff;box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 40%,transparent);animation:cdoc-ring 1.4s .3s ease-out}
@keyframes cdoc-ring{to{box-shadow:0 0 0 14px transparent}}
.cdoc-seal svg{width:22px;height:22px;stroke-dasharray:30;stroke-dashoffset:30;animation:cdoc-draw .45s .25s var(--ease) forwards}
@keyframes cdoc-draw{to{stroke-dashoffset:0}}
.cdoc-stamp b{display:block;color:var(--ink);font-size:var(--fs-subhead)}
.cdoc-stamp span{font-size:var(--fs-footnote);color:var(--ink-2)}
.cdoc-stamp em{font-style:normal;font-weight:800;color:var(--ok);font-family:var(--f-mono,"JetBrains Mono",ui-monospace,monospace)}
.cdoc-cxl{display:flex;align-items:center;gap:8px;max-width:820px;margin:0 auto 12px;padding:10px 14px;border-radius:var(--r-sm);background:var(--danger-t);color:var(--danger);font-weight:650;font-size:var(--fs-footnote)}
.cdoc-cxl svg{width:18px;height:18px}

/* Emitidos */
.cdoc-lt{display:grid;gap:10px;margin-bottom:12px}
.cdoc-search{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);max-width:520px}
.cdoc-search svg{width:17px;height:17px;flex:none}
.cdoc-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-subhead);padding:11px 0;outline:none}
.cdoc-filt{display:flex;flex-wrap:wrap;gap:6px}
.cdoc-fb{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--fs-footnote);font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.cdoc-fb b{font-size:var(--fs-caption);color:var(--muted)}
.cdoc-fb.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.cdoc-fb.on b{color:inherit;opacity:.75}
.cdoc-rows{display:grid;gap:8px}
.cdoc-row{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);animation:cdoc-rise .4s calc(var(--i,0) * 40ms) var(--ease) both;transition:border-color .2s,transform .2s var(--ease)}
.cdoc-row:hover{border-color:var(--line-2);transform:translateY(-1px)}
.cdoc-row.cxl{opacity:.72}
.cdoc-row.cxl .cdoc-folio{text-decoration:line-through}
.cdoc-ric{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--blue-t);color:var(--tint)}
.cdoc-ric svg{width:20px;height:20px}
.cdoc-rm{flex:1;min-width:0;display:grid;gap:3px}
.cdoc-r1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cdoc-folio{font-family:var(--f-mono,"JetBrains Mono",ui-monospace,monospace);font-size:var(--fs-subhead);color:var(--ink)}
.cdoc-st{padding:1px 8px;border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:700}
.cdoc-st.ok{background:var(--ok-t);color:var(--ok)}
.cdoc-st.x{background:var(--danger-t);color:var(--danger)}
.cdoc-r2{font-size:var(--fs-footnote);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdoc-r3{display:flex;align-items:center;gap:5px;font-size:var(--fs-caption);color:var(--muted);font-weight:600}
.cdoc-r3 svg{width:13px;height:13px}
.cdoc-ra{display:flex;gap:4px;flex:none}
.cdoc-ib{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);cursor:pointer;transition:background .2s}
.cdoc-ib:hover{background:var(--fill);color:var(--ink)}
.cdoc-ib svg{width:18px;height:18px}
.cdoc-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:36px 16px;border:1.5px dashed var(--line-2);border-radius:var(--r);color:var(--muted);font-size:var(--fs-footnote)}
.cdoc-empty svg{width:30px;height:30px;color:var(--tint)}
.cdoc-empty b{color:var(--ink);font-size:var(--fs-subhead)}

@media (max-width:1100px){.cdoc-types{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .cdoc-grid{grid-template-columns:1fr}
  .cdoc-pv{position:static}
  .cdoc-sheet{max-height:none}
}
@media (max-width:620px){
  .cdoc-types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdoc-type small{display:none}
  .cdoc-fields{grid-template-columns:1fr}
  .cdoc-tabs{display:flex}
  .cdoc-tabs button{flex:1;justify-content:center;padding:0 10px}
  .cdoc-acts{flex-direction:column-reverse;align-items:stretch}
  .cdoc-emit{justify-content:center}
  .cdoc-ric{display:none}
}
@media (prefers-reduced-motion:reduce){.cdoc *,.cdoc{animation-delay:0s!important;transition-delay:0s!important}.cdoc-emit::before{animation:none}}
