:root{
  --bg:#f4f6f9; --card:#fff; --ink:#1d2433; --muted:#6f7785; --line:#e3e7ee;
  --primary:#3f3688; --primary2:#2e2768; --danger:#b42318; --success:#067647;
  --shadow:0 10px 30px rgba(22,27,45,.08);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit} button{cursor:pointer}.hidden{display:none!important}.grow{flex:1}
.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:#17182c;color:#fff;padding:22px 16px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:800}.brand strong{display:block}.brand small{display:block;color:#b9bdd0;margin-top:3px}
.sidebar nav{display:grid;gap:7px;margin-top:20px}.nav-btn,.ghost,.primary,.danger,.link-btn{border:0;border-radius:10px;padding:10px 13px;text-decoration:none;text-align:center}.nav-btn{background:transparent;color:#cfd3df;text-align:left}.nav-btn:hover,.nav-btn.active{background:#2a2b46;color:#fff}.primary{background:var(--primary);color:#fff;font-weight:700}.primary:hover{background:var(--primary2)}.ghost{background:#eef0f5;color:#333}.danger{background:#fee4e2;color:var(--danger);font-weight:700}.full{width:100%}.sidebar .ghost{background:#2a2b46;color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:8px}.link-btn{display:block}
.main{margin-left:250px;min-width:0;width:calc(100% - 250px)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:26px 30px 14px}.topbar h1{margin:0 0 4px}.topbar p{margin:0;color:var(--muted)}.search-wrap input{width:360px;max-width:40vw;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.list-view{padding:10px 30px 40px}.stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{font-size:28px;display:block;margin-top:5px}.table-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#fafbfc}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.badge.BORRADOR{background:#fff3d6;color:#8a5b00}.badge.EMITIDO{background:#dcfae6;color:#067647}.badge.ANULADO{background:#fee4e2;color:#b42318}.row-action{background:transparent;border:0;color:var(--primary);font-weight:700}
.editor-toolbar{display:flex;gap:10px;align-items:center;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}.save-state{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(360px,500px) 1fr;gap:24px;padding:24px}.form-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;align-self:start;box-shadow:var(--shadow);max-height:calc(100vh - 90px);overflow:auto}.form-panel h2{margin-top:0}.form-panel label,.settings-dialog label{display:grid;gap:6px;font-size:13px;font-weight:700;margin:12px 0}.form-panel input,.form-panel select,.form-panel textarea,.settings-dialog input,.settings-dialog select{width:100%;padding:10px 11px;border:1px solid #cfd5df;border-radius:9px;background:#fff}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.compact-grid{align-items:end}.rich-toolbar{display:flex;gap:5px;margin-top:6px}.rich-toolbar button{width:34px;height:32px;border:1px solid var(--line);background:#fafafa;border-radius:7px}.body-editor{min-height:210px;border:1px solid #cfd5df;border-radius:9px;padding:11px;line-height:1.45;outline:none;margin-top:6px}.warn{background:#fff4e5;color:#9a3412;padding:10px;border-radius:8px;font-size:12px}.muted{color:var(--muted);font-size:13px}
.preview-panel{overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding-bottom:40px}.a4-page{position:relative;width:210mm;height:297mm;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.16);overflow:hidden;flex:0 0 auto}.letterhead{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0}.doc-meta{position:absolute;z-index:2;top:46mm;left:109mm;width:76mm;font-size:11.5pt;line-height:1.55}.doc-content{position:absolute;z-index:2;top:66mm;left:24mm;right:24mm;bottom:30mm;font-family:Arial,sans-serif;font-size:11.2pt;line-height:1.38;overflow:hidden}.doc-content p{margin:0 0 1.5mm}.subject-line{margin-top:5mm!important;margin-bottom:5mm!important}.body-copy{text-align:justify}.body-copy p{margin:0 0 4mm}.annexes{margin-top:5mm;font-size:10pt}.signature-intro{margin-top:7mm;margin-bottom:5mm}.signatures{display:grid;gap:8mm;align-items:start}.signatures-1{grid-template-columns:1fr}.signatures-2{grid-template-columns:1fr 1fr}.signatures-3{grid-template-columns:1fr 1fr 1fr}.signature-block{padding-top:14mm;text-align:center;min-height:34mm}.signature-block .sig-line{border-top:1px solid #000;margin:0 auto 3mm auto;width:90%}.signature-block strong,.signature-block span{display:block}.signature-block strong{font-size:10.6pt}.signature-block .sig-role{font-size:10pt}.signature-block .sig-meta{font-size:8.3pt;line-height:1.35;margin-top:2mm}.cancel-stamp{position:absolute;z-index:4;top:130mm;left:50%;transform:translateX(-50%) rotate(-18deg);border:6px solid rgba(180,35,24,.45);color:rgba(180,35,24,.5);font-size:42pt;font-weight:900;padding:5mm 10mm;border-radius:5mm;letter-spacing:.08em}
.settings-dialog{border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.25);width:min(980px,96vw)}.settings-dialog::backdrop{background:rgba(9,12,20,.5)}.settings-dialog form{padding:20px}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.icon-btn{border:0;background:transparent;font-size:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.left-actions{justify-content:flex-start}.settings-dialog hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.toast{position:fixed;right:24px;bottom:24px;background:#16191f;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;z-index:40}.toast.show{opacity:1;transform:translateY(0)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head h3,.section-head h4{margin:0}.small-btn{padding:8px 10px}.signers-card{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}.helper-box{font-size:12px;color:var(--muted);padding:10px 12px;background:#fff;border:1px dashed var(--line);border-radius:10px;display:flex;align-items:center}.signer-slots{display:grid;gap:4px}.signers-list{display:grid;gap:10px;margin-top:10px}.signer-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbfd}.signer-row strong{display:block;margin-bottom:2px}.signer-row small{display:block;color:var(--muted);line-height:1.35}.signer-actions{display:flex;gap:8px;align-items:center}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px}.mini-btn.warn-btn{background:#fff4f3;color:var(--danger);border-color:#ffd7d3}.signer-editor-block{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}
@media(max-width:1100px){.workspace{grid-template-columns:1fr}.form-panel{max-height:none}.preview-panel{justify-content:flex-start}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{width:78px;padding:16px 9px}.brand>div:last-child,.sidebar nav .nav-btn{font-size:0}.brand{justify-content:center}.sidebar .primary{font-size:0}.sidebar .primary::after{content:'+';font-size:22px}.sidebar-footer .ghost,.sidebar-footer .link-btn{font-size:0}.sidebar-footer .ghost::after{content:'⚙';font-size:18px}.sidebar-footer .link-btn::after{content:'⬇';font-size:18px}.main{margin-left:78px;width:calc(100% - 78px)}.topbar{align-items:flex-start;gap:14px;flex-direction:column}.search-wrap input{max-width:none;width:100%}.search-wrap{width:100%}.workspace{padding:12px}.grid-2,.grid-3,.signatures-2,.signatures-3{grid-template-columns:1fr}.a4-page{transform-origin:top left;zoom:.72}.stats{grid-template-columns:1fr 1fr}.signer-row{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start}}
@page{size:A4;margin:0}
@media print{
  body{background:#fff}.no-print,.sidebar,.topbar,.form-panel,.editor-toolbar{display:none!important}.main{margin:0!important;width:100%!important}.editor-view{display:block!important}.workspace{display:block;padding:0}.preview-panel{padding:0;display:block;overflow:visible}.a4-page{box-shadow:none;margin:0;width:210mm;height:297mm;page-break-after:always}.letterhead{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* v4 base: membrete variable, archivo, OCR y QR */
.download-btn{border:0;border-radius:10px;padding:10px 13px;background:#0b6e4f;color:#fff;font-weight:800}.download-btn:hover{filter:brightness(.94)}
.logo-options-help{display:flex;gap:6px;flex-wrap:wrap;margin-top:-5px;margin-bottom:8px}.logo-options-help span{font-size:11px;color:var(--muted);background:#f2f3f8;border-radius:999px;padding:4px 8px}
.archive-card,.ocr-card{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}.filename-preview{margin-top:8px;padding:10px 11px;background:#15162a;color:#fff;border-radius:9px;font-family:Consolas,monospace;font-size:12px;word-break:break-all}.pill{font-size:10px;font-weight:800;background:#e8e5ff;color:var(--primary);padding:5px 8px;border-radius:999px}.ocr-quality{font-size:11px;font-weight:800;padding:5px 9px;border-radius:999px}.ocr-quality.good{background:#dcfae6;color:#067647}.ocr-quality.medium{background:#fff3d6;color:#8a5b00}.ocr-quality.bad{background:#fee4e2;color:#b42318}
.logo-mask{position:absolute;z-index:1;background:#fff;pointer-events:none}.foundation-mask{left:58mm;top:14mm;width:43mm;height:22mm}.group-mask{left:128mm;top:15mm;width:68mm;height:23mm}
.record-dialog{border:0;border-radius:16px;padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.25);width:min(820px,94vw)}.record-dialog::backdrop{background:rgba(9,12,20,.5)}.record-layout{display:grid;grid-template-columns:190px 1fr;gap:20px;margin-top:18px}.qr-box{border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;background:#fafbfd}.qr-box img{width:150px;height:150px;max-width:100%;object-fit:contain;background:#fff}.qr-box small{display:block;color:var(--muted);margin-top:8px;line-height:1.35}.record-fields{display:grid;grid-template-columns:160px 1fr;gap:8px 12px;align-content:start}.record-fields .rf-label{font-size:12px;font-weight:800;color:#555}.record-fields .rf-value{font-size:12px;word-break:break-word}.record-fields .full-span{grid-column:1/-1}.record-dialog .link-btn{display:inline-block}
@media(max-width:760px){.record-layout{grid-template-columns:1fr}.record-fields{grid-template-columns:1fr}.record-fields .rf-label{margin-top:5px}.record-dialog .dialog-actions{flex-direction:column}.record-dialog .link-btn{width:100%}}

/* v4: QR verificable, firmas digitalizadas, sellos y etiquetas múltiples */
.signature-options{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:8px}.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;margin:0!important;font-weight:600!important}.check-line input{width:auto!important;margin:0}.signature-assets{height:15mm;display:flex;align-items:flex-end;justify-content:center;gap:2mm;margin-bottom:1mm}.preview-signature{max-width:32mm;max-height:14mm;object-fit:contain}.preview-seal{width:15mm;height:15mm;object-fit:contain}.signature-block{padding-top:0!important}
.record-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.record-actions-grid .link-btn{display:block;width:100%}.field-help{font-weight:400;color:var(--muted);line-height:1.35}.asset-strip{display:flex;gap:10px;margin-top:9px}.asset-strip>div{display:grid;gap:4px}.asset-strip span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}.asset-thumb{width:82px;height:46px;border:1px solid var(--line);border-radius:7px;background:#fff;object-fit:contain}.asset-empty{width:82px;height:46px;border:1px dashed var(--line);border-radius:7px;display:grid;place-items:center;font-size:10px!important;text-transform:none!important;font-weight:600!important;color:var(--muted)!important;background:#fff}.signer-main{min-width:0}.signer-actions{max-width:330px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.record-actions-grid{grid-template-columns:1fr}.signer-actions{justify-content:flex-start;max-width:none}.asset-strip{flex-direction:column}.asset-strip>div{width:max-content}.signature-assets{height:12mm}.preview-signature{max-width:27mm}.preview-seal{width:13mm;height:13mm}}

/* V5 - gestión documental */
.module-nav{display:grid;gap:7px;margin-top:20px}.module-btn{border:0;border-radius:10px;padding:11px 12px;background:transparent;color:#cfd3df;text-align:left;font:inherit;cursor:pointer}.module-btn:hover,.module-btn.active{background:#2a2b46;color:#fff}.status-filter{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:6px}.status-filter>small{color:#8f94a9;font-size:10px;font-weight:800;letter-spacing:.07em;padding:0 10px 4px}.view-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.view-head h2{margin:0 0 4px}.view-head p{margin:0;color:var(--muted)}.panel-title{padding:14px 16px;font-weight:800;border-bottom:1px solid var(--line);background:#fafbfd}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.priority{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.priority.BAJA{background:#eef2f6;color:#475467}.priority.NORMAL{background:#eef4ff;color:#3538cd}.priority.ALTA{background:#fff3d6;color:#8a5b00}.priority.URGENTE{background:#fee4e2;color:#b42318}.overdue{color:#b42318;font-weight:800}.due-ok{color:#067647}.attachments-card,.delivery-card{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}.attachment-list{display:grid;gap:8px;margin-top:10px}.attachment-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 10px;background:#fff;border:1px solid var(--line);border-radius:9px}.attachment-item strong{display:block;font-size:13px}.attachment-item small{display:block;color:var(--muted);margin-top:2px}.attachment-actions{display:flex;gap:6px}.attachment-actions a,.attachment-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 8px;text-decoration:none;color:var(--ink);font-size:12px}.dialog-body{padding:0 20px 20px}.response-info{padding:12px 14px;border-radius:10px;background:#eef4ff;color:#3538cd;margin-top:14px}.linked-items{display:grid;gap:8px;margin-top:12px}.linked-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.linked-item small{display:block;color:var(--muted)}.span-2{grid-column:span 2}.badge.RECIBIDO{background:#eef4ff;color:#3538cd}.badge.EN_REVISION{background:#fff3d6;color:#8a5b00}.badge.PENDIENTE_RESPUESTA{background:#fee4e2;color:#b42318}.badge.RESPONDIDO{background:#dcfae6;color:#067647}.badge.ARCHIVADO{background:#eef2f6;color:#475467}.badge.ABIERTO{background:#dcfae6;color:#067647}.badge.CERRADO{background:#eef2f6;color:#475467}.delivery-pill{font-size:11px;font-weight:800;border-radius:999px;padding:4px 8px;background:#eef2f6}.delivery-pill.ENTREGADO{background:#dcfae6;color:#067647}.delivery-pill.ENVIADO{background:#eef4ff;color:#3538cd}.delivery-pill.DEVUELTO{background:#fee4e2;color:#b42318}
@media(max-width:1100px){.two-panels{grid-template-columns:1fr}}
@media(max-width:760px){.module-btn{font-size:0;text-align:center}.module-btn::first-letter{font-size:18px}.status-filter>small{display:none}.view-head{align-items:flex-start;flex-direction:column}.span-2{grid-column:auto}.attachment-item,.linked-item{grid-template-columns:1fr}}

/* ===== V6: usuarios, permisos, aprobación y auditoría ===== */
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#17182c,#302868)}
.login-card{width:min(430px,94vw);background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.login-card h1{margin:12px 0 4px}.login-card p{margin:0 0 20px;color:var(--muted)}.login-card label{display:grid;gap:6px;font-size:13px;font-weight:700;margin:13px 0}.login-card input{width:100%;padding:12px;border:1px solid #cfd5df;border-radius:10px}.login-card small{display:block;margin-top:14px;color:var(--muted);line-height:1.45}.login-brand{width:54px;height:54px;border-radius:16px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px}.login-error{margin-top:12px;padding:10px 12px;border-radius:9px;background:#fee4e2;color:#b42318;font-size:13px}
.current-user-card{padding:12px;border-radius:12px;background:#24253f;margin-bottom:14px}.current-user-card strong{display:block;font-size:13px}.current-user-card small{display:block;color:#b9bdd0;margin-top:3px}.user-card-actions{display:flex;gap:10px;margin-top:8px}.tiny-link{border:0;background:transparent;color:#d9dcf0;padding:0;font-size:11px;text-decoration:underline}
.workflow-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.03em;background:#eef0f5}.workflow-badge.EN_REVISION{background:#e8eefc;color:#3448a4}.workflow-badge.APROBADO{background:#dcfae6;color:#067647}.workflow-badge.RECHAZADO{background:#fee4e2;color:#b42318}.workflow-badge.EMITIDO{background:#dcfae6;color:#067647}.workflow-badge.ANULADO{background:#f3f4f6;color:#6b7280}.submit-btn,.approve-btn{border:0;border-radius:10px;padding:10px 13px;font-weight:800}.submit-btn{background:#e8eefc;color:#3448a4}.approve-btn{background:#dcfae6;color:#067647}
.workflow-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fafbfd;margin:0 0 14px}.workflow-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.workflow-card #workflowText{font-weight:800}.rejection-box{margin-top:10px;padding:10px;border-radius:8px;background:#fff0ef;color:#9b1c14;font-size:12px}
.badge.EN_REVISION{background:#e8eefc;color:#3448a4}.badge.APROBADO{background:#dcfae6;color:#067647}.badge.RECHAZADO{background:#fee4e2;color:#b42318}
.users-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}.user-row strong{display:block}.user-row small{display:block;color:var(--muted);margin-top:2px}.role-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef0f5;font-size:11px;font-weight:800;margin-top:5px}.user-actions{display:flex;gap:8px}
.small-dialog{border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.25);width:min(520px,94vw)}.small-dialog::backdrop{background:rgba(9,12,20,.5)}.small-dialog .dialog-head,.small-dialog .dialog-body{padding:18px}.small-dialog .dialog-head{padding-bottom:0}.small-dialog label{display:grid;gap:6px;font-size:13px;font-weight:700;margin:12px 0}.small-dialog input{width:100%;padding:10px 11px;border:1px solid #cfd5df;border-radius:9px}
.audit-detail{max-width:360px;white-space:normal;word-break:break-word;color:var(--muted);font-size:12px}.audit-action{font-weight:800}.user-inactive{opacity:.55}
@media(max-width:760px){.current-user-card{padding:8px}.current-user-card strong,.current-user-card small,.user-card-actions{display:none}.workflow-badge{display:none}.user-row{grid-template-columns:1fr}}
.sidebar{overflow-y:auto}


/* ===== V6.1: encabezado editable + paridad de PDF ===== */
.header-logo-cover{position:absolute;z-index:1;left:18mm;top:5mm;width:178mm;height:38mm;background:#fff}
.header-logo{position:absolute;z-index:2;object-fit:contain;pointer-events:none}
.header-logo-gaby{left:22mm;top:13.5mm;width:36mm;height:25mm}
.header-logo-foundation{left:58mm;top:16mm;width:45mm;height:21mm}
.header-logo-group{left:128mm;top:17mm;width:60mm;height:20mm}
.doc-meta{left:auto!important;right:16mm!important;width:82mm!important;text-align:center!important;top:46mm!important}
.doc-content{top:66mm;bottom:30mm}
.header-logo-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.header-logo-setting{display:grid;grid-template-columns:116px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}
.logo-preview-box{height:72px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;padding:8px;overflow:hidden}
.logo-preview-box img{width:100%;height:100%;object-fit:contain}
.logo-setting-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
@media(max-width:900px){.header-logo-settings{grid-template-columns:1fr}.header-logo-setting{grid-template-columns:100px 1fr}}
@media print{.header-logo-cover,.header-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V7 · OCR, clasificación y búsqueda */
.v7-search-hero{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.smart-search-bar{display:grid;grid-template-columns:1fr auto;gap:10px}.smart-search-bar input{width:100%;padding:14px 15px;border:1px solid #cfd5df;border-radius:11px;font-size:15px;background:#fff}.v7-engine-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.ocr-engine-ok{background:#dcfae6!important;color:#067647!important}.ocr-engine-warn{background:#fff3d6!important;color:#8a5b00!important}.search-results{display:grid;gap:12px}.empty-search{padding:34px;background:#fff;border:1px dashed #cfd5df;border-radius:14px;text-align:center;color:var(--muted)}.search-result-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}.search-result-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-result-card h3{margin:10px 0 7px;font-size:17px}.search-snippet{margin:0;line-height:1.55;color:#414958}.search-snippet mark{background:#fff0a8;padding:1px 2px;border-radius:2px}.source-pill,.category-pill{display:inline-block;font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.source-pill{background:#eef0f5;color:#3c4350}.source-document{background:#e8e7f6;color:#3f3688}.source-incoming{background:#e6f4ff;color:#175cd3}.source-expedient{background:#e7f6ec;color:#067647}.source-attachment{background:#fff4e5;color:#9a3412}.category-pill{background:#f7f2ff;color:#6941c6}.search-result-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.search-result-meta span{font-size:11px;color:var(--muted);background:#fafbfd;border:1px solid var(--line);border-radius:7px;padding:4px 7px}.search-result-actions{display:flex;gap:12px;align-items:center;margin-top:12px}.mini-download{font-size:12px;color:var(--primary);text-decoration:none;font-weight:700}.v7-analysis-card{margin:14px 0;padding:14px;border:1px solid #d9d4f1;border-radius:12px;background:#faf9ff}.analysis-summary{padding:9px 10px;background:#fff;border:1px dashed var(--line);border-radius:9px;line-height:1.45}.attachment-analysis{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:4px}.analysis-pill{display:inline-block;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}.analysis-pill.good{background:#dcfae6;color:#067647}.analysis-pill.review{background:#fff3d6;color:#8a5b00}.analysis-pill.pending{background:#eef0f5;color:#667085}.attachment-keywords{display:block;width:100%;color:var(--muted);margin-top:2px}.analyze-btn{border:0;background:#f1effb;color:var(--primary);font-weight:700;border-radius:7px;padding:6px 8px}.category-text{color:#6941c6;font-weight:700}
@media(max-width:700px){.smart-search-bar{grid-template-columns:1fr}.v7-engine-line{align-items:flex-start;flex-direction:column}}

/* V7.1 · acciones directas en listado y exportación Excel */
.table-pdf-btn,.table-view-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:800;text-decoration:none}
.table-pdf-btn{background:#e8f7ef;color:#067647;border:1px solid #b7e4ca}.table-pdf-btn:hover{background:#d9f1e4}
.table-view-btn{background:#eeeefa;color:var(--primary);border:1px solid #d8d6f0}.table-view-btn:hover{background:#e2e0f5}
.export-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;margin-top:18px}.export-card{display:flex;flex-direction:column;gap:8px;min-height:180px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.export-card:hover{transform:translateY(-2px);border-color:#cbc8ea;box-shadow:0 14px 34px rgba(22,27,45,.12)}.export-card.export-main{grid-column:1/-1;min-height:150px;background:linear-gradient(135deg,#fff,#f5f4ff)}.export-card .export-icon{font-size:30px}.export-card strong{font-size:18px}.export-card small{color:var(--muted);font-size:13px;line-height:1.5;max-width:820px}.export-action{margin-top:auto;display:inline-flex;align-self:flex-start;background:var(--primary);color:#fff;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:800}.export-note{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--muted);font-size:13px}
@media(max-width:760px){.export-grid{grid-template-columns:1fr}.export-card.export-main{grid-column:auto}.table-pdf-btn,.table-view-btn{padding:7px 8px}}


/* V7.2 · hora de creación y constancias de entrega */
.creation-info{margin-top:6px;font-size:12px;font-weight:700;color:var(--primary)}
.delivery-files-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.delivery-file-box{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;min-width:0}
.delivery-file-box h4{margin:0 0 2px;font-size:14px}.delivery-file-box small{color:var(--muted)}
.compact-attachments .attachment-item{grid-template-columns:1fr;align-items:start}.compact-attachments .attachment-actions{flex-wrap:wrap}
.table-date-meta{display:block;margin-top:3px;color:var(--muted);font-size:11px;white-space:nowrap}
@media(max-width:900px){.delivery-files-grid{grid-template-columns:1fr}}

/* V8 · estabilización */
.lock-state{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-size:12px;font-weight:700;white-space:nowrap}
.lock-state.lock-conflict{background:#fff3e0;color:#a04600}
.version-list,.backup-list{display:grid;gap:10px;margin-top:14px}
.version-row,.backup-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}
.version-row strong,.backup-row strong{display:block}.version-row small,.backup-row small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}
.backup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);background:#f8fafc;border-radius:12px}.backup-head p{margin:5px 0 0}
@media(max-width:760px){.version-row,.backup-row,.backup-head{align-items:stretch;flex-direction:column}.editor-toolbar{flex-wrap:wrap}.lock-state{white-space:normal}}
/* ===== V8: servidor y despliegue ===== */
.v8-system-panels{align-items:stretch}.system-card{padding-bottom:8px}.system-detail{padding:14px 18px 18px}.system-kv{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.system-kv:last-child{border-bottom:0}.system-kv span{color:var(--muted)}.system-kv strong{text-align:right;overflow-wrap:anywhere}.production-ok,.production-warn{margin:14px 18px 18px;padding:14px 16px;border-radius:12px;line-height:1.5}.production-ok{background:#dcfae6;color:#067647}.production-warn{background:#fff3d6;color:#8a5b00}

/* V8.1 · Donaciones */
.donation-dialog{width:min(1180px,97vw)}
.donation-items-card{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}
.donation-items-card .section-head p{margin:3px 0 0}
.donation-items-head{display:grid;grid-template-columns:minmax(180px,2.2fr) 90px 105px 90px 105px 105px 38px;gap:8px;padding:8px 4px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.donation-item-row{display:grid;grid-template-columns:minmax(180px,2.2fr) 90px 105px 90px 105px 105px 38px;gap:8px;align-items:center;padding:8px 4px;border-top:1px solid var(--line)}
.donation-item-row input,.donation-item-row select{width:100%;padding:9px 8px;border:1px solid #cfd5df;border-radius:8px;background:#fff}
.donation-remove-item{border:0;border-radius:8px;background:#fee4e2;color:var(--danger);height:36px;font-weight:800}
.donation-item-extra{grid-column:1/-1;display:grid;grid-template-columns:1fr 160px 2fr;gap:8px;padding:0 0 4px 0}
.donation-totals{display:flex;gap:18px;flex-wrap:wrap;padding:12px 4px 2px;color:var(--muted);font-size:12px;border-top:1px dashed var(--line);margin-top:5px}
.donation-totals strong{color:var(--ink)}
.badge.RECIBIDA{background:#eef4ff;color:#3538cd}.badge.VERIFICADA{background:#dcfae6;color:#067647}.badge.DISTRIBUIDA{background:#e0f2fe;color:#075985}.badge.CERRADA{background:#f2f4f7;color:#344054}.badge.ANULADA{background:#fee4e2;color:#b42318}
@media(max-width:900px){.donation-items-head{display:none}.donation-item-row{grid-template-columns:1fr 1fr}.donation-item-row .di-desc{grid-column:1/-1}.donation-item-extra{grid-column:1/-1;grid-template-columns:1fr}.donation-remove-item{width:42px}.donation-dialog{width:96vw}}

/* V8.2 · documentos de donación secuenciales */
.donation-upload-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin:10px 0}.donation-upload-row label{margin:0}.donation-document-counter{background:#f3f4fa;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0;font-size:13px}.donation-naming-example{font-size:12px;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px}.donation-naming-example code{color:var(--primary);font-weight:700}.donation-doc-meta{display:block;color:#535c6e;margin-top:3px}.attachment-item .donation-doc-meta strong{font-size:12px}.donation-documents-card .attachment-item>div:first-child>strong{color:var(--primary)}
@media(max-width:760px){.donation-upload-row{grid-template-columns:1fr}.donation-upload-row button{width:100%}}

/* V8.4 · Directorio de donantes y receptores */
.directory-picker-card{margin:14px 0;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}
.directory-picker-card h3{margin:0 0 3px}.directory-picker-card p{margin:0}
.directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.directory-section{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafbfd}
.directory-list{display:grid;gap:8px;max-height:250px;overflow:auto;margin:12px 0}
.directory-entry{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.directory-entry strong,.directory-entry small{display:block}.directory-entry small{color:var(--muted);margin-top:2px}
.directory-form{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.attachment-ref{display:block;margin-top:5px;color:#5f6673}
@media(max-width:850px){.directory-grid{grid-template-columns:1fr}}

/* V8.5 · Distribución de donaciones */
.distribution-card{margin-top:16px}
.distribution-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.distribution-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #e2e6ee;border-radius:12px;padding:12px 14px;background:#fff}
.distribution-entry strong{display:block;color:#22283a}
.distribution-entry small{display:block;color:#6f7785;margin-top:3px}
.distribution-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.distribution-actions a,.distribution-actions button{white-space:nowrap}
.distribution-items-head{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.6fr;gap:8px;font-size:12px;font-weight:700;color:#596174;padding:0 4px 6px}
.distribution-item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.6fr;gap:8px;align-items:center;border-top:1px solid #eceff4;padding:9px 4px}
.distribution-item-row:first-child{border-top:0}
.distribution-item-row input{min-width:0}
.distribution-product-name strong{display:block}
.distribution-product-name small{display:block;color:#7a8190;margin-top:2px}
.distribution-available{font-size:12px;color:#3d4658}
.distribution-available strong{display:block;font-size:14px;color:#1f2533}
.distribution-empty{padding:12px;border:1px dashed #cfd5df;border-radius:10px;color:#6f7785;background:#fafbfc}
@media(max-width:900px){
  .distribution-items-head{display:none}
  .distribution-item-row{grid-template-columns:1fr 1fr}
  .distribution-product-name{grid-column:1/-1}
  .distribution-item-row input:last-child{grid-column:1/-1}
  .distribution-entry{grid-template-columns:1fr}
  .distribution-actions{justify-content:flex-start}
}

/* V8.6 · Inventario temporal de donaciones */
.inventory-alert-panel{margin:12px 0 16px;display:grid;gap:7px}
.inventory-alert-title{font-weight:700;color:#7a4d00;margin-bottom:2px}
.inventory-alert{padding:9px 11px;border:1px solid #e5e7ee;border-radius:10px;background:#fff;font-size:13px}
.inventory-alert.VENCIDO{border-color:#e8b4b4;background:#fff7f7}
.inventory-alert.POR_VENCER{border-color:#ecd39b;background:#fffaf0}
.inventory-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;background:#eef1f6;color:#384152}
.inventory-status.DISPONIBLE{background:#eaf7ef;color:#24643a}
.inventory-status.POR_VENCER{background:#fff2cf;color:#7b5600}
.inventory-status.VENCIDO{background:#fde8e8;color:#9d2929}
.inventory-status.SIN_STOCK{background:#eceff3;color:#5f6877}

/* V8.7 · Donantes recurrentes */
.view-head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.recurring-donor-panel{margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafbfd}
.recurring-donor-panel .section-head h3{margin:0 0 3px}
.recurring-donor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px;margin-top:11px}
.recurring-donor-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;box-shadow:0 2px 8px rgba(20,28,45,.035)}
.recurring-donor-card.ATRASADO{border-color:#e6b6b6;background:#fffafa}
.recurring-donor-card.PROXIMO{border-color:#ead39e;background:#fffdf7}
.recurring-donor-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.recurring-donor-top strong,.recurring-donor-top small{display:block}.recurring-donor-top small{color:var(--muted);margin-top:3px;font-size:11px}
.recurring-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;background:#eef1f6;color:#4c5668}
.recurring-status.AL_DIA{background:#e9f7ef;color:#21633a}.recurring-status.PROXIMO{background:#fff2cf;color:#7b5600}.recurring-status.ATRASADO{background:#fde8e8;color:#9b2929}.recurring-status.NUEVO{background:#eef1f6;color:#4d5667}
.recurring-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.recurring-metrics span{border:1px solid #edf0f5;border-radius:9px;padding:7px 8px;color:var(--muted);font-size:10.5px}.recurring-metrics b{display:block;color:var(--ink);font-size:13px;margin-bottom:1px}
.recurring-donor-actions{display:flex;gap:7px;flex-wrap:wrap}.recurring-donor-actions .small-btn{font-size:11px;text-decoration:none}
.donor-recurrence-hint{margin-top:9px;padding:9px 11px;border-radius:10px;background:#f2f5ff;border:1px solid #d9e0fb;color:#39445c;font-size:12px}
.donor-template-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.donor-template-actions a{text-decoration:none}
.recurring-defaults-card{margin:12px 0;padding:12px;border:1px dashed #cfd5df;border-radius:11px;background:#fff}.recurring-defaults-card h4{margin:0 0 3px}.recurring-defaults-card .section-head{margin-bottom:9px}
.directory-entry-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.directory-entry-actions a{text-decoration:none}
@media(max-width:700px){.view-head-actions{width:100%}.view-head-actions button{flex:1}.recurring-donor-grid{grid-template-columns:1fr}.recurring-metrics{grid-template-columns:1fr 1fr}}

/* V8.8 · Beneficiarios y entregas individuales */
.beneficiary-toolbar{display:grid;grid-template-columns:240px minmax(260px,1fr);gap:10px;margin:12px 0 16px}.beneficiary-toolbar select,.beneficiary-toolbar input{width:100%;padding:11px 12px;border:1px solid #cfd5df;border-radius:10px;background:#fff}.beneficiary-select-card{margin:12px 0;padding:12px;border:1px solid #d9d5ef;border-radius:12px;background:#faf9ff}.beneficiary-select-card .section-head{margin-bottom:8px}.beneficiary-select-card select{width:100%;padding:10px 11px;border:1px solid #cfd5df;border-radius:9px;background:#fff}.beneficiary-active-line{display:flex!important;align-items:center;gap:8px;justify-content:flex-start;padding-top:27px}.beneficiary-active-line input{width:auto!important}.source-beneficiary{background:#f0eaff;color:#6941c6}.badge.ACTIVO{background:#e9f7ef;color:#21633a}
@media(max-width:760px){.beneficiary-toolbar{grid-template-columns:1fr}.beneficiary-active-line{padding-top:0}.beneficiary-select-card .section-head{align-items:stretch;flex-direction:column}}

/* V8.9 · Escáner QR móvil */
.qr-security-notice{margin:0 0 16px;padding:12px 14px;border-radius:12px;border:1px solid #dce3ed;background:#f8fafc;color:#334155;font-size:13px}
.qr-security-notice.ok{background:#ecfdf3;border-color:#b7e4c7;color:#166534}
.qr-security-notice.warn{background:#fff8e6;border-color:#f2d48b;color:#8a5b00}
.qr-scanner-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:start}
.qr-camera-card,.qr-result-card,.qr-help-card{background:#fff;border:1px solid #e3e7ee;border-radius:16px;box-shadow:0 8px 24px rgba(22,27,45,.05)}
.qr-camera-card{padding:16px}
.qr-camera-stage{position:relative;aspect-ratio:4/3;background:#111827;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.qr-camera-stage video{width:100%;height:100%;object-fit:cover;background:#111827}
.qr-camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#e5e7eb;text-align:center;padding:20px;background:linear-gradient(145deg,#111827,#1f2937)}
.qr-camera-placeholder span{font-size:48px;opacity:.85}
.qr-camera-placeholder small{color:#9ca3af;max-width:320px}
.qr-scan-frame{position:absolute;left:50%;top:50%;width:min(58%,280px);aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.92);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.18);pointer-events:none}
.qr-scan-frame:before,.qr-scan-frame:after{content:"";position:absolute;inset:11px;border:2px dashed rgba(255,255,255,.35);border-radius:11px}
.qr-camera-status{margin-top:10px;font-size:13px;color:#667085}
.qr-camera-status.active{color:#067647;font-weight:700}
.qr-manual-card{margin-top:16px;padding-top:14px;border-top:1px solid #edf0f5}
.qr-manual-card label{display:block;font-weight:700;font-size:13px;color:#344054}
.qr-manual-row{display:flex;gap:8px;margin-top:7px}
.qr-manual-row input{flex:1;min-width:0}
.qr-file-row{display:flex;justify-content:flex-start;margin-top:10px}
.qr-result-column{display:grid;gap:16px}
.qr-result-card{min-height:260px;padding:18px}
.qr-result-card.empty,.qr-result-card.loading,.qr-result-card.not-found{display:flex;align-items:center;justify-content:center;text-align:center}
.qr-result-empty{display:flex;flex-direction:column;gap:8px;align-items:center;color:#667085}
.qr-result-empty span{font-size:42px}
.qr-result-empty strong{font-size:18px;color:#344054}
.qr-result-empty p{margin:4px 0 0;max-width:360px;font-size:13px}
.qr-result-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #edf0f5}
.qr-result-head small{display:block;color:#667085;text-transform:uppercase;font-weight:800;font-size:11px;letter-spacing:.04em}
.qr-result-head h3{margin:4px 0 0;font-size:24px;word-break:break-word}
.qr-result-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;background:#eef2f6;color:#475467}
.qr-result-status.ok{background:#dcfae6;color:#067647}.qr-result-status.warn{background:#fff3d6;color:#8a5b00}.qr-result-status.neutral{background:#eef2ff;color:#4338ca}
.qr-result-body{padding:18px 0}.qr-result-body strong{font-size:17px}.qr-result-body p{color:#667085;margin:7px 0 10px;line-height:1.45}
.qr-result-actions{display:flex;gap:8px;flex-wrap:wrap}.qr-link-btn{display:inline-flex;align-items:center;text-decoration:none}
.qr-help-card{padding:16px}.qr-help-card h3{margin:0 0 10px}.qr-help-card p{color:#667085;font-size:13px;line-height:1.5;margin:12px 0 0}
.qr-code-examples{display:flex;gap:7px;flex-wrap:wrap}.qr-code-examples code{background:#f2f4f7;border:1px solid #e4e7ec;border-radius:7px;padding:5px 7px;font-size:11px}
.qr-history-card{margin-top:18px}.qr-history-card .panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qr-history-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.qr-history-state.ok{background:#dcfae6;color:#067647}.qr-history-state.fail{background:#fee4e2;color:#b42318}
@media(max-width:900px){.qr-scanner-grid{grid-template-columns:1fr}.qr-camera-stage{aspect-ratio:3/4;max-height:68vh}.qr-result-card{min-height:210px}}
@media(max-width:600px){.qr-manual-row{flex-direction:column}.qr-scanner-grid{gap:12px}.qr-camera-card,.qr-result-card,.qr-help-card{border-radius:12px}.qr-camera-card{padding:10px}.qr-result-head{flex-direction:column}.qr-result-actions>*{flex:1 1 100%;justify-content:center;text-align:center}}

/* V8.10 · documentos automáticos */
.auto-documents-card{border-style:dashed;background:#fbfbfe}
.auto-document-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.disabled-link{pointer-events:none;opacity:.45;filter:grayscale(1)}

/* V8.11 · Panel de indicadores de donaciones */
.dashboard-head{align-items:flex-start}.dashboard-filter-card{display:grid;grid-template-columns:160px 180px minmax(240px,1fr) minmax(220px,1fr);gap:12px;align-items:end;margin:14px 0 16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafbfd}.dashboard-filter-card label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#475467}.dashboard-filter-card select{width:100%;padding:10px 11px;border:1px solid #cfd5df;border-radius:10px;background:#fff}.dashboard-period-label{min-height:42px;display:flex;align-items:center;padding:8px 11px;border-radius:10px;background:#f1f3f8;color:#475467;font-size:12px}.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:11px;margin-bottom:16px}.dashboard-kpi{background:#fff;border:1px solid #e3e7ee;border-radius:14px;padding:13px;box-shadow:0 4px 14px rgba(22,27,45,.035)}.dashboard-kpi small{display:block;color:#667085;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.dashboard-kpi strong{display:block;font-size:22px;margin-top:5px;color:#1d2939}.dashboard-kpi span{display:block;color:#667085;font-size:10.5px;margin-top:4px}.dashboard-kpi.alert strong{color:#b42318}.dashboard-kpi.good strong{color:#067647}.dashboard-grid{display:grid;gap:14px;margin-bottom:14px}.dashboard-grid-primary{grid-template-columns:1fr 1fr}.dashboard-grid-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid-secondary:last-of-type{grid-template-columns:1.35fr 1fr}.dashboard-card{background:#fff;border:1px solid #e3e7ee;border-radius:15px;padding:15px;box-shadow:0 5px 18px rgba(22,27,45,.035);min-width:0}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.dashboard-card-head h3{margin:0;font-size:15px}.dashboard-card-head small{color:#667085;font-size:10.5px;text-align:right}.dashboard-bars{display:grid;gap:8px}.dashboard-bar-row{display:grid;grid-template-columns:38px 1fr 76px;gap:8px;align-items:center;font-size:11px}.dashboard-bar-track{height:9px;border-radius:999px;background:#edf0f5;overflow:hidden}.dashboard-bar-fill{height:100%;border-radius:999px;background:#5146a8;min-width:2px}.dashboard-bar-fill.alt{background:#2f7a5c}.dashboard-bar-value{text-align:right;font-weight:700;color:#344054;white-space:nowrap}.dashboard-flow-row{display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:start}.dashboard-flow-lines{display:grid;gap:5px}.dashboard-flow-line{display:grid;grid-template-columns:70px 1fr 68px;gap:7px;align-items:center;font-size:10px;color:#667085}.dashboard-ranking{display:grid;gap:9px}.dashboard-rank-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding-bottom:8px;border-bottom:1px solid #f0f2f5}.dashboard-rank-row:last-child{border-bottom:0}.dashboard-rank-num{width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f0eefc;color:#5146a8;font-weight:800;font-size:11px}.dashboard-rank-main strong,.dashboard-rank-main small{display:block}.dashboard-rank-main strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-rank-main small{font-size:10px;color:#667085;margin-top:2px}.dashboard-rank-value{text-align:right;font-weight:800;font-size:12px}.dashboard-status-list{display:grid;gap:9px}.dashboard-status-row{display:grid;grid-template-columns:minmax(90px,1fr) 1.6fr 32px;gap:7px;align-items:center;font-size:11px}.dashboard-status-track{height:8px;border-radius:999px;background:#edf0f5;overflow:hidden}.dashboard-status-fill{height:100%;background:#5146a8;border-radius:999px}.dashboard-alert-list,.dashboard-recent-list{display:grid;gap:8px}.dashboard-alert-row,.dashboard-recent-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 10px;border:1px solid #eceff3;border-radius:10px;background:#fff}.dashboard-alert-row.VENCIDO{border-color:#f0b9b9;background:#fffafa}.dashboard-alert-row.POR_VENCER{border-color:#ead49e;background:#fffdf7}.dashboard-alert-row strong,.dashboard-alert-row small,.dashboard-recent-row strong,.dashboard-recent-row small{display:block}.dashboard-alert-row strong,.dashboard-recent-row strong{font-size:11.5px}.dashboard-alert-row small,.dashboard-recent-row small{font-size:10px;color:#667085;margin-top:2px}.dashboard-alert-meta,.dashboard-recent-date{text-align:right;font-size:10px;color:#667085;white-space:nowrap}.dashboard-empty{padding:18px;text-align:center;color:#667085;font-size:12px;border:1px dashed #d7dce5;border-radius:10px;background:#fafbfd}.dashboard-quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin:4px 0 18px}.dashboard-quick-actions button{min-width:150px}.dashboard-progress{margin-top:8px}.dashboard-progress-head{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:#667085;margin-bottom:5px}.dashboard-progress-track{height:10px;background:#edf0f5;border-radius:999px;overflow:hidden}.dashboard-progress-fill{height:100%;background:#2f7a5c;border-radius:999px}.dashboard-loading{padding:34px;text-align:center;color:#667085}.dashboard-card a.dashboard-open{font-size:10px;text-decoration:none;color:#5146a8;font-weight:700}
@media(max-width:1200px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-filter-card{grid-template-columns:1fr 1fr}.dashboard-grid-secondary{grid-template-columns:1fr 1fr}.dashboard-grid-secondary:last-of-type{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-grid-primary,.dashboard-grid-secondary,.dashboard-grid-secondary:last-of-type{grid-template-columns:1fr}.dashboard-filter-card{grid-template-columns:1fr}.dashboard-period-label{min-height:auto}.dashboard-bar-row{grid-template-columns:32px 1fr 64px}.dashboard-flow-line{grid-template-columns:58px 1fr 58px}}
@media(max-width:480px){.dashboard-kpis{grid-template-columns:1fr}.dashboard-quick-actions>*{flex:1 1 100%}.dashboard-card{padding:12px}}

/* V8.12 · Evidencias fotográficas */
.evidence-card{border:1px solid #dfe3ea;background:linear-gradient(180deg,#fff,#fbfcff)}
.evidence-controls{display:grid;grid-template-columns:1.1fr .8fr 2fr;gap:10px;margin:10px 0}
.evidence-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#4b5360}
.evidence-caption-field{min-width:0}
.evidence-actions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.evidence-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.evidence-card-item{border:1px solid #e1e5ec;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-height:220px}
.evidence-thumb{height:150px;background:#f0f2f6;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.evidence-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.evidence-file-placeholder{font-size:34px;color:#707887}
.evidence-code{position:absolute;left:8px;top:8px;background:rgba(20,24,33,.78);color:#fff;padding:4px 7px;border-radius:7px;font-size:11px;font-weight:700}
.evidence-body{padding:10px;display:flex;flex-direction:column;gap:5px;flex:1}
.evidence-body strong{font-size:13px;line-height:1.25}
.evidence-body small{font-size:11px;color:#6b7280;line-height:1.35}
.evidence-item-actions{display:flex;gap:6px;flex-wrap:wrap;padding:0 10px 10px}
.evidence-item-actions a,.evidence-item-actions button{font-size:11px;padding:6px 8px;border-radius:7px}
.evidence-kind-pill{display:inline-block;background:#f0eefb;color:#4b3f91;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;width:max-content}
@media(max-width:760px){.evidence-controls{grid-template-columns:1fr}.evidence-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.evidence-gallery{grid-template-columns:1fr}.evidence-actions button{flex:1}}

/* V8.13 · Centro de alertas y pendientes */
.alert-nav-btn{display:flex!important;align-items:center;gap:8px}.nav-count-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#b42318;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.alerts-head{align-items:flex-start}.alerts-filter-card{display:grid;grid-template-columns:repeat(3,minmax(150px,220px)) minmax(240px,1fr);gap:12px;background:#fff;border:1px solid #e5e8ef;border-radius:14px;padding:14px;margin-bottom:12px}.alerts-filter-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#51586a}.alerts-filter-card select,.alerts-filter-card input{width:100%;min-height:40px;border:1px solid #d9deea;border-radius:9px;padding:8px 10px;background:#fff;color:#202536}.alerts-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 12px;margin-bottom:12px;color:#596174;font-size:12px}.alerts-legend span{display:inline-flex;align-items:center;gap:6px}.alerts-legend small{margin-left:auto;color:#747c8d}.alert-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.alert-dot.critical{background:#b42318}.alert-dot.high{background:#dc6803}.alert-dot.medium{background:#b54708}.alert-dot.low{background:#175cd3}.alerts-list{display:grid;gap:10px}.alert-card{background:#fff;border:1px solid #e5e8ef;border-left:5px solid #98a2b3;border-radius:13px;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;box-shadow:0 2px 10px rgba(16,24,40,.04)}.alert-card.CRITICA{border-left-color:#b42318}.alert-card.ALTA{border-left-color:#dc6803}.alert-card.MEDIA{border-left-color:#b54708}.alert-card.BAJA{border-left-color:#175cd3}.alert-card.ACK{opacity:.72}.alert-card.SNOOZED{opacity:.7;background:#f8f9fc}.alert-main{min-width:0}.alert-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.alert-title-row strong{font-size:14px;color:#1d2433}.alert-severity{font-size:10px;font-weight:800;border-radius:999px;padding:4px 7px;letter-spacing:.03em}.alert-severity.CRITICA{background:#fee4e2;color:#b42318}.alert-severity.ALTA{background:#ffead5;color:#b54708}.alert-severity.MEDIA{background:#fef0c7;color:#93370d}.alert-severity.BAJA{background:#dbeafe;color:#175cd3}.alert-category{font-size:10px;font-weight:700;color:#667085;background:#f2f4f7;border-radius:999px;padding:4px 7px}.alert-message{font-size:13px;color:#475467;line-height:1.45;margin-bottom:7px}.alert-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#7a8394}.alert-state-note{font-size:11px;font-weight:700;color:#667085}.alert-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;max-width:340px}.alert-actions button{white-space:nowrap}.alert-actions .alert-open{background:#3f3688;color:#fff;border:0;border-radius:8px;padding:8px 10px;font-weight:700;cursor:pointer}.alert-actions .alert-review,.alert-actions .alert-snooze,.alert-actions .alert-reopen{background:#fff;color:#344054;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;cursor:pointer}.alert-empty{background:#fff;border:1px dashed #cfd5df;border-radius:14px;padding:34px;text-align:center;color:#667085}.alert-empty strong{display:block;color:#344054;font-size:16px;margin-bottom:6px}.stat.alert-critical strong{color:#b42318}.stat.alert-high strong{color:#b54708}.stat.alert-new strong{color:#3f3688}
@media(max-width:960px){.alerts-filter-card{grid-template-columns:1fr 1fr}.alert-card{grid-template-columns:1fr}.alert-actions{justify-content:flex-start;max-width:none}.alerts-legend small{width:100%;margin-left:0}}
@media(max-width:600px){.alerts-filter-card{grid-template-columns:1fr}.alert-actions{display:grid;grid-template-columns:1fr 1fr}.alert-actions button{width:100%}.alerts-search-label{grid-column:auto}.alert-card{padding:12px}}

/* V8.14 · Centro de reportes institucionales */
.institutional-report-filter-card{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;background:#fff;border:1px solid #e3e7ee;border-radius:14px;padding:16px;margin-bottom:14px}
.institutional-report-filter-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4d5564}
.institutional-report-filter-card input,.institutional-report-filter-card select{min-height:40px;border:1px solid #d9deea;border-radius:9px;padding:8px 10px;background:#fff;color:#202431}
.report-period-banner{background:#f5f3ff;border:1px solid #ddd8ff;color:#3f3688;border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:13px}
.report-rank-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf0f5;align-items:flex-start}
.report-rank-row:last-child{border-bottom:0}.report-rank-row strong{font-size:13px;color:#252a36}.report-rank-row span{font-size:12px;color:#6e7685;text-align:right}
.report-activity-card{margin-top:16px}.report-help-card{margin-top:14px;padding:13px 15px;border-radius:12px;background:#fff9e9;border:1px solid #f0dfaa;color:#665523;font-size:12.5px}
@media(max-width:1050px){.institutional-report-filter-card{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:650px){.institutional-report-filter-card{grid-template-columns:1fr}.reports-head .view-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.reports-head .view-head-actions #reportsRefreshBtn{grid-column:1/-1}}

/* V8.15 · Firma manuscrita en pantalla para entregas */
.distribution-signature-card{margin:14px 0;padding:14px;border:1px solid #dfe3eb;border-radius:14px;background:#fbfbfd}
.signature-record-layout{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;align-items:center;margin-top:10px}
.signature-preview-box{min-height:110px;border:1px dashed #c6cad3;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}
.signature-preview-box img{display:block;max-width:100%;max-height:95px;object-fit:contain}
.signature-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;background:#eceff4;color:#5b6370}
.signature-status-badge.signed{background:#e8f6ed;color:#1d6d3c}
.signature-status-badge.pending{background:#fff4dc;color:#875700}
.signature-meta{line-height:1.55}
.signature-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.distribution-signed-pill{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:#e8f6ed;color:#1d6d3c;font-size:11px;font-weight:700}
.signature-capture-dialog{width:min(860px,94vw)}
.signature-capture-intro{padding:10px 12px;border-radius:10px;background:#f2f1f8;margin-bottom:12px;color:#45475a}
.signature-canvas-wrap{margin-top:12px;border:2px solid #20242c;border-radius:12px;background:#fff;overflow:hidden;touch-action:none}
#distributionSignatureCanvas{width:100%;height:min(34vw,270px);min-height:180px;display:block;background:#fff;touch-action:none;cursor:crosshair}
.signature-capture-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}
.signature-consent-line{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:12px;border:1px solid #d8dce5;border-radius:10px;background:#fff}
.signature-consent-line input{margin-top:3px}
.signature-legal-note{font-size:12px;color:#69707c;line-height:1.45;margin-top:10px}
@media(max-width:720px){.signature-record-layout{grid-template-columns:1fr}.signature-preview-box{min-height:95px}.signature-capture-tools{align-items:flex-start;flex-direction:column}#distributionSignatureCanvas{height:230px}}

/* V8.16 · Archivo físico inteligente */
.archive-head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.archive-locations-block{margin-top:18px}.archive-location-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.archive-location-card{background:#fff;border:1px solid #e5e8ef;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.archive-location-card strong{color:#3f3688}.archive-location-card span{font-size:.92rem}.archive-location-card small{color:#697180}.archive-location-text{display:block;max-width:360px;line-height:1.35}.archive-row-actions{display:flex;gap:6px;flex-wrap:wrap}.archive-preview-box{border:1px dashed #cdd3df;background:#f8f9fc;border-radius:10px;padding:12px;color:#40485a}.badge.ARCHIVADO{background:#eaf7ee;color:#24683c}.badge.PRESTADO{background:#fff2d8;color:#8a5b00}.badge.EN_TRANSITO{background:#eaf1ff;color:#315d9a}.badge.BAJA{background:#f3e8e8;color:#8d3737}
@media(max-width:760px){.archive-head-actions{width:100%}.archive-head-actions button{flex:1}.archive-location-text{max-width:220px}}

/* =========================================================
   V8.18 · FASE 1 UX/UI
   Login, dashboard, navegación, iconografía, tablas y responsive
   ========================================================= */
:root{
  --bg:#f7f8fc;
  --card:#ffffff;
  --ink:#161b2b;
  --muted:#667085;
  --line:#e8eaf1;
  --primary:#4b3fa7;
  --primary2:#382f85;
  --primary-soft:#f0eefc;
  --sidebar:#17152b;
  --sidebar-hover:#252342;
  --sidebar-text:#d8d6e8;
  --danger:#b42318;
  --success:#067647;
  --warning:#b54708;
  --shadow:0 12px 34px rgba(26,31,52,.07);
  --shadow-soft:0 4px 16px rgba(26,31,52,.05);
  --radius:16px;
}
html{scroll-behavior:smooth}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}
button,a,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,transform .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable="true"]:focus-visible{outline:3px solid rgba(75,63,167,.18);outline-offset:2px}
input:focus,select:focus,textarea:focus{border-color:#9389d4!important;box-shadow:0 0 0 3px rgba(75,63,167,.09)}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ui-icon{width:19px;height:19px;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.eyebrow,.topbar-eyebrow{display:block;color:#8177c7;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* Login renovado */
.login-screen{min-height:100vh;padding:28px;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,rgba(99,86,186,.18),transparent 30%),linear-gradient(135deg,#17152b 0%,#211d47 55%,#302874 100%)}
.login-shell{width:min(1040px,100%);min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 34px 90px rgba(7,8,20,.32)}
.login-visual{position:relative;padding:46px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:linear-gradient(155deg,#312970,#4b3fa7 68%,#6256bc)}
.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.13)}
.login-visual:before{width:370px;height:370px;right:-130px;top:-100px}.login-visual:after{width:280px;height:280px;left:-100px;bottom:-120px}
.login-visual-brand,.login-visual-copy,.login-visual-pills{position:relative;z-index:1}
.login-visual-brand{display:flex;align-items:center;gap:12px}.login-visual-brand span{width:52px;height:52px;border-radius:15px;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:20px;font-weight:900}.login-visual-brand strong{font-size:18px;letter-spacing:.06em}
.login-visual .eyebrow{color:#d7d1ff}.login-visual-copy h2{font-size:36px;line-height:1.08;margin:12px 0 16px;max-width:470px}.login-visual-copy p{max-width:460px;color:#e4e0f8;line-height:1.7;font-size:15px}
.login-visual-pills{display:flex;gap:8px;flex-wrap:wrap}.login-visual-pills span{padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:700}
.login-card{width:auto;margin:0;padding:56px 58px;display:flex;flex-direction:column;justify-content:center;background:#fff;border:0;border-radius:0;box-shadow:none}
.login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:28px}.login-mobile-brand span{color:var(--muted);font-size:12px;font-weight:700}.login-brand{width:48px;height:48px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900;font-size:17px}
.login-card h1{font-size:31px;line-height:1.14;margin:9px 0 10px;letter-spacing:-.02em}.login-subtitle{color:var(--muted);line-height:1.55;margin:0 0 26px}
.login-card>label{display:grid;gap:8px;margin:0 0 15px;font-size:12px;font-weight:800;color:#344054}.input-with-icon{position:relative}.input-with-icon>.ui-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#98a2b3;pointer-events:none}.input-with-icon input{width:100%;height:48px;padding:0 14px 0 44px;border:1px solid #d9dde7;border-radius:12px;background:#fff;color:var(--ink)}
.login-submit{height:50px;margin-top:5px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;box-shadow:0 8px 18px rgba(75,63,167,.2)}.login-submit:hover{transform:translateY(-1px)}
.login-error{margin-top:14px;border:1px solid #fecdca;background:#fff1f0;color:#b42318;padding:11px 13px;border-radius:11px;font-size:12px}
.login-security{display:flex;align-items:center;justify-content:center;gap:7px;color:#667085;margin-top:19px;font-size:11px}.login-security .ui-icon{width:15px;height:15px;color:#067647}.login-version{display:block;text-align:center;color:#98a2b3;margin-top:10px;font-size:10px}

/* Estructura principal */
.sidebar{width:274px;padding:18px 14px;background:var(--sidebar);border-right:1px solid rgba(255,255,255,.04);overflow:hidden}
.sidebar-top{display:flex;align-items:center;gap:8px;padding:2px 2px 14px}.brand{flex:1;min-width:0;margin:0;gap:10px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#6558bd,#463b9c);color:#fff;box-shadow:0 6px 14px rgba(0,0,0,.2)}.brand-copy{min-width:0}.brand strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{font-size:10px;color:#9692ae}
.sidebar-collapse,.mobile-menu-btn,.icon-action{border:0;background:transparent;color:inherit;display:grid;place-items:center}.sidebar-collapse{width:36px;height:36px;border-radius:10px;color:#aaa6bf}.sidebar-collapse:hover{background:rgba(255,255,255,.07);color:#fff}
.current-user-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;background:#211f39;border:1px solid rgba(255,255,255,.055);border-radius:14px;margin:3px 0 12px}.user-avatar{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#37325d;color:#fff;font-weight:900}.user-card-copy{min-width:0}.current-user-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-user-card small{font-size:10px}.user-card-actions{margin:0;gap:3px}.icon-action{width:29px;height:29px;border-radius:8px;color:#aaa6bf}.icon-action:hover{background:#302d50;color:#fff}.icon-action .ui-icon{width:15px;height:15px}
.sidebar-primary{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:12px;margin-bottom:12px;background:linear-gradient(135deg,#5b4eb3,#443896);box-shadow:0 7px 16px rgba(18,14,45,.3)}.sidebar-primary:hover{background:linear-gradient(135deg,#6659c0,#4c409f);transform:translateY(-1px)}
.sidebar nav.module-nav{display:flex;flex-direction:column;gap:3px;margin:0;overflow-y:auto;overflow-x:hidden;padding:2px 2px 10px;scrollbar-width:thin;scrollbar-color:#383451 transparent;flex:1;min-height:0}
.module-btn{min-height:40px;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:10px;color:#bcb9cb;font-size:12px;font-weight:650;white-space:nowrap}.module-btn .ui-icon{width:18px;height:18px;color:#9995ad}.module-btn:hover{background:#211f39;color:#fff}.module-btn.active{background:#2d2950;color:#fff;box-shadow:inset 3px 0 0 #8d80df}.module-btn.active .ui-icon{color:#b7aff3}.module-btn>span:not(.nav-count-badge){overflow:hidden;text-overflow:ellipsis}.nav-count-badge{margin-left:auto}
.status-filter{margin:7px 3px 0;padding:10px 0 0}.status-filter .nav-btn{font-size:11px;padding:8px 11px;border-radius:9px}.sidebar-footer{margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:1fr 1fr;gap:6px}.sidebar-footer .ghost,.sidebar-footer .link-btn{min-height:36px;padding:8px;border-radius:9px;background:#211f39;color:#bbb7ca;font-size:10px;display:flex;align-items:center;justify-content:center;gap:6px}.sidebar-footer .ui-icon{width:14px;height:14px}.sidebar-footer>*:hover{background:#2a2747!important;color:#fff!important}
.main{margin-left:274px;width:calc(100% - 274px);transition:margin .22s ease,width .22s ease}.topbar{min-height:92px;padding:22px 30px 14px;gap:22px}.topbar-title-row{display:flex;align-items:center;gap:12px}.topbar h1{font-size:25px;letter-spacing:-.02em}.topbar p{font-size:12px;margin-top:3px}.topbar-eyebrow{margin-bottom:4px;font-size:9px}.topbar-tools{display:flex;align-items:center;gap:10px}.search-wrap{position:relative}.search-wrap>.ui-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#98a2b3;width:17px;height:17px}.search-wrap input{width:330px;height:42px;padding:0 13px 0 40px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-soft)}.topbar-status{height:42px;padding:0 12px;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:12px;color:#667085;font-size:10px;font-weight:700}.status-dot{width:7px;height:7px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 3px #ecfdf3}.mobile-menu-btn{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#475467}

/* Inicio / Dashboard */
.list-view{padding:10px 30px 42px}.home-view{padding-top:6px}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 25px;margin-bottom:16px;border:1px solid #e2def7;border-radius:20px;background:linear-gradient(135deg,#f7f5ff,#fff 65%);box-shadow:var(--shadow-soft)}.home-hero h2{font-size:24px;margin:7px 0 6px;letter-spacing:-.02em}.home-hero p{margin:0;color:var(--muted);font-size:12px}.home-hero .primary{display:flex;align-items:center;gap:8px;white-space:nowrap;border-radius:12px;padding:11px 14px}
.home-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.home-kpi{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;padding:15px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft)}.home-kpi-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.home-kpi-icon .ui-icon{width:20px;height:20px}.home-kpi small,.home-kpi strong,.home-kpi span{display:block}.home-kpi small{color:#667085;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.home-kpi strong{font-size:22px;margin:2px 0;color:#1d2939}.home-kpi span{font-size:9.5px;color:#98a2b3}.home-kpi.attention .home-kpi-icon{background:#fff3e8;color:#b54708}.home-kpi.attention strong{color:#b54708}
.home-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.home-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow-soft);min-width:0}.home-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.home-card h3{font-size:16px;margin:5px 0 0}.text-action{border:0;background:transparent;color:var(--primary);font-size:10px;font-weight:800;padding:4px}.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action{min-width:0;padding:11px;border:1px solid #ececf3;border-radius:13px;background:#fbfbfd;text-align:left;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.quick-action:hover{background:#f7f5ff;border-color:#d9d4f1;transform:translateY(-1px);box-shadow:var(--shadow-soft)}.quick-icon{width:38px;height:38px;border-radius:11px;background:#fff;color:var(--primary);display:grid;place-items:center;border:1px solid #eceaf7}.quick-icon .ui-icon{width:18px;height:18px}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:11.5px;color:#263043}.quick-action small{font-size:9.5px;color:#8b93a3;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-recent{display:grid;gap:7px}.recent-item{width:100%;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:9px;border:1px solid transparent;border-radius:11px;background:#fff}.recent-item:hover{background:#faf9ff;border-color:#eeebfa}.recent-icon{width:34px;height:34px;border-radius:10px;background:#f4f3fb;color:#6155b5;display:grid;place-items:center}.recent-icon .ui-icon{width:16px;height:16px}.recent-copy,.recent-meta{min-width:0}.recent-copy strong,.recent-copy small,.recent-meta small,.recent-meta b{display:block}.recent-copy strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-copy small{font-size:9px;color:#8a93a3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-meta{text-align:right}.recent-meta small{color:#8177c7;font-size:8px;font-weight:800;text-transform:uppercase}.recent-meta b{font-size:8.5px;color:#98a2b3;margin-top:2px;font-weight:600}.home-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#98a2b3}.home-empty .ui-icon{width:28px;height:28px;margin-bottom:10px}.home-empty strong{color:#475467;font-size:12px}.home-empty span{font-size:10px;margin-top:4px}

/* Botones, tarjetas, tablas */
.primary,.ghost,.danger,.download-btn,.table-pdf-btn,.table-view-btn{border-radius:10px}.primary{background:var(--primary);box-shadow:none}.primary:hover{background:var(--primary2)}.ghost{background:#f2f4f7;color:#344054}.ghost:hover{background:#eaecf0}.table-card,.stat,.dashboard-card,.recurring-donor-card,.qr-camera-card,.qr-result-card,.qr-help-card{border-color:var(--line);box-shadow:var(--shadow-soft)}
.stats{gap:12px}.stat{border-radius:16px;padding:15px}.stat span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.stat strong{font-size:23px}.table-card{border-radius:16px}th{background:#fafbfc;color:#7b8494;font-size:10px;padding:12px 14px}td{font-size:12px;padding:12px 14px}tbody tr:hover{background:#fbfbfe}.table-pdf-btn,.table-view-btn{display:inline-flex;align-items:center;justify-content:center;min-height:33px;padding:7px 10px;text-decoration:none;border:1px solid #e6e8ef;background:#fff;color:#4b3fa7;font-size:10px;font-weight:800}.table-pdf-btn:hover,.table-view-btn:hover{background:#f6f4ff;border-color:#d7d1f1}.badge{font-size:9px;padding:5px 8px}.settings-dialog{border-radius:20px}.toast{border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.2)}

/* Sidebar contraído */
body.sidebar-collapsed .sidebar{width:86px;padding-left:10px;padding-right:10px}.sidebar,.brand-copy,.module-btn span,.sidebar-primary span,.sidebar-footer span,.user-card-copy,.user-card-actions,.status-filter{transition:opacity .16s ease,width .22s ease,transform .22s ease}
body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .module-btn>span:not(.nav-count-badge),body.sidebar-collapsed .sidebar-primary span,body.sidebar-collapsed .sidebar-footer span,body.sidebar-collapsed .user-card-copy,body.sidebar-collapsed .user-card-actions,body.sidebar-collapsed .status-filter{display:none}
body.sidebar-collapsed .sidebar-top{justify-content:center;flex-direction:column}body.sidebar-collapsed .brand{justify-content:center;flex:none}body.sidebar-collapsed .sidebar-collapse{width:42px}body.sidebar-collapsed .current-user-card{display:flex;justify-content:center;padding:8px}body.sidebar-collapsed .module-btn{justify-content:center;padding:9px}body.sidebar-collapsed .module-btn .ui-icon{width:20px;height:20px}body.sidebar-collapsed .sidebar-primary{padding:0}body.sidebar-collapsed .sidebar-primary .ui-icon{width:21px;height:21px}body.sidebar-collapsed .sidebar-footer{grid-template-columns:1fr}body.sidebar-collapsed .sidebar-footer>*{height:38px}body.sidebar-collapsed .main{margin-left:86px;width:calc(100% - 86px)}
.sidebar-backdrop{display:none}

/* Responsive */
@media(max-width:1200px){.home-kpis{grid-template-columns:repeat(3,1fr)}.home-grid{grid-template-columns:1fr}.topbar-tools{max-width:46%}.search-wrap input{width:280px}}
@media(max-width:860px){
  body.sidebar-collapsed .sidebar{width:274px}
  .sidebar{width:274px;transform:translateX(-102%);transition:transform .22s ease;box-shadow:18px 0 45px rgba(7,8,20,.28)}
  body.sidebar-open .sidebar{transform:translateX(0)}
  body.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(11,12,23,.45);z-index:9;backdrop-filter:blur(2px)}
  .sidebar-collapse{display:none}.main,body.sidebar-collapsed .main{margin-left:0;width:100%}.mobile-menu-btn{display:grid}.topbar{padding:18px 18px 12px}.list-view{padding:8px 18px 32px}.topbar-tools{max-width:none}.topbar-status{display:none}.search-wrap input{width:min(42vw,300px)}.home-kpis{grid-template-columns:repeat(2,1fr)}
  .brand-copy,.module-btn>span:not(.nav-count-badge),.sidebar-primary span,.sidebar-footer span,.user-card-copy,.user-card-actions,.status-filter{display:initial!important}.current-user-card{display:grid!important}.module-btn{justify-content:flex-start!important}.sidebar-footer{grid-template-columns:1fr 1fr!important}
}
@media(max-width:680px){
  .login-screen{padding:14px}.login-shell{display:block;min-height:auto;border-radius:22px}.login-visual{display:none}.login-card{padding:34px 26px}.login-mobile-brand{display:flex}.login-card h1{font-size:26px}.topbar{align-items:stretch}.topbar-title-row{align-items:flex-start}.topbar h1{font-size:21px}.topbar-tools{width:100%}.search-wrap{width:100%}.search-wrap input{width:100%;max-width:none}.home-hero{align-items:flex-start;flex-direction:column;padding:18px}.home-hero h2{font-size:20px}.home-hero .primary{width:100%;justify-content:center}.home-kpis{grid-template-columns:1fr 1fr}.quick-action-grid{grid-template-columns:1fr}.recent-item{grid-template-columns:34px minmax(0,1fr)}.recent-meta{display:none}.stats{grid-template-columns:1fr 1fr}.list-view{padding-left:13px;padding-right:13px}.table-card{border-radius:13px}
}
@media(max-width:430px){.home-kpis,.stats{grid-template-columns:1fr}.login-card{padding:30px 22px}.home-card{padding:14px}.topbar p{display:none}}

@media print{.home-view{display:none!important}}


/* =========================================================
   V8.19 · FASE 2 UX/UI · MÓDULOS OPERATIVOS
   Documentos · Recibidos · Donaciones · Inventario ·
   Beneficiarios · Expedientes
   ========================================================= */
.module-view{display:grid;gap:14px}.module-view.hidden{display:none}.module-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fbfaff 100%);box-shadow:var(--shadow-soft)}
.module-hero:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-62px;top:-92px;background:rgba(91,75,188,.055);pointer-events:none}.module-hero-main{display:flex;align-items:center;gap:15px;min-width:0}.module-hero-icon{width:50px;height:50px;flex:0 0 50px;border-radius:15px;display:grid;place-items:center;background:#f0edff;color:#5145a6}.module-hero-icon .ui-icon{width:24px;height:24px}.module-hero h2{margin:3px 0 5px;font-size:22px;letter-spacing:-.02em}.module-hero p{margin:0;color:var(--muted);font-size:12px;line-height:1.55;max-width:760px}.module-hero-actions{position:relative;z-index:1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.compact-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 12px;white-space:nowrap}.compact-action .ui-icon{width:16px;height:16px}
.module-hero-incoming .module-hero-icon{background:#eaf6ff;color:#2470a8}.module-hero-donations .module-hero-icon{background:#f4edff;color:#7651ae}.module-hero-inventory .module-hero-icon{background:#edf8f2;color:#27755a}.module-hero-beneficiaries .module-hero-icon{background:#fff3e8;color:#a96322}.module-hero-expedients .module-hero-icon{background:#eef1ff;color:#5364b4}
.module-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 2px}.module-steps span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #e8e9f0;border-radius:999px;background:#fff;color:#687184;font-size:9.5px;font-weight:750}.module-steps b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#f0eefb;color:#5549a6;font-size:9px}
.modern-stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}.modern-stats .stat{position:relative;min-height:86px;padding:13px 14px 12px;border-radius:14px;overflow:hidden;background:#fff}.modern-stats .stat:after{content:"";position:absolute;right:-18px;bottom:-24px;width:62px;height:62px;border-radius:50%;background:#f7f6fc}.modern-stats .stat span{position:relative;z-index:1;font-size:8.8px;line-height:1.25;color:#828b9a}.modern-stats .stat strong{position:relative;z-index:1;margin-top:4px;font-size:20px;letter-spacing:-.02em;color:#252a38}.incoming-stats .stat:nth-child(3){border-color:#f2c7c1}.inventory-stats .stat:nth-child(2),.inventory-stats .stat:nth-child(3){border-color:#efdbb3}.donation-stats .stat:first-child,.beneficiary-stats .stat:first-child,.expedient-stats .stat:first-child{border-color:#d9d4f3}
.module-table-card{overflow:hidden;padding:0;background:#fff}.table-scroll{overflow:auto;max-width:100%;scrollbar-width:thin}.modern-data-table{min-width:850px;border-collapse:separate;border-spacing:0}.modern-data-table thead{position:sticky;top:0;z-index:2}.modern-data-table th{background:#f8f9fb;border-bottom:1px solid #e9eaf0;font-size:9px;letter-spacing:.035em;text-transform:uppercase;color:#788192;white-space:nowrap}.modern-data-table td{border-bottom:1px solid #eff0f4;vertical-align:middle;line-height:1.4}.modern-data-table tbody tr:last-child td{border-bottom:0}.modern-data-table tbody tr{transition:background .13s ease,transform .13s ease}.modern-data-table tbody tr:not(.empty-row):hover{background:#faf9ff}.modern-data-table td:first-child strong{color:#272c38}.modern-data-table td:last-child{white-space:nowrap}.modern-data-table .row-action,.modern-data-table .table-pdf-btn,.modern-data-table .table-view-btn{min-height:31px;font-size:9.5px;padding:6px 9px;margin:2px}
.table-empty-state{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 18px;color:#8a93a2}.table-empty-icon{width:48px;height:48px;border-radius:15px;background:#f3f2fa;color:#6c60b8;display:grid;place-items:center;margin-bottom:11px}.table-empty-icon .ui-icon{width:22px;height:22px}.table-empty-state strong{font-size:13px;color:#4a5261}.table-empty-state small{margin-top:4px;max-width:430px;font-size:10px;line-height:1.5}
.modern-panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 15px;box-shadow:var(--shadow-soft)}.modern-section-head>div{display:flex;align-items:center;gap:10px}.panel-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f2effd;color:#5e50ae;flex:0 0 34px}.panel-icon .ui-icon{width:16px;height:16px}.modern-section-head h3{font-size:13px;margin:0}.modern-section-head p{font-size:9.5px;margin:2px 0 0}.modern-alert-panel{border-radius:14px;overflow:hidden}.inventory-alert-title{font-size:11px!important;letter-spacing:.01em}.inventory-alert{font-size:10px!important;line-height:1.45}
.modern-toolbar{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-soft)}.toolbar-field{display:flex;align-items:center;gap:8px}.toolbar-field>span{font-size:9px;font-weight:800;color:#7e8797;text-transform:uppercase;letter-spacing:.04em}.compact-select select{min-width:180px;padding:9px 34px 9px 10px;border-radius:9px;border:1px solid #dfe2e8;background:#fff}.toolbar-search{position:relative;display:flex;align-items:center;flex:1;min-width:220px}.toolbar-search .ui-icon{position:absolute;left:11px;width:15px;height:15px;color:#8a93a2;pointer-events:none}.toolbar-search input{width:100%;height:38px;padding:9px 12px 9px 35px;border:1px solid #dfe2e8;border-radius:9px;background:#fbfcfd;font-size:11px}.toolbar-search input:focus{background:#fff;border-color:#aaa2dc;box-shadow:0 0 0 3px rgba(91,75,188,.08);outline:0}
.module-view button:focus-visible,.module-view a:focus-visible,.module-view input:focus-visible,.module-view select:focus-visible{outline:3px solid rgba(91,75,188,.18);outline-offset:2px}.module-view button,.module-view a{touch-action:manipulation}
@media(max-width:900px){.module-hero{align-items:flex-start;flex-direction:column;padding:17px}.module-hero-actions{width:100%;justify-content:flex-start}.module-hero-actions .primary,.module-hero-actions .ghost{flex:1}.module-steps{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.module-steps span{flex:0 0 auto}.modern-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-toolbar{align-items:stretch;flex-direction:column}.compact-select{justify-content:space-between}.compact-select select{flex:1;min-width:0}.toolbar-search{min-width:0}.module-table-card{border-radius:14px}.modern-data-table{min-width:780px}}
@media(max-width:540px){.module-hero{padding:15px;border-radius:16px}.module-hero-main{align-items:flex-start}.module-hero-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px}.module-hero-icon .ui-icon{width:20px;height:20px}.module-hero h2{font-size:18px}.module-hero p{font-size:10.5px}.module-hero-actions{display:grid;grid-template-columns:1fr}.module-hero-actions .primary,.module-hero-actions .ghost{width:100%}.modern-stats{grid-template-columns:1fr 1fr}.modern-stats .stat{min-height:76px}.module-steps span{font-size:9px}.table-scroll{margin-bottom:0}.modern-data-table{min-width:740px}.table-empty-state{min-height:150px}.modern-toolbar{padding:8px}}
@media(max-width:390px){.modern-stats{grid-template-columns:1fr}.module-hero-main{gap:10px}.module-hero-icon{display:none}}


/* ================================================================
   V8.20 · FASE 3 UX/UI · FORMULARIOS INTELIGENTES
   ================================================================ */
:root{
  --form-surface:#ffffff;
  --form-soft:#f7f8fc;
  --form-line:#e6e8f0;
  --form-focus:rgba(77,61,155,.14);
  --form-success:#18794e;
  --form-warning:#a15c00;
}
.phase3-form .form-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.phase3-form .form-title-row h2{margin:3px 0 4px;font-size:1.28rem}
.form-title-help{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.form-autosave-chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:8px 10px;border-radius:999px;background:#eef9f2;color:var(--form-success);font-size:.78rem;font-weight:800;border:1px solid #d8f0e1}
.form-autosave-chip .ui-icon{width:15px;height:15px}
.ux-form-journey{display:flex;gap:7px;overflow-x:auto;padding:4px 0 13px;margin-bottom:12px;scrollbar-width:thin;position:sticky;top:0;z-index:5;background:linear-gradient(var(--panel),var(--panel) 82%,transparent)}
.ux-step{appearance:none;border:1px solid var(--form-line);background:var(--form-soft);border-radius:12px;padding:8px 10px;display:flex;align-items:center;gap:8px;min-width:max-content;color:var(--muted);font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;transition:.18s ease}
.ux-step:hover{border-color:#c9c5e8;color:var(--accent);transform:translateY(-1px)}
.ux-step.is-active{background:#f1effc;border-color:#c9c3ef;color:var(--accent)}
.ux-step.is-complete{background:#eff9f3;border-color:#cfeadb;color:var(--form-success)}
.ux-step-number{width:22px;height:22px;border-radius:7px;background:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:900;box-shadow:0 1px 2px rgba(30,32,60,.06)}
.ux-step.is-active .ux-step-number{background:var(--accent);color:white}
.ux-step.is-complete .ux-step-number{background:var(--form-success);color:white}
.ux-form-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--form-line);background:var(--form-soft);border-radius:12px;margin:0 0 14px;font-size:.8rem;color:var(--muted)}
.ux-form-summary strong{color:var(--text)}
.ux-progress-track{height:6px;flex:1;max-width:130px;border-radius:99px;background:#e5e7ef;overflow:hidden}
.ux-progress-track span{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .2s ease}

/* Inputs más claros y consistentes */
.form-panel label,.ux-form-dialog label{font-weight:750;color:#303348;gap:6px}
.form-panel input,.form-panel select,.form-panel textarea,.ux-form-dialog input,.ux-form-dialog select,.ux-form-dialog textarea{background:#fff;border:1px solid #d9dce7;border-radius:11px;min-height:42px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.form-panel textarea,.ux-form-dialog textarea{min-height:82px;resize:vertical}
.form-panel input:hover,.form-panel select:hover,.form-panel textarea:hover,.ux-form-dialog input:hover,.ux-form-dialog select:hover,.ux-form-dialog textarea:hover{border-color:#c6c2df}
.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus,.ux-form-dialog input:focus,.ux-form-dialog select:focus,.ux-form-dialog textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--form-focus)}
.form-panel input:disabled,.ux-form-dialog input:disabled{background:#f4f5f8;color:#777d8d}
.ux-required::after{content:' *';color:#c33b52;font-weight:900}
.ux-field-help{font-size:.72rem;font-weight:500;color:var(--muted);margin-top:-2px;line-height:1.35}

/* Los bloques complejos se leen como secciones del flujo */
.phase3-form .workflow-card,.phase3-form .signers-card,.phase3-form .archive-card,.phase3-form .ocr-card,.phase3-form .attachments-card,.phase3-form .delivery-card,
.ux-form-dialog .attachments-card,.ux-form-dialog .v7-analysis-card,.ux-form-dialog .directory-picker-card,.ux-form-dialog .donation-items-card,.ux-form-dialog .beneficiary-select-card,.ux-form-dialog .distribution-signature-card{
  border:1px solid var(--form-line);border-radius:14px;background:var(--form-surface);box-shadow:0 4px 16px rgba(35,38,60,.035)
}
.phase3-form .signers-card,.phase3-form .archive-card,.phase3-form .ocr-card,.phase3-form .attachments-card,.phase3-form .delivery-card{padding:15px;margin-top:14px}
.phase3-form .section-head h3,.ux-form-dialog .section-head h3{font-size:.95rem;margin:0}
.phase3-form .helper-box{border-radius:10px;background:#f7f7fb;border:1px dashed #d5d4e3;color:var(--muted)}
.body-editor{border:1px solid #d9dce7!important;border-radius:12px!important;background:#fff!important;min-height:260px!important;padding:16px!important;line-height:1.62!important}
.body-editor:focus{outline:none!important;border-color:var(--accent)!important;box-shadow:0 0 0 4px var(--form-focus)!important}
.rich-toolbar{position:static;background:#fff;border:1px solid var(--form-line);border-radius:11px;padding:5px;width:max-content;max-width:100%;box-shadow:none;margin:6px 0 7px;overflow-x:auto}
.rich-toolbar button{border-radius:8px;min-width:34px;height:32px}

/* Dialogs grandes: encabezado y acciones permanecen visibles */
.ux-form-dialog{width:min(1040px,calc(100vw - 34px));max-width:1040px;max-height:92vh;border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 26px 80px rgba(19,22,38,.28)}
.ux-form-dialog::backdrop{background:rgba(18,20,34,.58);backdrop-filter:blur(3px)}
.ux-form-dialog .dialog-head{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);padding:17px 20px;border-bottom:1px solid var(--form-line);align-items:flex-start}
.phase3-dialog-head h2{margin:3px 0 3px;font-size:1.22rem}
.phase3-dialog-head p{margin:0;color:var(--muted);font-size:.8rem;font-weight:500;line-height:1.4}
.ux-form-dialog .dialog-body{padding:17px 20px 0;overflow:auto;max-height:calc(92vh - 79px)}
.ux-dialog-journey{display:flex;gap:7px;overflow-x:auto;margin:-2px 0 14px;padding:2px 0 8px;scrollbar-width:thin}
.ux-form-dialog .dialog-actions{position:sticky;bottom:0;z-index:18;margin:20px -20px 0;padding:12px 20px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--form-line);box-shadow:0 -8px 24px rgba(28,31,54,.06);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-height:64px}
.ux-form-dialog .dialog-actions .primary{min-width:150px}
.ux-form-dialog .icon-btn{border-radius:10px;width:38px;height:38px;display:grid;place-items:center}

/* Indicadores de etapa y validación */
.ux-section-target{scroll-margin-top:112px}
.ux-field-error{border-color:#d44a5d!important;box-shadow:0 0 0 3px rgba(212,74,93,.11)!important}
.ux-validation-note{display:none;color:#b53145;font-size:.72rem;font-weight:650;margin-top:4px}
.ux-field-error + .ux-validation-note{display:block}
.ux-save-hint{font-size:.74rem;color:var(--muted);display:inline-flex;align-items:center;gap:6px;margin-right:auto}
.ux-save-hint::before{content:'';width:7px;height:7px;border-radius:50%;background:#22a06b}

/* Mejora de carga / evidencia */
.donation-upload-row,.evidence-controls{background:#f8f8fc;border:1px solid var(--form-line);border-radius:12px;padding:10px}
.evidence-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.attachment-list:empty::before{content:'Todavía no hay archivos vinculados.';display:block;color:var(--muted);font-size:.8rem;padding:10px;border:1px dashed #d8dae4;border-radius:10px;background:#fafafd}

/* Barra de acciones del editor principal */
.editor-topbar{position:sticky;top:0;z-index:24;backdrop-filter:blur(12px);background:rgba(248,249,252,.94)}
#saveState{display:inline-flex;align-items:center;gap:6px}
#saveState::before{content:'';width:7px;height:7px;border-radius:50%;background:#22a06b}

@media(max-width:760px){
  .phase3-form .form-title-row{flex-direction:column;gap:8px}.form-autosave-chip{align-self:flex-start}
  .ux-form-journey{margin-left:-2px;margin-right:-2px}.ux-step{padding:7px 9px;font-size:.74rem}
  .ux-form-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .ux-form-dialog .dialog-head{padding:14px 15px}.phase3-dialog-head p{display:none}
  .ux-form-dialog .dialog-body{padding:14px 15px 0;max-height:calc(100dvh - 72px)}
  .ux-form-dialog .dialog-actions{margin-left:-15px;margin-right:-15px;padding:10px 15px;gap:7px}
  .ux-form-dialog .dialog-actions>*{flex:1 1 auto;text-align:center;justify-content:center}
  .ux-form-dialog .dialog-actions .primary{min-width:130px}
  .form-panel input,.form-panel select,.form-panel textarea,.ux-form-dialog input,.ux-form-dialog select,.ux-form-dialog textarea{font-size:16px;min-height:46px}
  .rich-toolbar{max-width:100%;overflow-x:auto}
  .body-editor{min-height:220px!important}
  .grid-2,.grid-3{grid-template-columns:1fr!important}
}

/* V8.21.1 · eliminación segura de borradores */
.table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.table-delete-btn{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:6px 9px;border:1px solid #f5c2bd;border-radius:10px;background:#fff5f4;color:var(--danger);font-size:9.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.table-delete-btn:hover{background:#fee4e2;border-color:#f0aaa3}
@media(max-width:760px){.table-actions{min-width:150px}.table-delete-btn{min-height:34px;padding:7px 9px}}

/* V8.22 - Informe integral de donaciones */
.donation-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.donation-row-actions .table-pdf-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #d9d7ef;border-radius:9px;color:#3f3688;background:#f8f7ff;font-weight:800}.donation-row-actions .table-pdf-btn:hover{background:#eeecff;border-color:#bbb5e8}.donation-final-report-card{border:1px solid #dedaf5;background:linear-gradient(135deg,#faf9ff 0%,#fff 72%);box-shadow:0 12px 30px rgba(63,54,136,.07)}.donation-final-report-card .eyebrow{display:block;margin-bottom:4px;color:#756bb1;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.donation-report-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.donation-report-actions .primary.link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.donation-report-actions .disabled-link{pointer-events:none;opacity:.45}.donation-report-actions .primary:not(.disabled-link){box-shadow:0 7px 18px rgba(63,54,136,.2)}
@media(max-width:700px){.donation-row-actions{min-width:160px}.donation-report-actions{display:grid;grid-template-columns:1fr}.donation-report-actions a{width:100%;text-align:center}.donation-final-report-card{padding:14px}}

/* V8.23 · flujo real de reparto de donaciones */
.badge.EN_PROCESO{background:#fff4e5;color:#9a4d00}
.badge.DISTRIBUIDA{background:#e8f7ef;color:#087443}
.badge.FINALIZADA{background:#eceff3;color:#344054}
.badge.CERRADA{background:#eceff3;color:#344054}
.donation-row-actions,.inventory-actions,.distribution-head-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.primary-lite{background:#f1effb!important;border-color:#d9d4f4!important;color:#3f3688!important;font-weight:700}
.donation-stock-mini{min-width:220px;margin:0 0 7px}.donation-stock-mini>div:first-child{display:flex;flex-direction:column;gap:2px}.donation-stock-mini small{color:#667085;line-height:1.35}
.stock-progress{height:6px;background:#eceef3;border-radius:99px;overflow:hidden;margin-top:5px}.stock-progress span{display:block;height:100%;background:linear-gradient(90deg,#5b50b5,#7b70d8);border-radius:inherit}.stock-progress.wide{min-width:180px;max-width:300px}
.stock-more,.donation-flow-meta,.status-helper{display:block;color:#667085;margin-top:4px;font-size:.76rem}.status-helper{max-width:180px}
.donation-stock-detail{display:grid;gap:8px;margin:10px 0 8px}.stock-detail-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,260px);gap:14px;align-items:center;padding:10px 12px;border:1px solid #e6e8ee;background:#fbfbfd;border-radius:12px}.stock-detail-row>div:first-child{display:flex;flex-direction:column;gap:3px}.stock-detail-row small{color:#667085;line-height:1.45}
.community-summary{margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:#f8f7fd;border:1px solid #e5e1f6;color:#4b456e;font-size:.9rem;line-height:1.45}
.inventory-flow-note{padding:12px 14px;margin-bottom:14px;border-radius:12px;background:#f4f3ff;border:1px solid #ddd8fb;color:#403a69;line-height:1.45}
.field-help{display:block;color:#667085;font-weight:400;font-size:.76rem;line-height:1.35;margin-top:4px}
.stock-focus{outline:3px solid rgba(91,80,181,.22);background:#faf9ff;border-radius:10px;transition:.2s}
#finalizeDonationBtn:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:760px){.stock-detail-row{grid-template-columns:1fr}.stock-progress.wide{max-width:none}.donation-stock-mini{min-width:185px}.distribution-head-actions{width:100%}.distribution-head-actions button{flex:1 1 160px}.inventory-actions{min-width:180px}}

/* V8.24 - Proyectos e ingresos institucionales */
.module-hero-projects .module-hero-icon{background:#f0ecff;color:#6650b8}
.project-ip-notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #dcd6ff;border-radius:16px;background:linear-gradient(135deg,#faf9ff,#f6f3ff);color:#40376f}
.project-ip-notice .ui-icon{width:21px;height:21px;flex:0 0 21px;margin-top:2px;color:#6650b8}
.project-ip-notice div{display:grid;gap:3px}.project-ip-notice strong{font-size:12px}.project-ip-notice span{font-size:11px;line-height:1.55;color:#625a7e}
.project-progress-cell{min-width:145px;display:grid;gap:6px}.project-progress-cell small{color:var(--muted);font-size:10px}
.project-mini-progress{height:7px;border-radius:999px;background:#ececf3;overflow:hidden}.project-mini-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6554c0,#8b77e3);transition:width .2s ease}
.project-entry-dialog{width:min(1180px,96vw);max-height:94vh}.project-entry-dialog .dialog-body{padding-bottom:92px}
.project-code-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:14px;border:1px solid #e0dcf5;border-radius:16px;background:#faf9ff}.project-code-banner>div{display:grid;gap:3px}.project-code-banner small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.project-code-banner strong{font-size:15px;color:#352b70;word-break:break-word}
.project-progress-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#ece8ff;color:#5142a0;font-size:10px;font-weight:800;white-space:nowrap}
.project-legal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.project-legal-options label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:11px;line-height:1.45}.project-legal-options input{width:auto;flex:0 0 auto;margin-top:2px}
.legal-note{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:12px 14px;border:1px solid #f0d9a6;border-radius:13px;background:#fff9e9;color:#6a5423;font-size:10.5px;line-height:1.55}.legal-note .ui-icon{width:18px;height:18px;flex:0 0 18px;margin-top:1px}
.project-document-checklist{display:grid;gap:9px}.project-doc-row{display:grid;grid-template-columns:minmax(240px,1.25fr) 160px minmax(180px,.9fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.project-doc-title{display:grid;gap:2px;min-width:0}.project-doc-title strong{font-size:11px;color:var(--ink)}.project-doc-title small{font-size:9.5px;color:var(--muted);line-height:1.4}.project-doc-row select,.project-doc-row input{min-height:38px}.project-doc-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.project-doc-actions button,.project-doc-actions a{min-height:34px;padding:7px 9px;font-size:9.5px}
.project-inline-form{padding:13px;border:1px dashed #d8d7e4;border-radius:14px;background:#fbfbfd;margin-bottom:12px}.project-inline-form.disabled-block{opacity:.58;pointer-events:none}.project-inline-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.project-record-list{display:grid;gap:9px}.project-record-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}.project-record-item>div:first-child{min-width:0;display:grid;gap:4px}.project-record-item strong{font-size:11px}.project-record-item small{font-size:9.5px;color:var(--muted);line-height:1.45}.record-pills{display:flex;gap:5px;flex-wrap:wrap}.mini-pill{display:inline-flex;align-items:center;min-height:23px;padding:4px 7px;border-radius:999px;background:#f0eff5;color:#5a5870;font-size:8.5px;font-weight:800}.mini-pill.ok{background:#e8f7ef;color:#216f4d}.mini-pill.warn{background:#fff3d9;color:#8a5a00}.mini-pill.info{background:#eaf2ff;color:#315f9b}.project-record-actions{display:flex;gap:6px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.project-record-actions button{min-height:32px;padding:6px 8px;font-size:9px}
.project-dialog-actions{position:sticky;bottom:-1px;z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);margin:18px -20px -20px;padding:12px 20px}.project-dialog-actions .link-btn{display:inline-flex;align-items:center;justify-content:center}
.project-toolbar{grid-template-columns:auto auto minmax(250px,1fr)}

@media(max-width:900px){.project-entry-dialog{width:100vw;max-width:none;max-height:100vh;height:100vh;border-radius:0}.project-code-banner{align-items:flex-start;flex-direction:column}.project-legal-options{grid-template-columns:1fr}.project-doc-row{grid-template-columns:1fr 150px;align-items:start}.project-doc-title{grid-column:1/-1}.project-doc-actions{grid-column:1/-1;justify-content:flex-start}.project-toolbar{grid-template-columns:1fr}.project-record-item{flex-direction:column}.project-record-actions{width:100%;justify-content:flex-start}}
@media(max-width:540px){.project-ip-notice{padding:12px}.project-doc-row{grid-template-columns:1fr}.project-doc-title,.project-doc-actions{grid-column:auto}.project-doc-actions{display:grid;grid-template-columns:1fr 1fr}.project-doc-actions>*{width:100%}.project-code-banner strong{font-size:13px}.project-progress-pill{width:100%}.project-inline-form{padding:10px}.project-record-actions{display:grid;grid-template-columns:1fr 1fr}.project-record-actions button{width:100%}.project-dialog-actions{display:grid;grid-template-columns:1fr}.project-dialog-actions>*{width:100%}}

.badge.SOLICITUD_RECIBIDA{background:#eef3ff;color:#315f9b}.badge.EN_REVISION{background:#fff4e5;color:#9a4d00}.badge.APROBADO{background:#e9f7ef;color:#176b49}.badge.VINCULADO,.badge.ACTIVO{background:#e8f7ef;color:#087443}.badge.SUSPENDIDO{background:#fff0e8;color:#a14c16}.badge.RECHAZADO{background:#fdecec;color:#a52a3b}.badge.CERRADO{background:#eceff3;color:#344054}

/* V8.25 - Flujo guiado de ingreso, aprobación y gestión posterior */
.project-workflow-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 10px}
.project-step{position:relative;display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 10px;border:1px solid #e3e3ec;border-radius:13px;background:#fff;color:#77748a;font-size:9.5px;font-weight:800}
.project-step .step-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f0eff5;color:#69667b;font-size:9px;flex:0 0 24px}
.project-step.active{border-color:#b7acec;background:#f8f6ff;color:#493b93;box-shadow:0 5px 14px rgba(72,58,145,.08)}
.project-step.active .step-number{background:#5546b6;color:#fff}
.project-step.completed{border-color:#ccebdc;background:#f5fbf8;color:#21724f}
.project-step.completed .step-number{background:#2b9a6c;color:#fff}
.project-workflow-summary{padding:11px 13px;margin:0 0 14px;border-radius:13px;background:#f7f7fb;border:1px solid #e7e7ef;color:#4f4b68;font-size:10.5px;line-height:1.5}
.project-generated-docs{border:1px solid #ddd9f3;background:linear-gradient(135deg,#faf9ff,#fff);border-radius:15px;padding:13px;margin:10px 0}
.project-generated-docs.disabled-block{opacity:.58;pointer-events:none}
.project-generated-docs h4{margin:0 0 5px;font-size:12px;color:#383069}.project-generated-docs p{margin:0 0 10px;color:#68627c;font-size:10px;line-height:1.5}
.project-generated-actions{display:flex;gap:7px;flex-wrap:wrap}.project-generated-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.project-review-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;padding:13px;border:1px solid #e5e5ee;border-radius:14px;background:#fcfcfe}
.project-workflow-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed #dedee8}.project-workflow-actions .danger-lite{border-color:#f1c6cb;background:#fff7f8;color:#9d3141}
.project-postapproval-lock{display:flex;align-items:flex-start;gap:12px;margin:14px 0;padding:15px;border:1px solid #ead9a9;border-radius:15px;background:#fffaf0;color:#665326}
.project-postapproval-lock .ui-icon{width:21px;height:21px;flex:0 0 21px}.project-postapproval-lock strong{display:block;margin-bottom:3px;font-size:11px}.project-postapproval-lock span{font-size:10px;line-height:1.5}
.project-guardian-fields{margin-top:10px;padding:12px;border:1px solid #eadcf0;border-radius:14px;background:#fdfaff}.project-guardian-fields .minor-alert{margin:0 0 10px;padding:8px 10px;border-radius:10px;background:#f5ebf9;color:#70487f;font-size:9.5px;line-height:1.45}
.project-org-card{margin-top:12px;padding:13px;border:1px solid #e1dfed;border-radius:15px;background:#fafafe}.project-org-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.project-org-head h4{margin:0;font-size:12px}.project-org-head>div{display:flex;gap:7px;flex-wrap:wrap}
.project-org-chart{display:grid;gap:8px}.org-node{position:relative}.org-person{display:grid;gap:2px;padding:9px 11px;border:1px solid #ddd9f1;border-left:4px solid #6554c0;border-radius:11px;background:#fff;max-width:360px}.org-person strong{font-size:10px;color:#473b8a}.org-person span{font-size:10px;color:#424050}.org-children{display:grid;gap:7px;margin:7px 0 0 20px;padding-left:13px;border-left:1px dashed #cfcbe5}
.project-doc-row.managed-doc{background:#fbfaff;border-color:#ded9f4}.project-doc-status-note{font-size:9px;color:#706b84;line-height:1.4}
@media(max-width:820px){.project-workflow-stepper{grid-template-columns:1fr 1fr}.project-step:last-child{grid-column:1/-1}.project-review-card{grid-template-columns:1fr}}
@media(max-width:540px){.project-workflow-stepper{grid-template-columns:1fr}.project-step:last-child{grid-column:auto}.project-generated-actions,.project-workflow-actions{display:grid;grid-template-columns:1fr}.project-generated-actions>* ,.project-workflow-actions>*{width:100%}.project-org-head{align-items:flex-start;flex-direction:column}.project-org-head>div{width:100%;display:grid;grid-template-columns:1fr}.org-person{max-width:none}.org-children{margin-left:11px;padding-left:9px}}

/* V8.26 · coherencia, conexiones y centro de seguimiento */
.nav-group-label{padding:15px 12px 6px;color:#8b889d;font-size:8.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
body.sidebar-collapsed .nav-group-label{height:1px;padding:8px 0 0;margin:5px 10px;border-top:1px solid rgba(255,255,255,.08);font-size:0}
.connected-flow-guide{display:grid;gap:13px;margin:0 0 18px;padding:16px 18px;border:1px solid #dfdcf4;border-radius:18px;background:linear-gradient(135deg,#faf9ff,#fff);box-shadow:0 8px 24px rgba(56,47,104,.05)}
.connected-flow-copy{display:grid;gap:4px}.connected-flow-copy strong{font-size:13px}.connected-flow-copy small{color:var(--muted);line-height:1.5}
.connected-flow-steps{display:flex;gap:7px;align-items:center;overflow-x:auto;padding-bottom:3px}.connected-flow-steps button{display:flex;align-items:center;gap:7px;min-width:max-content;border:1px solid #e2dff3;background:#fff;border-radius:12px;padding:8px 10px;color:#3f3a63;font-size:10px;font-weight:800;cursor:pointer}.connected-flow-steps button:hover{background:#f6f3ff;border-color:#c8c0ef}.connected-flow-steps button b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ece8ff;color:#5546b6}.connected-flow-steps i{font-style:normal;color:#aaa5be}
.context-help-strip,.followup-guide{display:flex;gap:8px;align-items:flex-start;padding:11px 13px;margin:0 0 14px;border-radius:13px;background:#f8f8fc;border:1px solid #e5e5ef;color:#55516d;font-size:10.5px;line-height:1.45}.context-help-strip strong,.followup-guide strong{white-space:nowrap;color:#38344e}
.project-lifecycle{grid-template-columns:repeat(6,minmax(0,1fr))}
.project-next-action-card{display:flex;align-items:flex-start;margin:-4px 0 14px;padding:12px 14px;border:1px solid #d9e7ff;border-left:4px solid #5378d8;border-radius:13px;background:#f7faff}.project-next-action-card>div{display:grid;gap:3px}.project-next-action-card strong{font-size:11px;color:#294f9e}.project-next-action-card small{font-size:10px;color:#62708d;line-height:1.45}.next-step-text{color:#3e3780;font-size:10.5px;line-height:1.35}.table-primary-name{font-size:11px;font-weight:750;color:#242333}.connected-count{font-size:10px;font-weight:700;color:#4d4869}
.project-link-card{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:12px;align-items:end;margin:10px 0 14px;padding:13px 14px;border:1px solid #ddd8f3;border-radius:15px;background:linear-gradient(135deg,#faf9ff,#fff)}.project-link-card.compact{margin:8px 0 12px}.project-link-card>div:first-child{display:grid;gap:3px}.project-link-card strong{font-size:11px;color:#3d356f}.project-link-card small,.project-link-hint{font-size:9.5px;color:#706b83;line-height:1.45}.project-link-hint{grid-column:1/-1;padding-top:2px}.inline-project-link{border:0;background:none;padding:0;color:#5142a0;font-size:10px;font-weight:800;text-decoration:underline;text-decoration-color:#c7c1ec;text-underline-offset:2px;cursor:pointer;text-align:left}
.project-connected-section{border-color:#d9e7e1;background:linear-gradient(135deg,#fbfffd,#fff)}.project-connected-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.project-connected-actions button{display:inline-flex;gap:7px;align-items:center}.project-connections-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}.project-connections-summary span{padding:10px 11px;border:1px solid #e3e8e5;border-radius:12px;background:#fff;color:#656b68;font-size:9.5px}.project-connections-summary strong{display:block;margin-bottom:2px;color:#244e3c;font-size:15px}
.connected-records-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.connected-record-card,.project-followup-card{padding:12px;border:1px solid #e4e6ea;border-radius:14px;background:#fff}.connected-mini-list{display:grid;gap:7px}.connected-mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid #ececf1;border-radius:10px;background:#fcfcfd}.connected-mini-row>div{display:grid;gap:2px;min-width:0}.connected-mini-row strong{font-size:9.8px}.connected-mini-row small{font-size:8.8px;color:var(--muted)}.project-followup-card{margin-top:12px}.followup-record-item .overdue{color:#b42318;font-weight:700}.danger-lite{color:#a52a3b!important;border-color:#f0c9cf!important;background:#fff8f9!important}
.module-hero-followup .module-hero-icon{background:#eef5ff;color:#3565a8}.connected-followup-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.followup-panel{padding:0;border:1px solid #e3e4eb;border-radius:16px;background:#fff;overflow:hidden}.followup-panel .panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #ededf2;background:#fafafd}.followup-panel .panel-title>span{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:850}.followup-card-list{display:grid;gap:0}.followup-action-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #f0f0f4}.followup-action-card:last-child{border-bottom:0}.followup-action-card>div{display:grid;gap:4px;min-width:0}.followup-action-card strong{font-size:10.5px}.followup-action-card small{font-size:9px;color:var(--muted);line-height:1.4}.followup-task-line{color:#695c35!important}.followup-empty-good{padding:18px;color:#327455;background:#fbfffd;font-size:10px}.followup-document-panels{margin-top:0}
@media(max-width:980px){.project-lifecycle{grid-template-columns:repeat(3,1fr)}.connected-followup-grid,.connected-records-grid{grid-template-columns:1fr}.project-connections-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.nav-group-label{padding-left:15px}.connected-flow-steps i{display:none}.connected-flow-steps{display:grid;grid-template-columns:1fr 1fr}.connected-flow-steps button{min-width:0}.project-link-card{grid-template-columns:1fr}.project-link-hint{grid-column:auto}.project-connected-actions{display:grid;grid-template-columns:1fr}.project-connected-actions button{width:100%;justify-content:center}.project-lifecycle{grid-template-columns:1fr 1fr}.context-help-strip,.followup-guide{display:grid}.project-connections-summary{grid-template-columns:1fr 1fr}.followup-action-card{align-items:flex-start;flex-direction:column}.followup-action-card button{width:100%}.connected-mini-row{align-items:flex-start;flex-direction:column}.connected-mini-row button{width:100%}}
@media(max-width:480px){.connected-flow-steps,.project-connections-summary,.project-lifecycle{grid-template-columns:1fr}}


/* =========================================================
   V8.26.1 · HOTFIX VISIBILIDAD DEL MENÚ LATERAL
   Un solo scroll para todo el sidebar, sin menús atrapados.
   ========================================================= */
.sidebar{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#5f597f #17182c;
}
.sidebar::-webkit-scrollbar{width:9px}
.sidebar::-webkit-scrollbar-track{background:#17182c}
.sidebar::-webkit-scrollbar-thumb{background:#5f597f;border:2px solid #17182c;border-radius:999px}
.sidebar::-webkit-scrollbar-thumb:hover{background:#77709b}
.sidebar-top{
  position:sticky;
  top:-18px;
  z-index:6;
  background:var(--sidebar);
  padding-top:18px;
}
.sidebar nav.module-nav{
  flex:0 0 auto!important;
  min-height:auto!important;
  overflow:visible!important;
  padding:2px 2px 8px!important;
}
.nav-group-label{
  display:block!important;
  min-height:24px;
  padding:12px 12px 5px!important;
  margin:0!important;
  color:#a9a5bf!important;
  font-size:8.5px!important;
  line-height:1.25;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.module-btn{
  flex:0 0 auto;
  min-height:42px;
}
.sidebar-footer{
  margin-top:10px!important;
  padding-bottom:10px;
}
/* Evita que la barra vertical quede encima de los textos */
.sidebar .module-btn,.sidebar .nav-group-label,.sidebar .sidebar-footer,.sidebar .status-filter{margin-right:2px}

@media(max-height:720px) and (min-width:861px){
  .sidebar{padding-top:12px;padding-bottom:10px}
  .sidebar-top{top:-12px;padding-top:12px;padding-bottom:9px}
  .current-user-card{margin-bottom:8px;padding:8px}
  .sidebar-primary{height:40px;margin-bottom:8px}
  .module-btn{min-height:38px;padding-top:8px!important;padding-bottom:8px!important}
  .nav-group-label{min-height:20px;padding-top:9px!important;padding-bottom:3px!important}
}

@media(max-width:860px){
  .sidebar{height:100dvh;max-height:100dvh;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .sidebar-top{top:-18px}
  .module-btn{min-height:44px}
  .nav-group-label{font-size:9px!important;padding-left:13px!important}
}

body.sidebar-collapsed .nav-group-label{
  height:1px!important;
  min-height:1px!important;
  padding:8px 0 0!important;
  margin:5px 10px!important;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:0!important;
}


/* =========================================================
   doku · FASE 1 UX/UI · V8.27.0
   Identidad visual, login, dashboard y navegación base.
   ========================================================= */
:root{
  --doku-purple:#4b006e;
  --doku-purple-2:#650096;
  --doku-purple-3:#8a38ba;
  --doku-soft:#f5eff9;
  --doku-soft-2:#fbf8fd;
  --doku-ink:#171426;
  --doku-muted:#706a7e;
  --doku-line:#e9e3ed;
  --doku-sidebar:#160521;
  --doku-sidebar-2:#240933;
  --primary:var(--doku-purple);
  --primary2:#35004f;
  --primary-soft:#f3e9f8;
  --bg:#f7f6f9;
  --ink:var(--doku-ink);
  --muted:var(--doku-muted);
  --line:var(--doku-line);
  --shadow-soft:0 8px 24px rgba(49,16,65,.055);
  --shadow:0 12px 34px rgba(49,16,65,.075);
  --sidebar:var(--doku-sidebar);
}
body{background:#f8f7fa;color:var(--doku-ink);letter-spacing:-.005em}
.primary{background:linear-gradient(135deg,var(--doku-purple-2),var(--doku-purple));box-shadow:0 7px 18px rgba(75,0,110,.16)}
.primary:hover{background:linear-gradient(135deg,#7500aa,#410060);transform:translateY(-1px)}
.ghost{background:#f6f1f8;color:#442850}

/* Logo */
.doku-sidebar-logo,.doku-login-logo,.doku-mobile-brand img{display:block;object-fit:contain}
.doku-logo-white{filter:brightness(0) invert(1)}
.doku-sidebar-logo{width:76px;height:auto;max-height:31px;object-position:left center}
.doku-sidebar-brand .brand-copy strong{font-size:0}.doku-sidebar-brand .brand-copy strong::after{content:'Sistema FCI';font-size:11px;font-weight:800;color:#fff}
.doku-sidebar-brand .brand-copy small{color:#a990b4;font-size:9px}

/* Sidebar doku */
.sidebar{width:286px;background:radial-gradient(circle at 14% 10%,#31074a 0,#1a0626 38%,#120419 100%);padding:20px 15px 16px;border-right:1px solid rgba(255,255,255,.035);scrollbar-color:#5f3373 transparent}
.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#5f3373;border-color:transparent}
.sidebar-top{background:linear-gradient(180deg,#1a0626 72%,rgba(26,6,38,.92));padding:8px 6px 14px;margin:-8px -2px 0;top:-12px}
.sidebar-collapse{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);color:#d9c9e1}
.sidebar-primary{background:linear-gradient(135deg,#7600aa,#4b006e);border:1px solid rgba(255,255,255,.08);box-shadow:0 9px 20px rgba(0,0,0,.18);height:45px}
.sidebar-primary:hover{background:linear-gradient(135deg,#8b16bd,#57007d)}
.sidebar nav.module-nav{gap:4px!important}
.nav-group-label{color:#8e7799!important;font-size:8px!important;letter-spacing:.14em!important;padding-top:17px!important}
.module-btn{min-height:43px;border-radius:11px;color:#cbbbd2;font-size:12px;padding:9px 11px}
.module-btn .ui-icon{color:#aa90b5;width:18px;height:18px}
.module-btn:hover{background:rgba(255,255,255,.055);color:#fff}
.module-btn.active{background:linear-gradient(90deg,rgba(111,16,157,.78),rgba(81,7,114,.68));box-shadow:inset 3px 0 0 #c989e6,0 5px 16px rgba(0,0,0,.12);color:#fff}
.module-btn.active .ui-icon{color:#fff}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.07);padding-top:10px;gap:6px}
.sidebar-footer .ghost{background:transparent;border:1px solid rgba(255,255,255,.05);color:#bda9c7;text-align:left;display:flex;align-items:center;gap:9px}
.sidebar-footer .ghost:hover{background:rgba(255,255,255,.055);color:#fff}
.current-user-card{order:100;margin:10px 0 0!important;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:15px}
.current-user-card .user-avatar{background:linear-gradient(135deg,#7f18b0,#4b006e);color:#fff}
.sidebar-footer{order:90}.status-filter{order:80}.module-nav{order:20}.sidebar-primary{order:10}.sidebar-top{order:0}
.main{margin-left:286px;width:calc(100% - 286px)}

/* Topbar */
.doku-topbar{min-height:78px;padding:16px 30px;border-bottom:1px solid #eee9f1;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);position:sticky;top:0;z-index:7}
.doku-topbar-search{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.doku-search-wrap{width:min(650px,62vw)}
.doku-search-wrap input{width:100%;max-width:none;height:45px;border-radius:13px;background:#fff;border:1px solid #e5dfe8;box-shadow:none;font-size:12px}
.doku-search-wrap input:focus{outline:none;border-color:#b883cc;box-shadow:0 0 0 4px #f3e8f8}
.doku-topbar-tools{margin-left:auto;max-width:none!important}
.doku-topbar-icon{width:42px;height:42px;border-radius:12px;border:1px solid #e7e0ea;background:#fff;color:#5a4163;display:grid;place-items:center}
.doku-topbar-icon:hover{background:#f8f2fa;color:var(--doku-purple);border-color:#d8c4e1}
.doku-topbar-icon .ui-icon{width:18px;height:18px}
.topbar-status{background:#fff;border-color:#e7e0ea;color:#706a7e}

/* Login */
.doku-login-screen{background:radial-gradient(circle at 16% 20%,#4a0967 0,#1b0528 38%,#100315 100%);padding:28px}
.doku-login-shell{width:min(1080px,96vw);min-height:620px;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1.08fr .92fr;background:#fff;box-shadow:0 38px 110px rgba(0,0,0,.33)}
.doku-login-visual{padding:56px 54px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(155deg,#1b0528,#3e0757);color:#fff;position:relative;overflow:hidden}
.doku-login-visual::after{content:'';position:absolute;width:380px;height:380px;border-radius:50%;right:-180px;bottom:-170px;background:radial-gradient(circle,#8a38ba 0,rgba(138,56,186,0) 68%);opacity:.55}
.doku-login-logo{width:170px;height:auto;position:relative;z-index:2}
.doku-login-visual .login-visual-copy{position:relative;z-index:2;max-width:500px}.doku-login-visual .eyebrow{color:#d3a7e6}.doku-login-visual h2{font-size:38px;line-height:1.07;letter-spacing:-.045em;margin:12px 0 14px}.doku-login-visual p{font-size:14px;line-height:1.7;color:#d5c5dd;margin:0}
.doku-login-features{position:relative;z-index:2;display:grid;gap:10px}.doku-login-features span{display:flex;align-items:center;gap:9px;font-size:11px;color:#e2d7e7}.doku-login-features .ui-icon{width:16px;height:16px;color:#d88ef5}
.doku-login-card{width:auto;max-width:none;border-radius:0;box-shadow:none;padding:70px 62px;display:flex;flex-direction:column;justify-content:center}.doku-login-card h1{font-size:34px;letter-spacing:-.04em;margin:10px 0 7px}.doku-word{color:var(--doku-purple);font-weight:900}.doku-login-card .login-subtitle{font-size:13px;margin-bottom:25px}.doku-login-card label{font-size:12px;margin:10px 0}.doku-login-card .input-with-icon input{height:48px;border-radius:12px;border-color:#ddd5e1}.doku-login-card .input-with-icon:focus-within input{border-color:#b47ac9;box-shadow:0 0 0 4px #f4eaf7}.doku-login-card .login-submit{height:49px;border-radius:12px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px}.login-security{margin-top:17px;color:#746b7b;font-size:10px}.login-version{margin-top:18px!important;color:#9b92a0!important}.doku-mobile-brand img{width:95px;height:auto}.doku-mobile-brand span{font-size:10px;color:#85798b}

/* Dashboard */
.doku-home-view{padding:25px 30px 42px}.doku-home-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.doku-home-welcome h2{font-size:28px;letter-spacing:-.035em;margin:7px 0 5px}.doku-home-welcome p{margin:0;color:var(--muted);font-size:12px}.doku-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.doku-hero-actions button{min-height:43px;border-radius:11px;display:flex;align-items:center;gap:8px;padding:0 14px;white-space:nowrap}.doku-outline-action{background:#fff;border:1px solid #cba9d9;color:#4b006e}.doku-outline-action:hover{background:#fbf5fd;border-color:#a66bbb}
.doku-home-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.doku-kpi{min-height:126px;padding:18px;border-radius:17px;grid-template-columns:50px 1fr;box-shadow:0 6px 22px rgba(49,16,65,.045)}.doku-kpi .home-kpi-icon{width:50px;height:50px;border-radius:15px}.doku-kpi strong{font-size:30px;letter-spacing:-.04em;margin:3px 0}.doku-kpi small{font-size:10px}.doku-kpi span{font-size:10px}.doku-kpi.purple .home-kpi-icon{background:#f2e5f7;color:#5f0a85}.doku-kpi.pink .home-kpi-icon{background:#ffeaf4;color:#c72c77}.doku-kpi.green .home-kpi-icon{background:#e9f8ef;color:#238653}.doku-kpi.orange .home-kpi-icon{background:#fff1df;color:#d46d00}.doku-kpi.orange.attention strong{color:#1d2939}
.doku-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px;margin-bottom:16px}.doku-dashboard-grid .home-card{min-height:350px}.doku-process-summary{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center;padding:18px 3px}.doku-process-ring{--p:45;position:relative;width:162px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--doku-purple) calc(var(--p)*1%),#ecedf2 0)}.doku-process-ring::before{content:'';position:absolute;inset:18px;background:#fff;border-radius:50%}.doku-process-ring>div{position:relative;z-index:2;text-align:center}.doku-process-ring strong{display:block;font-size:31px;letter-spacing:-.05em}.doku-process-ring span{display:block;font-size:10px;color:var(--muted)}.doku-process-list{display:grid;gap:8px}.doku-process-row{border:0;background:transparent;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 6px;text-align:left;border-bottom:1px solid #f0edf2;color:#403a45;font-size:10px}.doku-process-row:hover{background:#fbf8fc;border-radius:9px}.process-dot{width:8px;height:8px;border-radius:50%;background:#6b0a92}.doku-process-row.blue .process-dot{background:#3d70d8}.doku-process-row.green .process-dot{background:#2a9a61}.doku-process-row.orange .process-dot{background:#e78016}.doku-process-row strong{font-size:11px}
.doku-lower-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px;margin-bottom:16px}.doku-route-card,.doku-shortcuts-card{min-height:170px}.doku-flow-steps{overflow:visible;flex-wrap:wrap}.doku-flow-steps button{border-color:#e7ddec;color:#493852;background:#fff}.doku-flow-steps button b{background:#f1e5f6;color:#5a087e}.doku-route-help{font-size:10px;color:var(--muted);margin:12px 0 0;line-height:1.5}.doku-shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.doku-shortcut{border:1px solid #ebe4ee;background:#fbf9fc;border-radius:11px;padding:10px;display:flex;align-items:center;gap:8px;color:#4e4154;font-size:10px;font-weight:750;text-align:left}.doku-shortcut:hover{border-color:#cda8dc;background:#f7effa;color:#4b006e}.doku-shortcut .ui-icon{width:17px;height:17px;color:#6a168c}.doku-security-strip{display:grid;grid-template-columns:45px 1fr;gap:13px;align-items:center;padding:14px 18px;border-radius:16px;background:linear-gradient(90deg,#f2e7f7,#fbf7fd);border:1px solid #e6d7ec}.doku-security-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#5b0a7e;box-shadow:0 4px 12px rgba(49,16,65,.07)}.doku-security-strip strong,.doku-security-strip small{display:block}.doku-security-strip strong{font-size:11px}.doku-security-strip small{font-size:9.5px;color:#796f7f;margin-top:3px}
.home-card{border-color:#ebe6ee;border-radius:17px;box-shadow:0 7px 23px rgba(49,16,65,.045)}.recent-item{border-color:#f0ecf2}.recent-icon{background:#f4eaf8;color:#621085}

/* Generic component cleanup inherited by all modules */
.module-hero{border-color:#e8e1eb!important;box-shadow:0 6px 20px rgba(49,16,65,.04)!important}.module-hero-icon{border-radius:14px!important}.modern-data-table thead th{background:#fbf9fc;color:#6f6375}.table-card,.modern-panel,.dashboard-card{border-color:#eae4ed!important;box-shadow:0 6px 22px rgba(49,16,65,.04)!important}.badge{letter-spacing:0!important}.eyebrow,.topbar-eyebrow{color:#7b2d98}

body.sidebar-collapsed .doku-sidebar-logo{width:45px;max-height:25px}body.sidebar-collapsed .doku-sidebar-brand .brand-copy{display:none}
body.sidebar-collapsed .main{margin-left:86px;width:calc(100% - 86px)}

@media(max-width:1200px){.doku-home-kpis{grid-template-columns:repeat(2,1fr)}.doku-dashboard-grid,.doku-lower-grid{grid-template-columns:1fr}.doku-process-summary{grid-template-columns:160px 1fr}}
@media(max-width:860px){.sidebar{width:286px}.main,body.sidebar-collapsed .main{margin-left:0;width:100%}.doku-topbar{padding:13px 16px}.doku-search-wrap{width:100%}.doku-home-view{padding:20px 16px 34px}.doku-home-hero{align-items:flex-start;flex-direction:column}.doku-hero-actions{width:100%;justify-content:flex-start}.doku-hero-actions button{flex:1 1 auto}.doku-login-shell{grid-template-columns:1fr;min-height:auto}.doku-login-visual{display:none}.doku-login-card{padding:52px 38px}.doku-mobile-brand{display:flex!important}.doku-process-summary{grid-template-columns:150px 1fr}}
@media(max-width:620px){.doku-topbar-tools .topbar-status{display:none}.doku-topbar-icon{display:none}.doku-home-kpis{grid-template-columns:1fr 1fr}.doku-home-welcome h2{font-size:24px}.doku-hero-actions{display:grid;grid-template-columns:1fr}.doku-hero-actions button{width:100%;justify-content:center}.doku-dashboard-grid .home-card{min-height:auto}.doku-process-summary{grid-template-columns:1fr;justify-items:center}.doku-process-list{width:100%}.doku-shortcut-grid{grid-template-columns:1fr 1fr}.doku-flow-steps{display:grid!important;grid-template-columns:1fr 1fr!important}.doku-flow-steps i{display:none}.doku-login-screen{padding:12px}.doku-login-card{padding:42px 24px}.doku-login-card h1{font-size:29px}}
@media(max-width:430px){.doku-home-kpis{grid-template-columns:1fr}.doku-shortcut-grid{grid-template-columns:1fr}.doku-flow-steps{grid-template-columns:1fr!important}.doku-home-view{padding-left:12px;padding-right:12px}.doku-login-card{padding:36px 20px}}


/* ==================================================================
   doku V8.28 · FASE 2 · Proyectos + Seguimiento
   ================================================================== */
.doku-projects-headline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 12px;padding:0 2px}.doku-projects-headline>div{display:grid;gap:3px}.doku-projects-headline strong{font-size:13px;color:#241a29}.doku-projects-headline span{font-size:10px;color:var(--muted)}
.doku-project-list{display:grid;gap:12px}.doku-project-card{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.72fr);gap:18px;border:1px solid #e9e2ed;background:#fff;border-radius:18px;padding:18px 19px;box-shadow:0 8px 28px rgba(49,16,65,.045);transition:.18s ease}.doku-project-card:hover{transform:translateY(-1px);border-color:#d7c3df;box-shadow:0 12px 32px rgba(49,16,65,.075)}
.doku-project-card-main{min-width:0;border-right:1px solid #eee9f0;padding-right:18px}.doku-project-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.doku-project-title-row h3{margin:4px 0 3px;font-size:18px;letter-spacing:-.025em;color:#211724}.doku-project-title-row p{margin:0;font-size:10px;color:#7b6f80;line-height:1.45}.doku-code{font-size:9px;font-weight:850;letter-spacing:.055em;color:#6c168c;text-transform:uppercase}
.doku-stage-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;background:#f1e8f5;color:#5f1680;font-size:9px;font-weight:850;white-space:nowrap}.doku-stage-badge.green{background:#e8f7ee;color:#1d7b48}.doku-stage-badge.orange{background:#fff0dd;color:#aa5a00}.doku-stage-badge.blue{background:#e9f1ff;color:#3368be}.doku-stage-badge.danger{background:#fee9e8;color:#b42318}.doku-stage-badge.muted{background:#f0eef1;color:#685e6d}
.doku-stage-track{height:6px;border-radius:999px;background:#eeeaf0;overflow:hidden;margin:15px 0 5px}.doku-stage-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4b006e,#8b35b4)}.doku-stage-track+small{font-size:8.5px;color:#938a97}
.doku-project-next{margin-top:14px;padding:12px 13px;border-radius:13px;background:#faf6fc;border:1px solid #eee2f3;display:grid;gap:3px}.doku-project-next>span{text-transform:uppercase;letter-spacing:.06em;font-size:8px;color:#7b4b90;font-weight:850}.doku-project-next strong{font-size:11px;color:#3c2347}.doku-project-next small{font-size:9.2px;line-height:1.45;color:#7c7081}
.doku-project-card-side{display:grid;grid-template-rows:auto 1fr auto;gap:12px;min-width:0}.doku-project-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px}.doku-project-metrics span{padding:8px 9px;border-radius:10px;background:#f9f7fa;color:#736a77;font-size:8.8px}.doku-project-metrics b{color:#281c2d;font-size:12px;margin-right:3px}.doku-project-due{display:grid;align-content:start;gap:4px;padding:10px 0}.doku-project-due>small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#9a8fa0;font-weight:800}.doku-project-due>strong{font-size:10.5px;color:#3d3341;line-height:1.35}.doku-due-pill{display:inline-flex;width:max-content;align-items:center;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:800;background:#f0eef2;color:#736a77}.doku-due-pill.danger{background:#fee9e8;color:#b42318}.doku-due-pill.warning{background:#fff0dd;color:#a85a00}.doku-due-pill.success{background:#e7f7ee;color:#1d7b48}.doku-card-actions{display:flex;gap:6px;flex-wrap:wrap}.doku-card-actions button,.doku-card-actions a{min-height:34px;padding:0 10px;border-radius:9px;font-size:9px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.doku-empty-state{padding:52px 24px;border:1px dashed #d8cbdc;border-radius:18px;background:#fcfafd;display:grid;justify-items:center;text-align:center;gap:8px}.doku-empty-state strong{font-size:14px}.doku-empty-state span{font-size:10px;color:var(--muted);max-width:420px}.doku-empty-icon{width:44px;height:44px;border-radius:14px;background:#f2e6f7;color:#5f1081;display:grid;place-items:center}.doku-empty-icon .ui-icon{width:21px;height:21px}

.project-entry-dialog{width:min(1180px,96vw)!important}.project-entry-dialog .dialog-head{background:linear-gradient(110deg,#fff,#fbf6fd);border-bottom:1px solid #eee5f2}.project-code-banner{border-radius:15px!important;background:linear-gradient(100deg,#21052e,#4b006e)!important;color:#fff!important;border:0!important}.project-code-banner small{color:#d6c4dd!important}.project-progress-pill{background:rgba(255,255,255,.13)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
.doku-project-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.doku-project-overview article{border:1px solid #ebe4ee;border-radius:13px;background:#fff;padding:11px 12px;display:grid;gap:2px}.doku-project-overview article>span{font-size:8px;text-transform:uppercase;letter-spacing:.055em;color:#94899a;font-weight:850}.doku-project-overview article>strong{font-size:14px;color:#2e2133}.doku-project-overview article>small{font-size:8.5px;line-height:1.35;color:#817584}.doku-project-overview article.attention{background:#fffaf2;border-color:#f6dfb8}.doku-project-overview article.success{background:#f5fcf8;border-color:#d9efdf}
.doku-project-quicknav{position:sticky;top:-1px;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;margin:10px 0 16px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid #ebe4ee;border-radius:14px;box-shadow:0 6px 18px rgba(49,16,65,.04)}.doku-project-quicknav button{border:0;background:transparent;border-radius:9px;min-height:38px;padding:7px 9px;display:flex;align-items:center;justify-content:center;gap:6px;color:#66596c;font-size:9px;font-weight:800}.doku-project-quicknav button:hover{background:#f8f1fa;color:#4b006e}.doku-project-quicknav button.active{background:#4b006e;color:#fff}.doku-project-quicknav button:disabled{opacity:.36;cursor:not-allowed}.doku-project-quicknav .ui-icon{width:14px;height:14px}.project-entry-dialog .phase3-form-section{scroll-margin-top:72px;border-radius:15px!important;border-color:#ece5ef!important}.project-entry-dialog .phase3-section-title>span{background:#f0e4f5!important;color:#5a087d!important}.project-entry-dialog .project-next-action-card{border-left:4px solid #741b98!important;background:#fbf7fd!important}

.doku-followup-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0}.doku-followup-filter{display:flex;gap:5px;flex-wrap:wrap;padding:4px;border:1px solid #e9e2ec;border-radius:12px;background:#fff}.doku-followup-filter button{border:0;background:transparent;border-radius:8px;padding:8px 11px;font-size:9px;font-weight:800;color:#706675}.doku-followup-filter button:hover{background:#f7f1f9;color:#4b006e}.doku-followup-filter button.active{background:#4b006e;color:#fff}.doku-priority-summary{display:flex;gap:7px;flex-wrap:wrap}.doku-priority-summary span{display:inline-flex;align-items:center;gap:3px;border:1px solid #ebe4ee;border-radius:999px;background:#fff;padding:6px 9px;font-size:8.5px;color:#756b79}.doku-priority-summary span b{font-size:10px;color:#2c2130}.doku-priority-summary .danger{background:#fff5f4;border-color:#f7d0cd}.doku-priority-summary .warning{background:#fff9ef;border-color:#f5e0bb}.doku-followup-guide{border-radius:12px!important;background:#faf7fb!important;border:1px solid #eee5f1!important}.doku-followup-stats .doku-stat.danger strong{color:#b42318}.doku-followup-stats .doku-stat.attention strong{color:#b4660b}
.followup-card-list{gap:8px!important}.doku-work-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;padding:12px!important;border:1px solid #ebe5ee!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}.doku-work-card:hover{border-color:#d6c2df!important;background:#fdfbfe!important}.doku-work-card-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}.doku-work-card>div:nth-child(2){display:grid;gap:3px;min-width:0}.doku-work-card>div:nth-child(2)>strong{font-size:11px!important}.doku-work-card>div:nth-child(2)>small{font-size:8.5px!important;color:#887e8b}.doku-work-card p{margin:3px 0 0;font-size:9.2px;color:#574d5b}.doku-work-card>button{align-self:end;min-height:33px;padding:0 10px;border-radius:9px;font-size:8.8px}.doku-task-box{margin-top:6px;padding:8px 9px;border-radius:9px;background:#f8f4fa;display:grid;gap:2px}.doku-task-box b{font-size:9px;color:#4d3158}.doku-task-box small{font-size:8px!important}.doku-table-empty{text-align:center!important;padding:27px!important;color:#887e8b!important;font-size:9.5px}.connected-followup-grid .followup-panel{border-radius:16px!important;border-color:#e9e2ed!important;box-shadow:0 6px 20px rgba(49,16,65,.035)!important}.followup-document-panels .table-card{border-radius:16px!important;border-color:#e9e2ed!important}

@media(max-width:1100px){.doku-project-card{grid-template-columns:1fr}.doku-project-card-main{border-right:0;border-bottom:1px solid #eee9f0;padding-right:0;padding-bottom:14px}.doku-project-card-side{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.doku-card-actions{grid-column:1/-1}.doku-project-overview{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.doku-projects-headline{align-items:flex-start;flex-direction:column}.doku-project-title-row{flex-direction:column;gap:8px}.doku-project-card-side{grid-template-columns:1fr}.doku-card-actions{grid-column:auto}.doku-project-metrics{grid-template-columns:1fr 1fr}.doku-project-quicknav{grid-template-columns:repeat(5,minmax(76px,1fr));overflow-x:auto;justify-content:start}.doku-project-quicknav button{white-space:nowrap}.doku-followup-toolbar{align-items:flex-start;flex-direction:column}.doku-followup-filter{width:100%;overflow-x:auto;flex-wrap:nowrap}.doku-followup-filter button{white-space:nowrap}.doku-project-overview{grid-template-columns:1fr 1fr}.project-entry-dialog{width:100vw!important;max-width:none!important;border-radius:0!important}}
@media(max-width:480px){.doku-project-overview{grid-template-columns:1fr}.doku-project-metrics{grid-template-columns:1fr 1fr}.doku-card-actions{display:grid;grid-template-columns:1fr 1fr}.doku-card-actions .primary{grid-column:1/-1}.doku-priority-summary{display:grid;grid-template-columns:1fr 1fr;width:100%}.doku-project-quicknav{grid-template-columns:repeat(5,104px)}}


/* ================================================================
   doku V8.29 · Fase 3 — Donaciones, reparto, beneficiarios e inventario
   ================================================================ */
.doku-social-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 12px;padding:9px;border:1px solid #e7e2f2;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fbf8ff 100%);box-shadow:0 8px 26px rgba(69,26,99,.05)}
.doku-social-flow button{appearance:none;border:1px solid transparent;background:transparent;border-radius:13px;min-width:0;padding:11px 10px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;color:#39334a;cursor:pointer;transition:.18s ease}
.doku-social-flow button:hover{background:#f6f0fb;border-color:#e2d3ef;transform:translateY(-1px)}
.doku-social-flow button.active{background:linear-gradient(135deg,#4b006e,#7411a5);color:#fff;box-shadow:0 7px 16px rgba(75,0,110,.18)}
.doku-social-flow button>span:first-child{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#f0e6f7;color:#5a1677;font-size:11px;font-weight:900}
.doku-social-flow button.active>span:first-child{background:rgba(255,255,255,.17);color:#fff}
.doku-social-flow button div{min-width:0;display:flex;flex-direction:column;gap:2px}.doku-social-flow button strong{font-size:11px;line-height:1.15}.doku-social-flow button small{font-size:8.5px;line-height:1.25;color:#81788d;white-space:normal}.doku-social-flow button.active small{color:#e9d9f2}
.doku-social-flow button>b{min-width:24px;height:24px;border-radius:999px;padding:0 6px;display:grid;place-items:center;background:#f4f0f7;color:#5d5267;font-size:9px}.doku-social-flow button.active>b{background:#fff;color:#5a006f}
.doku-social-flow.compact{margin-top:10px}
.doku-social-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:10px 0 12px;padding:12px 14px;border:1px solid #ebe7f0;border-radius:15px;background:#fff}.doku-social-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}.doku-social-toolbar .eyebrow{font-size:8px}.doku-social-toolbar strong{font-size:11px;color:#312b3b}
.doku-filter-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.doku-filter-chips button{border:1px solid #ded7e7;background:#fff;color:#62576b;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800;cursor:pointer}.doku-filter-chips button:hover{border-color:#bba4c9;background:#fbf7fd}.doku-filter-chips button.active{border-color:#5b087e;background:#5b087e;color:#fff;box-shadow:0 5px 12px rgba(91,8,126,.14)}
.doku-ux-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:11px 13px;border:1px solid #ded7ef;border-radius:14px;background:#f8f5fc;color:#4c4058}.doku-ux-note .ui-icon{width:16px;height:16px;color:#5b087e;flex:0 0 16px;margin-top:1px}.doku-ux-note div{display:flex;flex-direction:column;gap:2px}.doku-ux-note strong{font-size:10px}.doku-ux-note span{font-size:9px;line-height:1.45;color:#716679}
.doku-donation-next-inline{display:block;margin-top:6px;padding-top:6px;border-top:1px dashed #e5e1ea;color:#5b087e;font-size:8.5px;font-weight:800;line-height:1.35}
.doku-balance-strong{font-size:13px!important;color:#281e2f!important}.doku-stock-zero{opacity:.62}
.doku-field-route{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:0 0 10px;margin:-1px 0 12px;border-bottom:1px solid #eeeaf2}.doku-field-route span{white-space:nowrap;border-radius:999px;background:#f4f1f6;color:#766c7c;padding:6px 9px;font-size:8.5px;font-weight:800}.doku-field-route span.active{background:#5b087e;color:#fff}
.doku-operation-tip{display:flex;flex-direction:column;gap:3px;margin:0 0 14px;padding:12px 14px;border:1px solid #dfd4e8;border-left:4px solid #5b087e;border-radius:12px;background:linear-gradient(90deg,#faf5fd,#fff)}.doku-operation-tip>span{color:#72119a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.doku-operation-tip strong{font-size:11px;color:#302338}.doku-operation-tip small{font-size:9px;color:#75697d;line-height:1.45}
.doku-social-empty{padding:28px 16px;text-align:center;color:#716879}.doku-social-empty strong{display:block;color:#342c3c;margin-bottom:4px}.doku-social-empty button{margin-top:10px}
.beneficiary-aid-toolbar{align-items:center}.beneficiary-aid-toolbar>.compact-action{margin-left:auto}
@media(max-width:1050px){.doku-social-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.doku-social-flow button:nth-child(4),.doku-social-flow button:nth-child(5){grid-column:auto}}
@media(max-width:720px){.doku-social-flow{grid-template-columns:1fr 1fr;padding:7px}.doku-social-flow button{grid-template-columns:26px minmax(0,1fr) auto;padding:9px 8px}.doku-social-flow button:nth-child(5){grid-column:1/-1}.doku-social-toolbar{align-items:stretch}.doku-filter-chips{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.doku-filter-chips button{white-space:nowrap}.beneficiary-aid-toolbar>.compact-action{width:100%;margin-left:0}.doku-field-route{margin-top:0}}


/* ================================================================
   doku V8.30 · Fase 4 — gestión documental conectada
   ================================================================ */
#outgoingFilters{display:none!important}
.doku-document-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:10px 0 12px;padding:7px;border:1px solid #ebe5ee;border-radius:17px;background:#fff;box-shadow:0 6px 22px rgba(49,16,65,.035)}
.doku-document-flow button{min-width:0;border:0;background:transparent;border-radius:12px;padding:9px 10px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;text-align:left;color:#6b606f;cursor:pointer}
.doku-document-flow button>span{width:28px;height:28px;border-radius:9px;background:#f6f1f8;color:#6d317f;display:grid;place-items:center;font-size:9px;font-weight:900}.doku-document-flow button div{display:grid;gap:1px;min-width:0}.doku-document-flow strong{font-size:10px;color:#322736}.doku-document-flow small{font-size:8px;color:#8a7e8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doku-document-flow button:hover{background:#faf6fb}.doku-document-flow button.active{background:linear-gradient(135deg,#4b006e,#7b179e);box-shadow:0 7px 16px rgba(75,0,110,.16)}.doku-document-flow button.active>span{background:rgba(255,255,255,.16);color:#fff}.doku-document-flow button.active strong,.doku-document-flow button.active small{color:#fff}
.doku-document-toolbar,.doku-report-presets{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 12px;padding:12px 14px;border:1px solid #ebe5ee;border-radius:15px;background:#fff}.doku-document-toolbar>div:first-child,.doku-report-presets>div:first-child{display:grid;gap:2px}.doku-document-toolbar strong,.doku-report-presets strong{font-size:11px;color:#312636}.doku-next-inline{display:block;margin-top:5px;font-size:8.5px;color:#7b2d98;font-weight:750}.module-hero-archive .module-hero-icon{background:#f1effb;color:#4b3d91}.module-hero-search .module-hero-icon{background:#f7effb;color:#7b2d98}.module-hero-reports .module-hero-icon{background:#f3edff;color:#633398}
.doku-report-type-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 12px}.doku-report-type-grid button{border:1px solid #e9e2ec;background:#fff;border-radius:14px;padding:12px 10px;display:grid;gap:4px;text-align:left;cursor:pointer;min-width:0}.doku-report-type-grid .ui-icon{width:18px;height:18px;color:#7b2d98;margin-bottom:4px}.doku-report-type-grid strong{font-size:10.5px;color:#332738}.doku-report-type-grid small{font-size:8.5px;color:#897e8d}.doku-report-type-grid button:hover{border-color:#c9acd3;background:#fcf8fd}.doku-report-type-grid button.active{border-color:#71308b;background:#f7effa;box-shadow:inset 0 0 0 1px #71308b}.doku-report-type-grid button.active strong{color:#4b006e}
.doku-search-hero{border:1px solid #e9e2ec!important;border-radius:18px!important;background:linear-gradient(135deg,#fbf7fc,#fff)!important;box-shadow:0 8px 26px rgba(49,16,65,.04)!important}.doku-search-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:10px 12px;border:1px solid #ebe5ee;border-radius:14px;background:#fff}.doku-search-filter>span{font-size:9px;font-weight:800;color:#756979}.doku-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.doku-result-card{margin:0!important;border:1px solid #ebe5ee!important;border-radius:16px!important;box-shadow:0 6px 20px rgba(49,16,65,.035)!important}.doku-result-card:hover{border-color:#cbb4d5!important;box-shadow:0 10px 24px rgba(75,0,110,.07)!important}
.institutional-report-filter-card{border-radius:16px!important;border-color:#eae3ed!important;background:#fff!important}.report-period-banner{border-radius:12px!important;background:#faf5fc!important;border:1px solid #eadced!important;color:#5e4f63!important}
@media(max-width:980px){.doku-document-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.doku-report-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.doku-search-results{grid-template-columns:1fr}}
@media(max-width:680px){.doku-document-flow{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}.doku-document-flow button{flex:0 0 138px;scroll-snap-align:start}.doku-document-toolbar,.doku-report-presets,.doku-search-filter{align-items:stretch;flex-direction:column}.doku-document-toolbar .doku-filter-chips,.doku-report-presets .doku-filter-chips,.doku-search-filter .doku-filter-chips{width:100%;overflow-x:auto;flex-wrap:nowrap}.doku-document-toolbar .doku-filter-chips button,.doku-report-presets .doku-filter-chips button,.doku-search-filter .doku-filter-chips button{white-space:nowrap}.doku-report-type-grid{display:flex;overflow-x:auto}.doku-report-type-grid button{flex:0 0 135px}.doku-search-results{grid-template-columns:1fr}}


/* ==================================================================
   doku V8.31 · Fase 5 — cierre UX
   ================================================================== */
:root{--doku-purple:#5b007f;--doku-purple-deep:#250032;--doku-lilac:#f7f2f9;--doku-focus:#7a17a3;--doku-danger:#b42318;--doku-success:#16794a;--doku-warning:#a15c00}
button,input,select,textarea,[contenteditable="true"],a{scroll-margin-top:90px}button:not(:disabled),a[href],select,label[for],input[type="checkbox"],input[type="radio"]{cursor:pointer}
:where(button,a,input,select,textarea,[contenteditable="true"]):focus-visible{outline:3px solid color-mix(in srgb,var(--doku-focus) 35%,transparent);outline-offset:2px;border-color:var(--doku-focus)!important;box-shadow:0 0 0 3px rgba(91,0,127,.08)}
.doku-help-icon{font-weight:900;font-size:17px;line-height:1}.doku-system-notice{position:sticky;top:68px;z-index:34;margin:10px 20px 0;padding:11px 14px;border:1px solid #f2c9c5;background:#fff6f5;color:#7a271a;border-radius:12px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 22px rgba(61,20,20,.07)}.doku-system-notice strong{white-space:nowrap}.doku-system-notice span{flex:1}.doku-system-notice button{width:32px;height:32px;border:0;background:transparent;border-radius:8px;font-size:21px;color:inherit}.topbar-status.offline{color:#b42318;background:#fff1f0}.topbar-status.offline .status-dot{background:#d92d20;box-shadow:0 0 0 4px rgba(217,45,32,.1)}
.toast{max-width:min(520px,calc(100vw - 32px));min-width:250px;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 45px rgba(22,10,31,.25);font-weight:700;line-height:1.35}.toast.success{background:#0f6f46}.toast.error{background:#a92a22}.toast.info{background:#2b1935}
.doku-dialog-ready::backdrop{background:rgba(28,8,38,.48);backdrop-filter:blur(3px)}.doku-dialog-ready .dialog-head{position:sticky;top:0;z-index:22}.doku-dialog-footer{margin:0!important;padding:12px 20px!important}.doku-admin-dialog{width:min(1060px,96vw);max-height:94dvh}.doku-admin-dialog .dialog-body{max-height:calc(94dvh - 142px);overflow:auto;padding:18px 22px 12px}.doku-admin-tabs{display:flex;gap:6px;padding:5px;background:#f4eef6;border:1px solid #e8ddec;border-radius:13px;margin-bottom:18px;position:sticky;top:0;z-index:10}.doku-admin-tabs button{flex:1;border:0;background:transparent;border-radius:9px;padding:10px 12px;color:#5c5362;font-weight:800}.doku-admin-tabs button.active{background:#fff;color:var(--doku-purple);box-shadow:0 3px 12px rgba(71,23,88,.1)}.doku-settings-panel{display:none;animation:dokuFadeIn .18s ease}.doku-settings-panel.active{display:block}.doku-panel-intro{display:grid;gap:4px;padding:14px 15px;background:linear-gradient(100deg,#fbf8fc,#f6eff8);border:1px solid #eadfed;border-radius:13px;margin-bottom:13px}.doku-panel-intro strong{font-size:15px;color:#28182e}.doku-panel-intro span{font-size:13px;color:#776b7d}.doku-info-card{display:grid;gap:4px;border-left:4px solid var(--doku-purple);padding:13px 14px;background:#faf7fb;border-radius:10px;margin-top:14px}.doku-info-card span{color:#716676;font-size:13px}.inline-actions{position:static!important;margin:12px 0 0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;min-height:0!important}.doku-settings-panel .header-logo-settings{grid-template-columns:repeat(3,1fr)}
.doku-user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.doku-user-stats>div{padding:12px 13px;border:1px solid #ebe4ee;border-radius:12px;background:#fff}.doku-user-stats span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#807386}.doku-user-stats strong{display:block;font-size:22px;margin-top:3px;color:#291631}.doku-users-layout{display:grid;grid-template-columns:minmax(380px,1.25fr) minmax(300px,.75fr);gap:18px;align-items:start}.doku-users-directory,.doku-user-editor{border:1px solid #e8e0eb;border-radius:15px;background:#fff;padding:14px}.doku-user-editor{position:sticky;top:66px}.doku-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}.doku-directory-head>div:first-child{display:grid;gap:3px}.doku-directory-head span{font-size:12px;color:#817587}.doku-inline-search{width:min(240px,100%);height:40px}.doku-user-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto;align-items:center;gap:9px;border:1px solid #ece5ef;background:#fff;border-radius:12px;padding:9px 10px;margin-bottom:7px;text-align:left;color:inherit;transition:.15s ease}.doku-user-row:hover{border-color:#d6c0df;background:#fdfafe;transform:translateY(-1px)}.doku-user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f0e4f4;color:#5b007f;font-weight:900}.doku-user-main{min-width:0;display:grid}.doku-user-main strong,.doku-user-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doku-user-main small{color:#817587}.doku-user-flag{font-size:10px;padding:4px 7px;border-radius:999px;background:#fff1d7;color:#8b5200;font-weight:800}.doku-user-state{font-size:11px;font-weight:800}.doku-user-state.active{color:#16794a}.doku-user-state.inactive{color:#9b3934}.doku-empty-mini{padding:28px;text-align:center;color:#817587}.doku-check-card{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;padding:11px 12px;border:1px solid #e9e1ec;border-radius:11px;background:#faf8fb}.doku-check-card span{display:grid;gap:2px}.doku-check-card small{font-weight:500;color:#817587}
.doku-password-strength{display:flex;align-items:center;gap:9px;min-height:18px;margin-top:4px;font-size:11px}.doku-password-strength>span{height:5px;flex:1;background:#eee8f0;border-radius:999px;overflow:hidden}.doku-password-strength i{display:block;height:100%;border-radius:inherit;background:#c7473e;transition:width .2s ease,background .2s ease}.doku-password-strength.s2 i{background:#d69122}.doku-password-strength.s3 i{background:#488a64}.doku-password-strength.s4 i{background:#16794a}.doku-password-strength b{min-width:66px;text-align:right;color:#706477}.doku-password-tip{padding:10px 12px;border-radius:10px;background:#f7f3f8;color:#716676;font-size:12px}.doku-password-dialog{width:min(470px,94vw)}
.doku-help-dialog{width:min(780px,94vw)}.doku-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doku-help-grid article{padding:15px;border:1px solid #eae2ed;border-radius:13px;background:#fff;display:grid;gap:6px}.doku-help-grid article strong{color:#3c1748}.doku-help-grid article span{font-size:13px;color:#746979;line-height:1.5}.doku-shortcuts-card{margin-top:14px;padding:15px;border-radius:13px;background:#f8f3fa}.doku-shortcuts-card h3{margin:0 0 10px}.doku-shortcuts-card>div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-top:1px solid #eadfed}.doku-shortcuts-card kbd{padding:3px 7px;border:1px solid #d7c9dd;border-bottom-width:2px;border-radius:6px;background:#fff;color:#4e2c59;font-family:inherit;font-size:11px}
.doku-mobile-bottom-nav{display:none}.doku-phase5-ready .table-wrap{scrollbar-gutter:stable}.doku-phase5-ready table thead th{position:sticky;top:0;z-index:3;background:#faf9fb}.doku-phase5-ready input,.doku-phase5-ready select,.doku-phase5-ready textarea{font-size:16px}.doku-phase5-ready .dialog-actions button,.doku-phase5-ready .dialog-actions a{min-height:42px}.doku-phase5-ready button:disabled{cursor:not-allowed;opacity:.55}
@keyframes dokuFadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:860px){body.doku-phase5-ready .main{padding-bottom:76px}.doku-mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:68;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-top:1px solid #e9e0ed;padding:6px max(5px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));box-shadow:0 -10px 28px rgba(30,12,38,.08)}.doku-mobile-bottom-nav button{border:0;background:transparent;min-height:50px;border-radius:10px;display:grid;place-items:center;gap:2px;color:#786c7e;font-size:10px;font-weight:800}.doku-mobile-bottom-nav button .ui-icon{width:20px;height:20px}.doku-mobile-bottom-nav button.active{color:#5b007f;background:#f5ecf8}.doku-system-notice{top:61px;margin:8px 10px 0}.doku-admin-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}.doku-admin-dialog .dialog-body{max-height:calc(100dvh - 138px);padding:14px}.doku-admin-tabs{overflow-x:auto;justify-content:flex-start}.doku-admin-tabs button{flex:0 0 auto;min-width:112px}.doku-users-layout{grid-template-columns:1fr}.doku-user-editor{position:static}.doku-user-stats{grid-template-columns:1fr 1fr}.doku-settings-panel .header-logo-settings{grid-template-columns:1fr}.doku-directory-head{align-items:stretch;flex-direction:column}.doku-inline-search{width:100%}.doku-help-grid{grid-template-columns:1fr}.doku-user-row{grid-template-columns:38px minmax(0,1fr) auto}.doku-user-row .role-pill{grid-column:2}.doku-user-flag,.doku-user-state{grid-column:3}.toast{bottom:86px!important}}
@media(max-width:520px){.doku-user-stats{grid-template-columns:1fr 1fr}.doku-users-directory,.doku-user-editor{padding:11px}.doku-shortcuts-card>div{align-items:flex-start;flex-direction:column}.doku-system-notice strong{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* V8.31.3 — Crear documento con bloques visuales doku */
.phase3-form .doku-doc-section{
  --section-accent:#6e2a8f;
  margin:14px 0;
  padding:16px;
  border:1px solid #e8e0ed;
  border-left:4px solid var(--section-accent);
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 16px rgba(55,18,73,.035);
}
.phase3-form .doku-doc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 13px;padding:0 0 10px;border-bottom:1px solid rgba(75,0,110,.08)}
.phase3-form .doku-doc-section-head strong{font-size:.94rem;color:#24152c;letter-spacing:-.01em}
.phase3-form .doku-doc-section-head span{font-size:.72rem;color:#786b80;text-align:right;line-height:1.35}
.phase3-form .doc-section-type{--section-accent:#5a0b78;background:#fcf9fd}
.phase3-form .doc-section-logo{--section-accent:#742b93;background:#faf7fc}
.phase3-form .doc-section-recipient{--section-accent:#8c58a3;background:#fcfbfd}
.phase3-form .doc-section-content{--section-accent:#5f3975;background:#faf9fb}
.phase3-form .doc-section-signers{--section-accent:#744d88;background:#fcfafc}
.phase3-form .doc-section-archive{--section-accent:#8b6a99;background:#fcfbfd}
.phase3-form .doc-section-ocr{--section-accent:#9e82aa;background:#fdfcfd}
.phase3-form .doc-section-attachments{--section-accent:#684178;background:#fcfafc}
.phase3-form .doc-section-delivery{--section-accent:#4b006e;background:#faf7fc}
.phase3-form .doku-doc-section.signers-card,
.phase3-form .doku-doc-section.archive-card,
.phase3-form .doku-doc-section.ocr-card,
.phase3-form .doku-doc-section.attachments-card,
.phase3-form .doku-doc-section.delivery-card{padding:16px;border-radius:16px}
.phase3-form .doku-doc-section .section-head{margin-bottom:12px}
.phase3-form .doc-section-logo .logo-options-help{margin-top:9px;display:flex;gap:7px;flex-wrap:wrap}
.phase3-form .doc-section-logo .logo-options-help span{padding:5px 9px;border:1px solid #e7deeb;border-radius:999px;background:rgba(255,255,255,.78);color:#654b71;font-size:.7rem}
@media(max-width:760px){
  .phase3-form .doku-doc-section{padding:13px;margin:10px 0;border-radius:14px}
  .phase3-form .doku-doc-section-head{align-items:flex-start;flex-direction:column;gap:3px}
  .phase3-form .doku-doc-section-head span{text-align:left}
}


/* V8.31.4 — Secciones limpias: sin filos, sin línea lateral ni divisores */
.phase3-form .doku-doc-section{
  border:0!important;
  border-left:0!important;
  box-shadow:none!important;
  border-radius:12px;
  padding:16px 14px;
  margin:12px 0;
}
.phase3-form .doku-doc-section-head{
  border-bottom:0!important;
  padding-bottom:0!important;
  margin-bottom:12px!important;
}
.phase3-form .doku-doc-section.signers-card,
.phase3-form .doku-doc-section.archive-card,
.phase3-form .doku-doc-section.ocr-card,
.phase3-form .doku-doc-section.attachments-card,
.phase3-form .doku-doc-section.delivery-card{
  border:0!important;
  box-shadow:none!important;
  border-radius:12px;
}
@media(max-width:760px){
  .phase3-form .doku-doc-section{padding:13px 10px;margin:9px 0;border-radius:10px}
}


/* DOK-U V8.32 · Vinculaciones y Alianzas · Etapa 1 */
.doku-vinculations-view{padding-bottom:60px}.vinc-head{align-items:flex-start}.vinc-subnav{display:flex;gap:6px;overflow-x:auto;padding:6px 0 14px;margin-bottom:8px;scrollbar-width:thin}.vinc-subnav button{border:0;background:transparent;color:var(--muted,#667085);padding:9px 12px;border-radius:10px;white-space:nowrap;font-weight:700;font-size:.86rem}.vinc-subnav button:hover,.vinc-subnav button.active{background:#f2edff;color:#5b218f}.vinc-content{min-height:360px}.vinc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 18px}.vinc-kpis article{background:#fff;border:1px solid #ebe7f1;border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(34,16,58,.04)}.vinc-kpis span,.vinc-kpis small{display:block;color:#667085}.vinc-kpis strong{display:block;font-size:1.75rem;color:#22152e;margin:3px 0}.vinc-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:16px}.vinc-panel{background:#fff;border-radius:18px;padding:18px;border:1px solid #eeeaf3}.vinc-panel-head,.vinc-list-head,.vinc-tab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.vinc-panel-head h3,.vinc-list-head h3,.vinc-tab-head h3{margin:3px 0 4px}.vinc-panel-head p,.vinc-list-head p,.vinc-tab-head p{margin:0;color:#667085}.vinc-directory{display:grid;gap:10px}.vinc-card{display:flex;align-items:center;gap:16px;justify-content:space-between;background:#fff;border:1px solid #eeeaf3;border-radius:14px;padding:14px 15px}.vinc-card-main{min-width:0;flex:1}.vinc-card-main>strong{display:block;font-size:1rem;margin:5px 0 2px;color:#191122}.vinc-card-main>small{display:block;color:#667085}.vinc-card-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.vinc-code{font-size:.73rem;letter-spacing:.05em;font-weight:800;color:#6a2b9c}.vinc-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800}.vinc-badge.success{background:#eaf8f0;color:#157347}.vinc-badge.warning{background:#fff3dc;color:#995800}.vinc-badge.info{background:#eee8ff;color:#5d2491}.vinc-badge.neutral{background:#f1f2f4;color:#5f6672}.vinc-progress{height:5px;background:#eeeaf3;border-radius:999px;overflow:hidden;margin:9px 0 5px}.vinc-progress span{display:block;height:100%;background:linear-gradient(90deg,#6b18a3,#8d42c0);border-radius:inherit}.vinc-status-guide{display:flex;flex-wrap:wrap;gap:8px}.vinc-state-dot{font-size:.75rem;padding:7px 9px;border-radius:999px;background:#f6f3f8;color:#483a54}.vinc-state-dot.success{background:#eaf8f0;color:#157347}.vinc-state-dot.warning{background:#fff3dc;color:#995800}.vinc-state-dot.info{background:#eee8ff;color:#5d2491}.vinc-empty{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#777083;gap:7px}.vinc-empty .ui-icon{width:26px;height:26px}.vinc-empty strong{color:#31243b}.vinc-simple-list{display:grid;gap:8px}.vinc-simple-list>article,.vinc-file-grid>article{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border-bottom:1px solid #eeeaf3}.vinc-simple-list article div{min-width:0;flex:1}.vinc-simple-list strong,.vinc-simple-list small{display:block}.vinc-simple-list small{color:#667085;margin-top:3px}.vinc-simple-list p{margin:5px 0 0;color:#667085}.vinc-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.vinc-type-grid button{text-align:left;border:1px solid #e8e1ef;background:#fff;padding:15px;border-radius:14px;color:#22152e}.vinc-type-grid button:hover{border-color:#7e42aa;background:#faf8ff}.vinc-type-grid strong,.vinc-type-grid span{display:block}.vinc-type-grid span{font-size:.78rem;color:#7a7180;margin-top:3px}.vinc-form{display:grid;gap:16px}.vinc-form-section{background:#faf9fc;border-radius:16px;padding:16px}.vinc-section-title{margin-bottom:12px}.vinc-section-title span{display:block;font-weight:800;color:#2d2035}.vinc-section-title small{display:block;color:#777083;margin-top:2px}.vinc-expedient-dialog{width:min(1180px,96vw);max-width:none}.vinc-exp-head{align-items:flex-start}.vinc-exp-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}.vinc-exp-meta>span{font-size:.8rem;color:#6b6172}.vinc-exp-meta select{min-width:180px}.vinc-exp-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 18px;border-bottom:1px solid #eeeaf3}.vinc-exp-tabs button{border:0;background:transparent;padding:11px 10px;white-space:nowrap;color:#716878;font-weight:700;border-bottom:2px solid transparent}.vinc-exp-tabs button.active{color:#621f91;border-color:#621f91}.vinc-summary-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.6fr);gap:16px}.vinc-summary-main,.vinc-summary-progress{background:#faf9fc;border-radius:16px;padding:16px}.vinc-summary-main{display:flex;gap:14px}.vinc-summary-logo{width:70px;height:70px;border-radius:16px;background:#ede4f7;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;font-size:1.25rem;font-weight:900;color:#62228f}.vinc-summary-logo img{width:100%;height:100%;object-fit:contain;background:white}.vinc-summary-main h3{margin:4px 0 6px}.vinc-summary-main p{margin:0;color:#667085}.vinc-summary-progress strong{font-size:2rem;color:#5e238e}.vinc-summary-progress span,.vinc-summary-progress small{display:block;color:#667085}.vinc-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.vinc-detail-grid>div{padding:12px;background:#fff;border-bottom:1px solid #eeeaf3}.vinc-detail-grid span,.vinc-detail-grid strong{display:block}.vinc-detail-grid span{font-size:.72rem;color:#777083;text-transform:uppercase;letter-spacing:.04em}.vinc-detail-grid strong{margin-top:4px;overflow-wrap:anywhere}.vinc-text-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.vinc-text-sections article{background:#faf9fc;padding:14px;border-radius:14px}.vinc-text-sections span{font-weight:800}.vinc-text-sections p{margin:6px 0 0;color:#5e5664;white-space:pre-wrap}.vinc-doc-list{display:grid;gap:8px}.vinc-doc-row{display:grid;grid-template-columns:minmax(250px,1fr) 155px minmax(250px,auto);gap:10px;align-items:center;padding:12px;background:#fff;border-bottom:1px solid #eeeaf3}.vinc-doc-info strong,.vinc-doc-info small{display:block}.vinc-doc-info small{color:#777083;margin:3px 0 7px}.vinc-doc-info input{width:100%}.req-dot{font-size:.65rem;padding:3px 6px;border-radius:999px;background:#f3eafe;color:#6a2b9c}.vinc-doc-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.vinc-file-grid{display:grid;gap:6px}.vinc-file-grid>article>div{min-width:0;flex:1}.vinc-file-grid strong,.vinc-file-grid small{display:block}.vinc-file-grid small{color:#777083}.vinc-file-grid .ui-icon{width:20px;height:20px}.vinc-timeline{display:grid;gap:0}.vinc-timeline article{display:grid;grid-template-columns:18px 1fr;gap:8px;position:relative;padding:8px 0}.vinc-timeline article:before{content:"";position:absolute;left:5px;top:20px;bottom:-8px;width:1px;background:#e3dbea}.vinc-timeline article:last-child:before{display:none}.vinc-time-dot{width:11px;height:11px;border-radius:50%;background:#6c2599;margin-top:4px}.vinc-timeline strong,.vinc-timeline small{display:block}.vinc-timeline small{color:#777083;margin-top:3px}.vinc-dialog{width:min(900px,95vw)}
@media(max-width:900px){.vinc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vinc-dashboard-grid,.vinc-summary-grid{grid-template-columns:1fr}.vinc-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vinc-doc-row{grid-template-columns:1fr}.vinc-doc-actions{justify-content:flex-start}.vinc-text-sections{grid-template-columns:1fr}}
@media(max-width:600px){.vinc-kpis,.vinc-type-grid,.vinc-detail-grid{grid-template-columns:1fr}.vinc-card{align-items:flex-start;flex-direction:column}.vinc-card .row-action{width:100%;text-align:center}.vinc-panel,.vinc-form-section{padding:13px}.vinc-exp-tabs{padding:0 8px}.vinc-summary-main{flex-direction:column}.vinc-subnav{margin-inline:-4px}.vinc-doc-actions>*{flex:1 1 auto;text-align:center}}
.vinc-doc-control-line{display:flex;gap:8px;align-items:center}.vinc-doc-control-line>input{flex:1;min-width:0}.vinc-required-check{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:.75rem;color:#675d6e}.vinc-required-check input{width:auto;margin:0}
@media(max-width:600px){.vinc-doc-control-line{align-items:flex-start;flex-direction:column}.vinc-required-check{padding:4px 0}}


/* DOK-U V8.33 · Vinculaciones Etapa 2 · generador documental */
.vinc-exp-head-actions{display:flex;align-items:center;gap:10px}.primary.compact{padding:9px 13px;min-height:38px}.vinc-tab-actions{display:flex;gap:8px;flex-wrap:wrap}.vinc-generated-list{margin:12px 0 22px}.vinc-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 10px;padding:0 2px}.vinc-subsection-heading strong{font-size:14px}.vinc-subsection-heading span{font-size:12px;color:var(--muted)}.checklist-heading{margin-top:22px}.vinc-generated-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;margin-bottom:8px;border-radius:14px;background:#faf9fd}.vinc-generated-row>div:first-child{display:grid;gap:3px;min-width:0}.vinc-generated-row strong{font-size:14px}.vinc-generated-row small{color:var(--muted);font-size:12px}.vinc-doc-code{font-size:11px;font-weight:800;color:#6d168a;letter-spacing:.02em}.vinc-doc-template-dialog{width:min(840px,94vw)}.vinc-template-list{display:grid;gap:20px}.vinc-template-group h3{margin:0 0 9px;font-size:14px;color:#27213b}.vinc-template-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vinc-template-group button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:13px 14px;border:0;border-radius:13px;background:#f8f6fc;color:#211b32;cursor:pointer}.vinc-template-group button:hover{background:#f0e9f8}.vinc-template-group button span{font-weight:700}.vinc-template-group button small{font-size:10px;font-weight:800;color:#7b2a92;background:#fff;padding:4px 7px;border-radius:999px}.vinc-generated-doc-dialog{width:min(980px,96vw)}.vinc-generated-doc-body{display:grid;gap:18px}.vinc-generated-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vinc-editor-section{background:#fbfafd;border-radius:16px;padding:15px}.vinc-editor-section .vinc-section-title{margin-bottom:10px}.vinc-rich-editor{min-height:340px;background:#fff;border:1px solid #ded9e8;border-radius:14px;padding:18px;line-height:1.55;outline:none}.vinc-rich-editor:focus{border-color:#8b44a4;box-shadow:0 0 0 3px rgba(113,27,139,.08)}.vinc-generated-actions{position:sticky;bottom:-1px;display:flex;gap:8px;flex-wrap:wrap;padding:13px;background:rgba(255,255,255,.96);border-top:1px solid #eeeaf4;backdrop-filter:blur(8px);z-index:2}.vinc-generated-actions a{text-decoration:none}.vinc-generated-actions .hidden{display:none!important}@media(max-width:720px){.vinc-exp-head-actions{width:100%;justify-content:space-between}.vinc-template-group>div{grid-template-columns:1fr}.vinc-generated-row{align-items:flex-start;flex-direction:column}.vinc-generated-row .vinc-doc-actions{width:100%;justify-content:flex-start}.vinc-generated-meta{grid-template-columns:1fr}.vinc-editor-section{padding:12px}.vinc-rich-editor{min-height:300px}.vinc-generated-actions>*{flex:1 1 45%;text-align:center}}

/* V8.34 · Convenios, firmantes y vigencia */
.vinc-agreement-dialog{width:min(920px,96vw)}.vinc-agreement-grid{gap:14px}.vag-signers-section{margin-top:20px;padding-top:16px;border-top:1px solid #eee9f4}.vag-signer-list{display:grid;gap:8px}.vag-signer-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#f8f7fb;cursor:pointer}.vag-signer-row.selected{background:#f2ebfa;box-shadow:inset 0 0 0 1px #d9c4ea}.vag-signer-row span{display:grid}.vag-signer-row small{color:#756f81}.vag-signer-row b{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:#5d0a78;color:#fff}.vag-new-signer{margin-top:14px;padding:16px;border-radius:14px;background:#faf9fc}.vag-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center;gap:12px}.vag-card-main{display:grid;min-width:0}.vag-card-main strong{color:#4d0767}.vag-card-main span,.vag-card-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vinc-badge.warn{background:#fff1cc;color:#8c5a00}.vinc-badge.danger{background:#ffe2e2;color:#a01919}@media(max-width:700px){.vag-card{grid-template-columns:1fr auto!important}.vag-card .row-action{grid-column:1/-1}.vinc-agreement-grid{grid-template-columns:1fr!important}.vinc-agreement-grid .span-2{grid-column:auto!important}}
.vag-order{display:flex;align-items:center;gap:5px}.vag-order button{border:0;background:#fff;width:25px;height:25px;border-radius:8px;cursor:pointer;color:#5d0a78}.vag-doc-link{margin-top:5px;width:max-content;max-width:100%;border:0;background:transparent;padding:0;color:#6c1684;font-size:12px;text-decoration:underline;cursor:pointer}


/* V8.35 · Propiedad Intelectual / Obras */
.vinc-ip-notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:10px 0 16px;border-radius:12px;background:rgba(92,55,188,.07);color:#40345d}.vinc-ip-notice strong{white-space:nowrap;color:#5937b9}.vinc-ip-notice span{line-height:1.45}.vinc-work-grid{display:grid;gap:10px}.vinc-work-card{padding:14px 16px;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(31,22,55,.055)}.vinc-work-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.vinc-work-card-head>div{display:grid;gap:3px}.vinc-work-card-head strong{font-size:15px}.vinc-work-rights{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.vinc-work-rights span{padding:8px 10px;border-radius:10px;background:#f7f5fb;font-size:12px;color:#6b6574}.vinc-work-rights b{display:block;margin-top:2px;color:#302a3b}.vinc-work-register{display:block;margin-bottom:10px;color:#625a70}.vinc-work-dialog{width:min(980px,96vw)}.vinc-work-section{padding:4px 0 16px;margin-bottom:8px}.vinc-work-section h3{margin:0 0 10px;font-size:15px;color:#392d57}.compact-head{align-items:center}.vinc-work-upload{display:flex;gap:8px;align-items:center}.vinc-work-upload select{min-width:150px}.vinc-work-files,.vinc-work-doc-list{display:grid;gap:8px;margin-top:10px}.vinc-work-file,.vinc-work-doc-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:#f8f7fb}.vinc-work-file>div,.vinc-work-doc-list article>div{display:grid;gap:2px}.vinc-work-doc-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.vinc-work-doc-buttons button{font-size:12px}.badge.EN_PREPARACION,.badge.DOCUMENTACION_PENDIENTE,.badge.LISTA_REGISTRAR,.badge.EN_TRAMITE,.badge.OBSERVADA,.badge.REGISTRADA,.badge.RECHAZADA,.badge.ARCHIVADA{font-size:11px}.badge.REGISTRADA{background:#e9f7ef;color:#207442}.badge.EN_TRAMITE,.badge.LISTA_REGISTRAR{background:#eef0ff;color:#5140b5}.badge.OBSERVADA,.badge.DOCUMENTACION_PENDIENTE{background:#fff5dd;color:#8b6400}.badge.RECHAZADA{background:#fdecec;color:#9f3333}.badge.ARCHIVADA{background:#efeff2;color:#5f5d66}@media(max-width:720px){.vinc-ip-notice{display:grid}.vinc-ip-notice strong{white-space:normal}.vinc-work-rights{grid-template-columns:1fr}.vinc-work-file,.vinc-work-doc-list article{grid-template-columns:1fr 1fr}.vinc-work-file>div,.vinc-work-doc-list article>div{grid-column:1/-1}.vinc-work-upload{display:grid;width:100%}}

/* V8.36 · ETAPA 5 — Empresas, auspicios, donaciones y cooperación */
.company-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.company-card,.company-panel{background:var(--surface,#fff);border:1px solid var(--line,#e8e3ee);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(58,28,78,.05)}.company-card{display:flex;flex-direction:column;gap:13px}.company-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.company-card-head>div{display:flex;flex-direction:column;gap:3px}.company-card-head strong{font-size:1.05rem}.company-support-row,.company-support-picker{display:flex;flex-wrap:wrap;gap:7px}.company-support-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f3eafa;color:#5f167c;font-size:.76rem;font-weight:700}.company-support-option{display:flex!important;align-items:center;gap:7px;border:1px solid #e4d9eb;border-radius:12px;padding:8px 10px;background:#fbf9fc;min-width:170px}.company-support-option input{width:auto!important;margin:0}.company-card-stats{display:flex;gap:10px;flex-wrap:wrap}.company-card-stats span{background:#f8f6fa;border-radius:10px;padding:8px 10px;font-size:.78rem}.company-card-stats b{font-size:1rem;margin-right:3px}.company-summary-kpis{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:10px;margin-bottom:14px}.company-summary-kpis article{background:#f8f5fa;border:1px solid #e8e1ec;border-radius:14px;padding:12px}.company-summary-kpis span,.company-summary-kpis small{display:block;font-size:.72rem;color:#716b78}.company-summary-kpis strong{font-size:1.35rem;display:block;margin:2px 0}.company-panel{margin-bottom:14px}.company-profile-grid{margin-bottom:13px}.company-inline-form{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr repeat(3,minmax(120px,.8fr)) auto;gap:8px;align-items:end;margin-bottom:13px}.company-inline-form.compact-form{grid-template-columns:minmax(260px,1fr) auto;max-width:720px}.company-inline-form input,.company-inline-form select,.company-evidence-upload input,.company-evidence-upload select{min-width:0}.company-project-chips{display:flex;gap:8px;flex-wrap:wrap}.company-project-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #ddd3e5;background:#faf8fb;padding:8px 10px;border-radius:12px;font-size:.8rem}.company-project-chip button{border:0;background:transparent;font-size:1.15rem;cursor:pointer;color:#7a517e}.company-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-bottom:10px}.company-document-grid button{border:1px solid #e1d6e8;background:#faf8fc;border-radius:13px;padding:12px;text-align:left;cursor:pointer}.company-document-grid strong,.company-document-grid small{display:block}.company-document-grid small{margin-top:4px;color:#746b7b}.company-evidence-upload{display:grid;grid-template-columns:180px 150px 1fr minmax(220px,1fr) auto;gap:8px;align-items:end;margin-bottom:13px}.company-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.company-evidence-grid article{display:grid;grid-template-columns:92px 1fr;gap:11px;border:1px solid #e8e2ec;border-radius:14px;padding:9px;background:#fcfbfd}.company-evidence-thumb{height:92px;border-radius:10px;overflow:hidden;background:#f4f1f6;display:block}.company-evidence-thumb img{width:100%;height:100%;object-fit:cover}.company-evidence-file{height:92px;border-radius:10px;background:#f3eff6;display:grid;place-items:center;font-size:2rem}.company-evidence-grid article strong,.company-evidence-grid article small{display:block}.company-evidence-grid article p{margin:5px 0;font-size:.82rem}.doku-donation-relations{border-left:4px solid #7b278f}.field-label{display:block;font-size:.78rem;font-weight:700;margin-bottom:7px}
@media(max-width:1050px){.company-summary-kpis{grid-template-columns:repeat(3,1fr)}.company-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.company-evidence-upload{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.company-summary-kpis{grid-template-columns:repeat(2,1fr)}.company-inline-form,.company-inline-form.compact-form,.company-evidence-upload{grid-template-columns:1fr}.company-evidence-grid{grid-template-columns:1fr}.company-support-option{min-width:100%}.company-card-head{flex-direction:column}.company-kpis{grid-template-columns:repeat(2,1fr)!important}}

/* Estado editable de cooperación — Etapa 5 */
.company-coop-status{min-width:145px;max-width:190px;border:1px solid var(--border,#d8dbe7);border-radius:10px;background:var(--surface,#fff);padding:7px 9px;font:inherit;color:inherit}
@media (max-width:700px){.company-coop-status{width:100%;max-width:none;margin-top:8px}}


/* V8.37 · Etapa 6 · Proyectos */
.s6-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}.s6-project-card{background:#fff;border:1px solid var(--line,#e9e5ef);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 25px rgba(63,32,90,.05)}.s6-project-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.s6-project-card h3{margin:0;font-size:18px}.s6-project-card p{margin:0;color:var(--muted,#6f6a78);min-height:42px}.s6-project-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.s6-project-meta span{background:#faf8fc;border-radius:10px;padding:8px;display:flex;flex-direction:column}.s6-project-toolbar{display:flex;gap:10px;margin:16px 0}.s6-project-toolbar input{flex:1}.s6-editor{display:flex;flex-direction:column;gap:14px}.s6-editor-head{display:flex;align-items:center;gap:14px}.s6-editor-head>div{flex:1}.s6-editor-head h2{margin:2px 0 0}.s6-tabs{display:flex;gap:7px;overflow:auto;padding:4px 0}.s6-tabs button{white-space:nowrap;border:1px solid #e7e0ec;background:white;border-radius:999px;padding:9px 13px}.s6-tabs button.active{background:#5c176f;color:#fff;border-color:#5c176f}.s6-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.s6-form label{display:flex;flex-direction:column;gap:6px}.s6-follow-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.s6-follow-form textarea{grid-column:span 2}.s6-kpis{margin-top:16px}@media(max-width:780px){.s6-form-grid,.s6-follow-form{grid-template-columns:1fr}.s6-follow-form textarea{grid-column:auto}.s6-project-toolbar{flex-direction:column}.s6-editor-head{align-items:flex-start;flex-wrap:wrap}.s6-project-grid{grid-template-columns:1fr}}


/* ===== V8.38 · ETAPA 7 · ALERTAS, VENCIMIENTOS Y CONTROL INSTITUCIONAL ===== */
.doku-notification-button{position:relative}.top-alert-badge{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#b42318;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.top-alert-badge.hidden{display:none}
.module-hero-alerts{background:linear-gradient(135deg,#f8f4ff 0%,#fff8f4 100%);border-color:#eadff4}.control-section-head,.notifications-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:20px 0 12px}.control-section-head h3,.notifications-heading h3{margin:2px 0 0;color:#241c30}.semaphore-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#606879}.semaphore-legend span,.semaphore-chip{display:inline-flex;align-items:center;gap:6px}.semaphore-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.semaphore-dot.GREEN{background:#15803d}.semaphore-dot.YELLOW{background:#d97706}.semaphore-dot.RED{background:#b42318}.semaphore-dot.BLACK{background:#30343b}.institutional-control-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:16px}.control-kpi{background:#fff;border:1px solid #e6e4eb;border-radius:14px;padding:13px 14px;min-height:105px;box-shadow:0 3px 12px rgba(41,28,49,.035)}.control-kpi-head{display:flex;align-items:center;gap:6px;color:#697080}.control-kpi-head small{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.03em}.control-kpi>strong{display:block;font-size:25px;margin:8px 0 2px;color:#2a2131}.control-kpi>span{font-size:12px;color:#606879}.control-kpi.RED{border-top:3px solid #b42318}.control-kpi.YELLOW{border-top:3px solid #d97706}.control-kpi.GREEN{border-top:3px solid #15803d}.control-kpi.BLACK{border-top:3px solid #30343b}.control-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:14px;margin-bottom:16px}.control-layout .home-card{min-height:auto}.expiration-filters{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 12px}.expiration-filters button{border:1px solid #ded8e4;background:#fff;color:#55475d;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}.expiration-filters button.active{background:#473352;color:#fff;border-color:#473352}.expiration-list{display:grid;gap:7px;max-height:330px;overflow:auto}.expiration-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;width:100%;text-align:left;background:#faf9fb;border:1px solid #ece8ef;border-radius:10px;padding:10px;cursor:pointer}.expiration-row:hover{background:#f5f0f8}.expiration-copy strong,.expiration-copy small,.expiration-date strong,.expiration-date small{display:block}.expiration-copy strong{font-size:12px;color:#2d2433}.expiration-copy small,.expiration-date small{font-size:10px;color:#7a7180;margin-top:2px}.expiration-date{text-align:right;white-space:nowrap}.expiration-date strong{font-size:11px}.expiration-go{font-size:11px;color:#694a75;font-weight:800}.control-alert-stats{grid-template-columns:1fr 1fr!important}.control-help{margin:10px 0 0;font-size:11px;color:#787180;line-height:1.45}.semaphore-chip{font-size:10px;font-weight:750;padding:4px 7px;border:1px solid #e6e3e9;border-radius:999px;background:#fff;color:#4f4855}.alert-card.READ{background:#fcfcfd}.alert-card.RESOLVED{opacity:.68;border-left-color:#30343b;background:#f6f6f7}.alert-actions .alert-resolve{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:8px;padding:8px 10px;cursor:pointer}.notifications-heading small{color:#7a7180}.alert-meta span b{color:#4f4655}.alert-empty.compact{padding:20px}.module-hero-alerts .module-hero-icon{background:#fff;color:#694a75}
@media(max-width:1180px){.institutional-control-kpis{grid-template-columns:repeat(3,1fr)}.control-layout{grid-template-columns:1fr}}
@media(max-width:760px){.institutional-control-kpis{grid-template-columns:1fr 1fr}.control-section-head,.notifications-heading{align-items:flex-start;flex-direction:column}.expiration-row{grid-template-columns:auto minmax(0,1fr) auto}.expiration-go{display:none}.control-alert-stats{grid-template-columns:1fr 1fr!important}}
@media(max-width:480px){.institutional-control-kpis{grid-template-columns:1fr}.expiration-date{display:none}.alert-actions{grid-template-columns:1fr!important}}


/* ===== V8.39 · Etapa 8 · cierre UX Vinculaciones y Alianzas ===== */
.doku-vinculations-view{overflow:visible}
.vinc-module-tools{margin:0 0 12px;position:relative;z-index:12}
.vinc-global-search-wrap{position:relative;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:8px;max-width:980px;padding:8px 10px;background:var(--surface,#fff);border:1px solid rgba(73,46,115,.13);border-radius:14px;box-shadow:0 8px 24px rgba(38,23,58,.05)}
.vinc-global-search-wrap input{border:0!important;box-shadow:none!important;background:transparent!important;min-width:0}
.vinc-global-results{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:430px;overflow:auto;background:#fff;border:1px solid rgba(73,46,115,.16);border-radius:14px;box-shadow:0 18px 44px rgba(33,20,49,.18);padding:7px;z-index:60}
.vinc-global-result{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;text-align:left;padding:10px;border:0;border-bottom:1px solid rgba(50,38,66,.08);background:transparent;border-radius:9px}
.vinc-global-result:hover{background:rgba(102,66,153,.07)}
.vinc-global-result strong,.vinc-global-result small{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vinc-global-result .vinc-badge{grid-row:1/3;align-self:center}.vinc-global-empty{padding:22px;text-align:center;color:#6f7785}
.vinc-subnav{display:flex;flex-wrap:wrap;gap:6px;overflow:visible}.vinc-subnav button{white-space:nowrap}
.v8-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.v8-report-head h3{margin:3px 0 4px}.v8-report-actions{display:flex;gap:8px;flex-wrap:wrap}
.v8-report-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;padding:16px;background:#fff;border-radius:16px;box-shadow:0 8px 26px rgba(38,23,58,.05);margin-bottom:16px}.v8-report-filters label{min-width:0}.v8-report-filters input,.v8-report-filters select{width:100%}.v8-report-filter-actions{display:flex;align-items:end;gap:8px;grid-column:span 2}.v8-report-table{overflow:auto}.v8-report-table table{min-width:1180px}.v8-report-table td{vertical-align:top;max-width:240px}.v8-report-table td:nth-child(10){min-width:190px;white-space:normal}
.s6-form-grid,.company-form-grid,.vinc-detail-grid{align-items:start}.s6-form textarea,.company-panel textarea{max-width:100%}.company-inline-form>*{min-width:0}
#vincContent .vinc-panel,#vincContent .company-panel,#vincContent .vinc-list-head{max-width:100%}.vinc-simple-list article,.company-evidence-grid article,.vinc-file-grid article{min-width:0}.vinc-simple-list article>div,.company-evidence-grid article>div{min-width:0}.vinc-simple-list p,.vinc-simple-list small{overflow-wrap:anywhere}
@media (min-width:1180px){.doku-vinculations-view .vinc-content{max-width:none}.s6-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.company-inline-form{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px){.v8-report-filters{grid-template-columns:repeat(3,minmax(145px,1fr))}.v8-report-filter-actions{grid-column:span 3}}
@media (max-width:760px){.vinc-head,.v8-report-head{display:block}.vinc-head>button,.v8-report-actions{margin-top:10px}.vinc-module-tools{position:sticky;top:0;z-index:30;background:var(--page-bg,#f7f5fa);padding:4px 0}.vinc-global-search-wrap{grid-template-columns:auto minmax(0,1fr);border-radius:12px}.vinc-global-search-wrap #vincGlobalSearchBtn{grid-column:1/3;width:100%}.vinc-subnav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px;scrollbar-width:thin}.v8-report-filters{grid-template-columns:1fr}.v8-report-filter-actions{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.v8-report-actions{display:grid;grid-template-columns:1fr 1fr}.v8-report-actions a{text-align:center}.s6-form-grid,.company-form-grid,.company-inline-form,.s6-follow-form,.vinc-detail-grid{grid-template-columns:1fr!important}.s6-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap}.s6-tabs button{flex:0 0 auto}.vinc-dialog,.settings-dialog{max-width:calc(100vw - 16px)!important;width:calc(100vw - 16px)!important}.vinc-simple-list article{grid-template-columns:1fr!important;gap:8px}.vinc-simple-list article>button,.vinc-simple-list article>a{justify-self:start}.vinc-global-results{position:fixed;left:8px;right:8px;top:125px;max-height:60vh}}

/* ===== V8.40 · Encabezado con 4 logotipos y jerarquía configurable ===== */
.header-logo{position:absolute;z-index:2;object-fit:contain;object-position:center;pointer-events:none}
.header-logo-builder{display:grid;gap:12px;margin-top:10px}
.header-logo-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.header-logo-choice{position:relative;display:grid;grid-template-rows:52px auto auto;align-items:center;justify-items:center;gap:4px;min-width:0;padding:10px 9px;border:1px solid #e3d8e8;border-radius:13px;background:#fff;color:#3d3344;cursor:pointer;transition:.16s ease;box-shadow:0 2px 8px rgba(55,25,67,.035)}
.header-logo-choice:hover{border-color:#cdb9d6;background:#fcf9fd;transform:translateY(-1px)}
.header-logo-choice.active{border-color:#7a2a97;background:#f8f0fb;box-shadow:0 0 0 2px rgba(122,42,151,.08)}
.header-logo-choice:disabled{cursor:not-allowed;opacity:.62;transform:none}
.header-logo-choice img{width:100%;height:52px;object-fit:contain;display:block}
.header-logo-choice strong{font-size:12px;line-height:1.2;text-align:center}
.header-logo-choice small{font-size:10.5px;color:#7b6f80;text-align:center;line-height:1.2}
.header-logo-choice-check{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ece6ef;color:#8d8192;font-size:11px;font-weight:900;opacity:.55}
.header-logo-choice.active .header-logo-choice-check{background:#6b1689;color:#fff;opacity:1}
.header-logo-choice.logo-choice-pinned.active{border-style:solid}
.header-logo-order-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:14px;align-items:start;padding:12px 13px;border:1px solid #e6dde9;border-radius:13px;background:#fbf9fc}
.header-logo-order-card>div:first-child{display:grid;gap:4px}
.header-logo-order-card>div:first-child strong{font-size:13px;color:#302437}
.header-logo-order-card>div:first-child small{font-size:11.5px;line-height:1.35;color:#776c7c}
.header-logo-order-list{display:grid;gap:6px}
.header-logo-order-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:6px 8px;border:1px solid #e8e0eb;border-radius:10px;background:#fff}
.header-logo-order-item.pinned{background:#f6f3f8;border-style:dashed}
.header-logo-order-number{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#f0e7f4;color:#6a247f;font-size:11px;font-weight:900}
.header-logo-order-item strong{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-logo-order-actions{display:flex;gap:4px}
.header-logo-order-actions button{width:30px;height:28px;border:1px solid #ded3e3;border-radius:8px;background:#fff;color:#5f2c70;font-weight:900;cursor:pointer}
.header-logo-order-actions button:disabled{opacity:.28;cursor:default}
.header-logo-pin{font-size:10.5px;font-weight:800;color:#655b69;background:#ece8ef;border-radius:999px;padding:5px 8px;white-space:nowrap}
.header-logo-uniform-note{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:11px;background:#f4f8ff;border:1px solid #dce7f7}
.header-logo-uniform-note>span{font-size:20px;color:#4b65a1}
.header-logo-uniform-note>div{display:grid;gap:2px}
.header-logo-uniform-note strong{font-size:12px;color:#344566}
.header-logo-uniform-note small{font-size:11px;color:#69758d;line-height:1.3}
.doku-settings-panel .header-logo-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
.header-logo-setting small{display:block;margin-top:4px;color:#786d7d;font-size:11px;line-height:1.3}
@media(max-width:980px){.header-logo-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-logo-order-card{grid-template-columns:1fr}}
@media(max-width:620px){.header-logo-choice-grid{grid-template-columns:1fr 1fr;gap:8px}.header-logo-choice{grid-template-rows:42px auto auto;padding:8px 6px}.header-logo-choice img{height:42px}.header-logo-order-item{grid-template-columns:26px minmax(0,1fr) auto}.header-logo-pin{white-space:normal;text-align:center}.doku-settings-panel .header-logo-settings{grid-template-columns:1fr}}

/* V8.44 · Notificaciones con acceso directo al problema */
.home-kpi-action{font:inherit;text-align:left;width:100%;cursor:pointer;border:1px solid var(--border,#e7dff0);background:inherit}
.home-kpi-action:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(77,21,117,.08)}
.alert-open-tab{min-width:38px;padding-inline:10px;font-weight:800}
.doku-problem-focus{outline:3px solid rgba(132,0,176,.25);box-shadow:0 0 0 6px rgba(132,0,176,.08);border-radius:14px;transition:.2s}


/* V8.45 · UX de donaciones más clara y por apartados */
.donation-dialog{width:min(1220px,97vw)}
.donation-dialog-body{display:grid;gap:18px;padding-bottom:0!important}
.donation-route{position:sticky;top:8px;z-index:9;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:10px 12px;margin:2px 0 16px;border:1px solid #eadfed;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(41,18,52,.08);scrollbar-width:thin}
.donation-form-section{display:grid;gap:14px;padding:16px 16px 18px;border:1px solid #e7dfeb;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#fcfaff 100%);box-shadow:0 8px 24px rgba(44,24,58,.04)}
.donation-section-primary{border-color:#e2d5ef;background:linear-gradient(180deg,#fff 0%,#fbf7ff 100%)}
.donation-section-head{display:flex;align-items:flex-start;gap:12px;padding-bottom:4px;border-bottom:1px dashed #e8dfed}
.donation-section-step{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(180deg,#6c1294,#5b087e);color:#fff;font-weight:900;font-size:14px;box-shadow:0 8px 16px rgba(91,8,126,.18)}
.donation-section-head h3{margin:0;font-size:1.02rem;color:#28182e}
.donation-section-head p{margin:3px 0 0;color:#6f6775;font-size:.82rem;line-height:1.45}
.donation-form-section>.grid-2,.donation-form-section>.grid-3,.donation-form-section>label{margin:0}
.donation-form-section .directory-picker-card,.donation-form-section .donation-items-card,.donation-form-section .attachments-card,.donation-form-section .v7-analysis-card{margin:0}
.donation-form-section .field-help,.donation-form-section .muted{font-size:.8rem;line-height:1.45}
.doku-donation-relations{background:linear-gradient(180deg,#faf8fc,#f7f4fb)}
.donation-next-action{margin:0;border-radius:14px}
.donation-documents-card,.donation-final-report-card{background:linear-gradient(180deg,#fefcff,#faf8fd)}
@media(max-width:760px){
  .donation-dialog-body{gap:14px}
  .donation-form-section{padding:14px 13px 16px;border-radius:16px}
  .donation-section-head{gap:10px}
  .donation-section-step{width:30px;height:30px;border-radius:10px;font-size:13px}
}


.donation-route span{box-shadow:none;border:1px solid transparent;flex:0 0 auto}
.donation-route span.active{box-shadow:0 8px 18px rgba(91,8,126,.18)}
.donation-dialog-body{scroll-padding-top:78px}
@media(max-width:760px){
  .donation-route{top:6px;padding:9px 10px;margin:0 0 14px;border-radius:14px}
}


/* V8.47 · aire y padding para modal Nueva vinculación */
.vinc-dialog{width:min(960px,calc(100vw - 44px));max-width:960px;border-radius:24px;overflow:hidden}
.vinc-dialog .dialog-head{padding:24px 26px 14px;border-bottom:1px solid #eee7f2;background:rgba(255,255,255,.98)}
.vinc-dialog .dialog-body{padding:18px 26px 26px}
.vinc-dialog .dialog-actions{margin:18px -26px 0;padding:14px 26px;background:rgba(255,255,255,.98);border-top:1px solid #eee7f2}
.vinc-type-grid{gap:14px;margin-top:18px}
.vinc-type-grid button{padding:20px 20px;border-radius:16px;box-shadow:0 4px 14px rgba(38,20,53,.03)}
.vinc-form{gap:18px}
.vinc-form-section{padding:18px;border:1px solid #eee7f2;background:#fbfafe}
.vinc-section-title{margin-bottom:14px}
@media(max-width:760px){
  .vinc-dialog{width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;border-radius:20px}
  .vinc-dialog .dialog-head{padding:18px 18px 12px}
  .vinc-dialog .dialog-body{padding:14px 18px 18px}
  .vinc-dialog .dialog-actions{margin-left:-18px;margin-right:-18px;padding:12px 18px}
  .vinc-type-grid{gap:10px}
  .vinc-type-grid button{padding:16px 16px}
  .vinc-form-section{padding:15px}
}


/* V8.49 · scroll interno + cierre real del dialogo Nueva vinculacion */
/* IMPORTANTE: no forzar display:flex cuando el <dialog> esta cerrado. */
.vinc-dialog:not([open]){display:none!important}
.vinc-dialog[open]{
  display:flex;
  flex-direction:column;
  max-height:calc(100dvh - 36px);
  overflow:hidden;
}
.vinc-dialog[open] .dialog-head{
  flex:0 0 auto;
  position:sticky;
  top:0;
  z-index:20;
}
.vinc-dialog[open]>.dialog-body{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.vinc-dialog[open] .dialog-actions{
  position:sticky;
  bottom:0;
  z-index:18;
  flex:0 0 auto;
  box-shadow:0 -10px 24px rgba(38,20,53,.07);
}
@media(max-width:760px){
  .vinc-dialog[open]{
    height:calc(100dvh - 18px);
    max-height:calc(100dvh - 18px);
  }
  .vinc-dialog[open]>.dialog-body{
    overflow-y:auto;
    padding-bottom:18px;
  }
}


/* V8.50 · UX global: mejor legibilidad, más aire y bordes consistentes */
:root{--ux-font-base:16.5px;--ux-line:1.48;--ux-window-border:#e7dfeb;--ux-card-border:#ebe4f0;--ux-soft-bg:#fcfbfe}
html{font-size:var(--ux-font-base);scroll-behavior:smooth}
body{font-size:1rem;line-height:var(--ux-line);letter-spacing:.001em}
.main{font-size:1rem}
.sidebar,.topbar,.list-view,.workspace,.form-panel,.table-card,.home-card,.vinc-panel,.control-kpi,.stat{font-size:1rem}

/* Tipografía general */
h1{font-size:2.15rem;line-height:1.12} h2{font-size:1.65rem;line-height:1.18} h3{font-size:1.18rem;line-height:1.22} h4{font-size:1.02rem;line-height:1.25}
.muted,.field-help,.helper-box,.save-state,.vinc-panel-head p,.vinc-list-head p,.vinc-tab-head p{font-size:.94rem;line-height:1.5}
label,.form-panel label,.settings-dialog label,.field-label{font-size:.97rem}

/* Campos y botones más cómodos */
button,.btn,.primary,.ghost,.small-btn,.mini-btn,.row-action,.link-btn{font-size:.98rem}
input,select,textarea,.form-panel input,.form-panel select,.form-panel textarea,.settings-dialog input,.settings-dialog select,.settings-dialog textarea{
  min-height:48px;padding:12px 13px;border-radius:12px;font-size:1rem;line-height:1.35;border:1px solid #cfd5df;background:#fff;
}
textarea,.form-panel textarea,.settings-dialog textarea{min-height:112px}
input::placeholder,textarea::placeholder{font-size:.98rem;color:#8a8390}
button.primary,.primary{padding:12px 18px;border-radius:14px}
button.ghost,.ghost,.mini-btn,.small-btn,.link-btn{padding:10px 14px;border-radius:12px}

/* Barras, tarjetas y tablas */
.topbar{padding:18px 22px}
.search-wrap input,.topbar input[type="search"]{min-height:50px;font-size:1rem;border-radius:16px}
.list-view{padding:16px 32px 48px}
.stat,.home-card,.table-card,.vinc-panel,.control-kpi,.form-panel,.archive-card,.ocr-card,.signers-card,.helper-box,.settings-card,.company-panel,.s6-project-card{
  border:1px solid var(--ux-card-border)!important;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(39,19,56,.045)
}
.stats{gap:16px}.stat{padding:19px}.stat span{font-size:.85rem}.stat strong{font-size:2rem}
th,td{font-size:.95rem;padding:14px 15px} th{font-size:.78rem}
.table-card table{min-width:980px}

/* Diálogos / ventanas con borde visible */
.settings-dialog,.record-dialog,.vinc-dialog{
  border:1px solid var(--ux-window-border)!important;background:#fff;border-radius:22px;box-shadow:0 28px 90px rgba(13,16,28,.24)
}
.settings-dialog form{padding:22px}
.dialog-head{padding:22px 24px 14px;border-bottom:1px solid #eee7f2;background:#fff;border-top-left-radius:22px;border-top-right-radius:22px}
.dialog-head h2{font-size:1.75rem;line-height:1.16}
.dialog-body{padding:18px 24px 24px}
.dialog-actions{padding:14px 24px 18px;margin:0;border-top:1px solid #eee7f2;background:#fff;border-bottom-left-radius:22px;border-bottom-right-radius:22px}
.icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid #eadff0;background:#fff;color:#4b3b57}
.icon-btn:hover{background:#f7f3fb}

/* Formularios y separaciones */
.grid-2{gap:14px}.grid-3{gap:12px}
.form-panel{padding:22px;max-height:calc(100vh - 96px)}
.vinc-form-section,.company-panel,.s6-editor,.s6-project-card,.signer-editor-block,.record-layout .qr-box{border:1px solid var(--ux-card-border);background:var(--ux-soft-bg)}
.vinc-form-section{padding:18px;border-radius:18px}
.section-head,.vinc-panel-head,.vinc-list-head,.vinc-tab-head,.s6-editor-head,.control-section-head,.notifications-heading{margin-bottom:16px}
.vinc-type-grid button,.company-document-grid button{border-radius:16px;border:1px solid #e6deeb;padding:18px}
.vinc-type-grid strong{font-size:1.1rem}.vinc-type-grid span{font-size:.92rem}

/* Navegación secundaria */
.vinc-subnav button,.s6-tabs button,.expiration-filters button{font-size:.93rem;padding:10px 14px;border-radius:999px}

/* Dashboard */
.home-card,.module-hero,.control-kpi,.vinc-card{border:1px solid var(--ux-card-border)!important}
.control-kpi{min-height:116px}.control-kpi>strong{font-size:1.9rem}.control-kpi>span{font-size:.92rem}

/* Responsive */
@media (max-width:760px){
  html{font-size:15.5px}
  .topbar{padding:14px 14px 10px}
  .list-view{padding:12px 14px 34px}
  .dialog-head{padding:16px 16px 12px}
  .dialog-head h2{font-size:1.42rem}
  .dialog-body{padding:14px 16px 16px}
  .dialog-actions{padding:12px 16px 14px}
  input,select,textarea,.form-panel input,.form-panel select,.form-panel textarea,.settings-dialog input,.settings-dialog select,.settings-dialog textarea{min-height:46px}
}


/* V8.51 · Ajuste fino para checklist documental de vinculaciones */
.vinc-doc-row{grid-template-columns:minmax(250px,1fr) 140px minmax(230px,auto);gap:10px;padding:10px 12px;border:1px solid #eeeaf3;border-radius:14px;margin-bottom:8px;background:#fff}
.vinc-doc-info strong{font-size:1rem;line-height:1.22}
.vinc-doc-info small{font-size:.84rem;line-height:1.4;margin:4px 0 8px}
.vinc-doc-control-line{gap:10px;align-items:center}
.vinc-doc-control-line>input{min-height:40px!important;padding:9px 12px!important;font-size:.96rem!important;border-radius:11px}
.vinc-doc-row select{min-height:40px!important;padding:9px 12px!important;font-size:.96rem!important;border-radius:11px}
.vinc-required-check{font-size:.9rem;gap:8px;padding:0 2px}
.vinc-required-check input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;width:18px!important;height:18px!important;min-height:0!important;padding:0!important;margin:0!important;inline-size:18px;block-size:18px;flex:0 0 18px;border-radius:4px}
.vinc-doc-actions{gap:7px}
.vinc-doc-actions .row-action,.vinc-doc-actions .ghost.small-btn,.vinc-doc-actions .table-delete-btn{min-height:36px;padding:8px 10px;font-size:.9rem;border-radius:10px}
.req-dot{font-size:.72rem;padding:4px 7px}
@media(max-width:900px){.vinc-doc-row{grid-template-columns:1fr;gap:9px}.vinc-doc-row select{max-width:220px}.vinc-doc-actions{justify-content:flex-start}}
@media(max-width:600px){.vinc-doc-control-line>input,.vinc-doc-row select{min-height:38px!important}.vinc-doc-actions{display:grid;grid-template-columns:1fr 1fr}.vinc-doc-actions>*{width:100%;text-align:center}}


/* V8.52 · Seguimiento: tablas completas sin scroll horizontal */
.followup-document-panels .table-card{overflow:hidden!important;min-width:0}
.followup-document-panels .table-scroll{overflow-x:hidden!important;overflow-y:visible;max-width:100%;width:100%}
.followup-document-panels table{width:100%!important;min-width:0!important;table-layout:fixed;border-collapse:collapse}
.followup-document-panels th,.followup-document-panels td{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;padding:12px 12px;vertical-align:middle}
.followup-document-panels th{font-size:.76rem;line-height:1.2}
.followup-document-panels td{font-size:.92rem;line-height:1.35}
.followup-document-panels td strong{font-size:.96rem;line-height:1.3}
.followup-document-panels .delivery-pill{display:inline-flex;max-width:100%;white-space:normal;text-align:center;justify-content:center;font-size:.76rem;padding:5px 7px}
.followup-document-panels .row-action{font-size:.84rem;padding:7px 8px;white-space:nowrap}
/* Respuestas pendientes: 5 columnas */
.followup-document-panels .table-card:first-child th:nth-child(1),.followup-document-panels .table-card:first-child td:nth-child(1){width:22%}
.followup-document-panels .table-card:first-child th:nth-child(2),.followup-document-panels .table-card:first-child td:nth-child(2){width:31%}
.followup-document-panels .table-card:first-child th:nth-child(3),.followup-document-panels .table-card:first-child td:nth-child(3){width:20%}
.followup-document-panels .table-card:first-child th:nth-child(4),.followup-document-panels .table-card:first-child td:nth-child(4){width:17%}
.followup-document-panels .table-card:first-child th:nth-child(5),.followup-document-panels .table-card:first-child td:nth-child(5){width:10%}
/* Entregas documentales: 4 columnas */
.followup-document-panels .table-card:last-child th:nth-child(1),.followup-document-panels .table-card:last-child td:nth-child(1){width:34%}
.followup-document-panels .table-card:last-child th:nth-child(2),.followup-document-panels .table-card:last-child td:nth-child(2){width:31%}
.followup-document-panels .table-card:last-child th:nth-child(3),.followup-document-panels .table-card:last-child td:nth-child(3){width:23%}
.followup-document-panels .table-card:last-child th:nth-child(4),.followup-document-panels .table-card:last-child td:nth-child(4){width:12%;text-align:right}
@media(max-width:900px){
  .followup-document-panels{grid-template-columns:1fr!important}
  .followup-document-panels th,.followup-document-panels td{padding:11px 10px}
}
@media(max-width:600px){
  .followup-document-panels th{font-size:.7rem}
  .followup-document-panels td{font-size:.84rem}
  .followup-document-panels .row-action{font-size:.78rem;padding:6px}
}


/* V8.53 · avisos dentro de diálogos nativos */
.doku-dialog-toast{position:fixed;top:18px;right:22px;z-index:2147483647;max-width:min(460px,calc(100vw - 44px));padding:12px 16px;border-radius:13px;color:#fff;font-weight:800;line-height:1.35;box-shadow:0 18px 45px rgba(22,10,31,.25);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.doku-dialog-toast.show{opacity:1;transform:translateY(0)}
.doku-dialog-toast.success{background:#0f6f46}.doku-dialog-toast.error{background:#a92a22}.doku-dialog-toast.info{background:#2b1935}
@media(max-width:760px){.doku-dialog-toast{top:10px;right:10px;left:10px;max-width:none}}


/* V8.54 · Documentos de proyecto separados del selector general */
.project-doc-launcher{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin:0 0 22px;border:1px solid #dfd2e9;border-left:5px solid #6f168f;border-radius:18px;background:linear-gradient(135deg,#fbf7ff 0%,#fff 72%);box-shadow:0 8px 24px rgba(74,27,95,.05)}
.project-doc-launcher h3{margin:3px 0 5px;font-size:1.18rem}.project-doc-launcher p{margin:0;color:#6f6675;max-width:720px}.project-doc-template-intro{display:grid;gap:4px;margin:0 0 16px;padding:14px 16px;border:1px solid #e6dcec;border-radius:14px;background:#fbf8fd}.project-doc-template-intro strong{font-size:1rem;color:#2d2035}.project-doc-template-intro span{font-size:.9rem;color:#756a7b}.project-only-template-group>h3{font-size:1rem}.vinc-exp-head-actions #vincCreateProjectDocBtn{border-color:#d9c6e4;background:#fbf7fd;color:#671c82}
@media(max-width:760px){.project-doc-launcher{align-items:stretch;flex-direction:column;padding:15px}.project-doc-launcher button{width:100%}.vinc-exp-head-actions{flex-wrap:wrap}.vinc-exp-head-actions #vincCreateProjectDocBtn,.vinc-exp-head-actions #vincCreateGeneratedDocBtn{flex:1 1 180px}}


/* V8.55 · edición, ficha PDF y QR por proyecto/expediente */
.v55-record-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px 18px;border:1px solid #e8dfed;border-radius:18px;background:linear-gradient(135deg,#fbf8fd,#fff);box-shadow:0 7px 22px rgba(49,25,62,.04)}
.v55-record-tools h3{margin:2px 0 4px}.v55-record-tools p{margin:0;color:#716777;font-size:.9rem}.v55-record-actions,.v55-project-card-actions,.v55-project-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v55-record-actions a,.v55-project-card-actions a,.v55-project-head-actions a{text-decoration:none;text-align:center}.v55-project-card-actions{margin-top:auto}.v55-project-card-actions>*{flex:1 1 auto}.v55-project-head-actions{margin-left:auto;justify-content:flex-end}.v55-edit-panel{display:grid;gap:14px}.v55-edit-panel>label{display:grid;gap:6px}.v55-edit-panel textarea{width:100%}
@media(max-width:760px){.v55-record-tools{align-items:flex-start;flex-direction:column}.v55-record-actions{width:100%;display:grid;grid-template-columns:1fr}.v55-project-head-actions{width:100%;justify-content:flex-start}.v55-project-card-actions{display:grid;grid-template-columns:1fr 1fr}.v55-project-card-actions>*{width:100%}}


/* V8.56 · módulo independiente Documentos de proyectos */
.project-docs-view{padding-bottom:54px}.project-docs-head{align-items:flex-start;margin-bottom:18px}.project-docs-head h2{margin:3px 0 5px}.project-docs-head p{margin:0;color:var(--muted)}
.project-docs-stats{grid-template-columns:repeat(4,minmax(160px,1fr))}.project-docs-stats .stat small{display:block;color:var(--muted);margin-top:3px;font-size:.82rem}
.project-docs-toolbar{display:grid;grid-template-columns:minmax(300px,1.5fr) minmax(220px,.7fr) minmax(220px,.7fr);gap:12px;align-items:center;margin:0 0 16px}.project-docs-toolbar select{width:100%}.project-docs-search{width:100%}.project-docs-search input{max-width:none;width:100%}
.project-docs-list{display:grid;gap:10px}.project-doc-hub-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:16px 17px;border:1px solid var(--ux-card-border,#ebe4f0);border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(39,19,56,.035)}.project-doc-hub-main{min-width:0}.project-doc-hub-main strong,.project-doc-hub-main small{display:block}.project-doc-hub-main strong{font-size:1.03rem;margin:4px 0}.project-doc-hub-main small{color:var(--muted)}.project-doc-hub-main p{margin:6px 0 0;color:#665d6b;font-size:.88rem}.project-doc-hub-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.project-doc-hub-actions a{text-decoration:none}
.project-doc-create-dialog{width:min(760px,94vw)}.project-doc-create-grid{display:grid;grid-template-columns:1.35fr 1fr .65fr;gap:12px}.project-doc-create-help{display:grid;gap:3px;margin-top:14px;padding:13px 14px;border:1px solid #e7dfeb;border-radius:13px;background:#faf8fc}.project-doc-create-help span{color:var(--muted);font-size:.88rem}
@media(max-width:900px){.project-docs-stats{grid-template-columns:1fr 1fr}.project-docs-toolbar{grid-template-columns:1fr}.project-doc-hub-card{grid-template-columns:1fr}.project-doc-hub-actions{justify-content:flex-start}.project-doc-create-grid{grid-template-columns:1fr}}
@media(max-width:600px){.project-docs-stats{grid-template-columns:1fr 1fr}.project-doc-hub-actions>*{flex:1 1 auto;text-align:center}}


/* V8.57 · edición de integrantes */
.vinc-member-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:10px!important;align-items:center!important}
.vinc-member-row>.ghost{white-space:nowrap}
@media(max-width:600px){.vinc-member-row{grid-template-columns:1fr!important}.vinc-member-row>.ghost{justify-self:start;width:auto!important}}


/* V8.58 · Organización e importación de asistencia */
.v58-org-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.v58-org-kpis article{border:1px solid #e9e1ee;border-radius:16px;background:#fff;padding:15px}.v58-org-kpis span,.v58-org-kpis small{display:block;color:#716777}.v58-org-kpis strong{display:block;font-size:1.8rem;margin:4px 0;color:#2b1832}.v58-org-chart{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.v58-org-group{border:1px solid #e9e1ee;border-radius:17px;background:#fcfbfd;padding:14px}.v58-org-group.direccion{grid-column:1/-1;border-top:4px solid #67178a}.v58-org-group.integrante{grid-column:1/-1}.v58-org-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.v58-org-group-head span{display:block;font-weight:900}.v58-org-group-head small{display:block;color:#766d7b;margin-top:2px}.v58-org-people{display:grid;gap:7px}.v58-org-person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:#fff;border:1px solid #eee8f2;border-radius:12px}.v58-org-person strong,.v58-org-person small{display:block}.v58-org-person small{color:#746a7a;margin-top:3px}.v58-attendance-import{border:1px solid #ddd1e5;border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8fd);padding:17px}.v58-import-help{padding:11px 13px;border-radius:12px;background:#f4eff7;color:#5e5264;font-size:.9rem;margin-bottom:12px}.v58-import-history{display:grid;gap:5px;margin:8px 0 14px}.v58-import-history span{font-size:.84rem;color:#706876;padding:7px 9px;border-left:3px solid #7a2a91;background:#fff}.v58-participants-head{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:12px;align-items:center;margin:14px 0 9px}.v58-participants-head input{min-height:42px}.v58-participant-list{display:grid;gap:6px;max-height:440px;overflow-y:auto}.v58-participant-list article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #eee8f2}.v58-participant-list strong,.v58-participant-list small{display:block}.v58-participant-list small{color:#716878;margin-top:2px}@media(max-width:800px){.v58-org-kpis{grid-template-columns:1fr 1fr}.v58-org-chart{grid-template-columns:1fr}.v58-org-group.direccion,.v58-org-group.integrante{grid-column:auto}.v58-participants-head{grid-template-columns:1fr}}@media(max-width:520px){.v58-org-kpis{grid-template-columns:1fr}.v58-org-person{align-items:flex-start;flex-direction:column}.v58-org-person button{width:100%}}

/* V8.59 · base oficial adultos mayores */
.v59-am-code{display:inline-flex;margin-right:5px;padding:2px 6px;border-radius:999px;background:#f1e9f6;color:#681783;font-size:.72rem;font-weight:900}.v59-medical-note{margin-top:4px;color:#8a4c3d!important;font-weight:650}


/* V8.60 · Base de asistencia dentro de Integrantes */
.v60-members-section{display:grid;gap:12px;margin-bottom:22px}
.v60-attendance-in-members{margin-top:4px;border-top:1px solid #ece5f0;padding-top:20px}
.v60-attendance-in-members .vinc-tab-head{margin-bottom:14px}
@media(max-width:760px){.v60-attendance-in-members{padding-top:16px}}

/* V8.61 organigrama empresarial */
.v61-orgchart-panel{border:1px solid #e7dfec;border-radius:18px;padding:18px;margin-bottom:18px;background:#fff;overflow:auto}.v61-orgchart-head h4{margin:2px 0 4px}.v61-orgchart-head p{margin:0 0 14px;color:#716677}.v61-org-tree-wrap{min-width:720px;padding:10px;overflow:auto}.v61-org-tree,.v61-org-tree ul{display:flex;justify-content:center;gap:18px;list-style:none;margin:0;padding:0;position:relative}.v61-org-tree ul{margin-top:34px}.v61-org-tree li{display:flex;flex-direction:column;align-items:center;position:relative;min-width:180px}.v61-org-tree li>ul:before{content:"";position:absolute;top:-18px;left:8%;right:8%;height:1px;background:#cabbd3}.v61-org-tree li>ul>li:before{content:"";position:absolute;top:-18px;left:50%;width:1px;height:18px;background:#cabbd3}.v61-tree-node{width:190px;min-height:90px;border:1px solid #e4daea;border-radius:15px;padding:12px;background:#fff;text-align:center;box-shadow:0 6px 18px rgba(45,19,55,.05)}.v61-tree-node span{display:block;font-size:.72rem;font-weight:800;color:#7a268f;text-transform:uppercase}.v61-tree-node strong{display:block;margin:5px 0 3px}.v61-tree-node small{display:block;color:#6f6575;font-size:.82rem}.v61-org-person{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eee8f1}.v61-org-person-main strong,.v61-org-person-main small{display:block}.v61-org-level{display:inline-flex!important;font-size:.72rem!important;font-weight:800;color:#6f297f;background:#f4ebf7;border-radius:999px;padding:4px 7px;margin-bottom:5px}.v61-org-reports{margin-top:4px;color:#7c7181!important}


/* V8.64 · visualización real de participantes importados */
.v64-participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:560px;overflow-y:auto;padding:2px 4px 4px 0;scrollbar-width:thin}
.v64-participant-card{border:1px solid #e9e2ed;border-radius:15px;background:#fff;padding:12px 13px;box-shadow:0 5px 16px rgba(43,24,54,.035)}
.v64-participant-main{display:flex;gap:11px;align-items:flex-start}
.v64-participant-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:#f1e9f6;color:#6c1689;font-size:1.05rem;font-weight:900}
.v64-participant-copy{min-width:0;flex:1}
.v64-participant-name-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.v64-participant-name-line strong{font-size:1rem;line-height:1.25;color:#22172a}
.v64-participant-copy>small{display:block;color:#766d7b;font-size:.82rem;margin-top:3px;overflow-wrap:anywhere}
.v64-participant-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.v64-participant-meta span{font-size:.78rem;background:#f7f4f9;color:#625768;border-radius:999px;padding:4px 7px}
.v64-status{font-size:.72rem;font-weight:800;border-radius:999px;padding:4px 7px;white-space:nowrap}
.v64-status.active{background:#e8f7ef;color:#176c49}.v64-status.inactive{background:#f1f1f3;color:#62636b}
.v64-participant-details{margin-top:10px;border-top:1px solid #f0ebf2;padding-top:8px}
.v64-participant-details summary{cursor:pointer;color:#681489;font-size:.83rem;font-weight:800;list-style:none}
.v64-participant-details summary::-webkit-details-marker{display:none}
.v64-participant-details summary:after{content:'▾';margin-left:6px}.v64-participant-details[open] summary:after{content:'▴'}
.v64-participant-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.v64-participant-detail-grid>div{background:#faf8fb;border-radius:10px;padding:8px 9px;min-width:0}
.v64-participant-detail-grid span,.v64-participant-detail-grid strong{display:block}
.v64-participant-detail-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.035em;color:#857a89}
.v64-participant-detail-grid strong{font-size:.83rem;margin-top:3px;overflow-wrap:anywhere}
.v64-participant-detail-grid .wide{grid-column:1/-1}
.v58-participant-empty{min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;text-align:center;color:#766d7b;background:#fff;border:1px dashed #ded4e4;border-radius:14px}
.v58-participant-empty strong{color:#2b2031;font-size:1rem}
@media(max-width:900px){.v64-participant-grid{grid-template-columns:1fr;max-height:none}}
@media(max-width:520px){.v64-participant-detail-grid{grid-template-columns:1fr}.v64-participant-detail-grid .wide{grid-column:auto}.v64-participant-name-line{flex-direction:column}.v64-participant-meta{gap:4px}}


/* V8.65 · Integrantes más limpio + alta manual */
.v65-participant-head{align-items:center}
.v65-participant-head p{max-width:620px;margin-top:4px!important}
.v65-participant-head .vinc-tab-actions{flex:0 0 auto}
.v65-import-history{margin:2px 0 12px;border:1px solid #ebe4ef;border-radius:12px;background:#fff;padding:9px 12px}
.v65-import-history summary{cursor:pointer;font-weight:800;color:#65586b;font-size:.88rem}
.v65-import-history .v58-import-history{margin:9px 0 0}
.v65-participant-dialog{width:min(780px,94vw)}
.v65-participant-dialog .dialog-body{max-height:min(72vh,720px);overflow-y:auto}
@media(max-width:760px){.v65-participant-head{align-items:flex-start}.v65-participant-head .vinc-tab-actions{width:100%;display:grid;grid-template-columns:1fr}.v65-participant-head .vinc-tab-actions button{width:100%}.v65-participant-dialog{width:calc(100vw - 16px)!important}}


/* V8.67 · Contexto de proyecto dentro del editor documental principal */
.project-editor-context{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #e7dbef;border-radius:16px;background:linear-gradient(180deg,#fbf7ff,#fff);margin-bottom:16px}
.project-editor-context>div{display:grid;gap:2px;min-width:0}.project-editor-context strong{font-size:1.02rem;color:#27182f}.project-editor-context small{color:#6f6578;overflow-wrap:anywhere}
.project-doc-hub-card.legacy{opacity:.86}
@media(max-width:700px){.project-editor-context{align-items:flex-start;flex-direction:column}.project-editor-context button{width:100%}}


/* V8.69 · Todos los proyectos visibles desde Documentos de proyectos */
.project-docs-projects-panel{margin:18px 0 20px;padding:18px;border:1px solid var(--ux-card-border,#ebe4f0);border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(39,19,56,.035)}
.project-docs-projects-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.project-docs-projects-head h3{margin:3px 0 4px}.project-docs-projects-head p{margin:0;color:var(--muted)}
.project-docs-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.project-doc-project-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid #eee7f2;border-radius:14px;background:#fcfbfe;min-width:0}.project-doc-project-main{min-width:0}.project-doc-project-main strong,.project-doc-project-main small{display:block}.project-doc-project-main strong{margin:4px 0;font-size:1rem}.project-doc-project-main small{color:var(--muted);font-size:.86rem}.project-doc-project-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
@media(max-width:1000px){.project-docs-project-grid{grid-template-columns:1fr}}
@media(max-width:620px){.project-doc-project-card{align-items:flex-start;flex-direction:column}.project-doc-project-actions{width:100%;justify-content:stretch}.project-doc-project-actions>*{flex:1 1 auto}}


/* V8.70 · Selector documental simplificado */
.vinc-template-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.vinc-template-heading h3{margin:0 0 3px}.vinc-template-heading p{margin:0;color:#6c6472;font-size:.9rem}.vinc-template-heading>span{background:#f2e9f8;color:#68008e;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800;white-space:nowrap}
.vinc-essential-docs>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vinc-template-more{margin-top:14px;border:1px solid #e8dfed;border-radius:16px;background:#fff;overflow:hidden}
.vinc-template-more summary{cursor:pointer;padding:14px 16px;font-weight:800;color:#4e3d58;list-style:none}.vinc-template-more summary::-webkit-details-marker{display:none}.vinc-template-more summary::after{content:'+';float:right;color:#71009a;font-size:1.15rem}.vinc-template-more[open] summary::after{content:'−'}
.vinc-template-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}
.vinc-template-more-grid button,.vinc-essential-docs button{min-height:58px}
.vinc-template-back{margin:0 0 12px;border:1px solid #e4daea;background:#fff;border-radius:12px;padding:9px 13px;font-weight:700;color:#5f147a}
@media(max-width:680px){.vinc-essential-docs>div:last-child,.vinc-template-more-grid{grid-template-columns:1fr}.vinc-template-heading{align-items:flex-start}.vinc-template-heading>span{display:none}}


/* V8.78 · Editor documental independiente para proyectos */
.project-document-editor-view{min-height:100vh;background:#f7f5f9}
.project-document-editor-toolbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #e8e1ec;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.project-document-editor-workspace{display:grid;grid-template-columns:minmax(430px,42%) minmax(620px,58%);min-height:calc(100vh - 70px)}
.project-document-editor-form{padding:22px;overflow:auto;max-height:calc(100vh - 70px);border-right:1px solid #e8e1ec;background:#fff}
.project-document-editor-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.project-document-editor-title h2{margin:3px 0 4px}.project-document-editor-title p{margin:0;color:#6b6270}
.pdoc-brand-card{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:15px 18px;margin-bottom:18px;border:1px solid #e8dff0;border-radius:18px;background:linear-gradient(135deg,#fff,#fbf7ff)}
.pdoc-brand-logo{min-height:66px;display:flex;align-items:center;justify-content:center}.pdoc-brand-logo img{display:block;max-width:100%;max-height:58px;object-fit:contain}.pdoc-brand-logo strong{font-size:1.05rem;text-align:center}.pdoc-brand-separator{font-weight:900;color:#8d7a98}
.project-document-preview-panel{padding:22px;overflow:auto;max-height:calc(100vh - 70px);display:flex;justify-content:center;align-items:flex-start}
.pdoc-a4-page{position:relative;width:210mm;min-height:297mm;padding:21mm 23mm 24mm;background:#fff;box-shadow:0 18px 55px rgba(27,15,36,.15);font-family:Arial,sans-serif;box-sizing:border-box}
.pdoc-preview-brand{height:31mm;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8dfed;padding-bottom:5mm}.pdoc-preview-brand>img{max-width:76mm;max-height:19mm;object-fit:contain}.pdoc-preview-project-brand{width:65mm;display:flex;justify-content:flex-end;align-items:center}.pdoc-preview-project-brand img{max-width:62mm;max-height:19mm;object-fit:contain}.pdoc-preview-project-brand strong{text-align:right;color:#5f087f;font-size:13px}
.pdoc-preview-meta{text-align:center;padding:7mm 0 5mm;display:grid;gap:2mm}.pdoc-preview-meta strong{font-size:15px}.pdoc-preview-meta span{font-size:10px;color:#5f5665}.pdoc-preview-content{font-size:11px;line-height:1.48}.pdoc-preview-content>p{margin:0 0 2px}.pdoc-preview-content .body-copy{margin-top:5mm;min-height:75mm}.pdoc-rich-toolbar button{min-height:34px}
@media(max-width:1100px){.project-document-editor-workspace{grid-template-columns:1fr}.project-document-editor-form,.project-document-preview-panel{max-height:none}.project-document-preview-panel{border-top:1px solid #e8e1ec}.pdoc-a4-page{transform-origin:top center;max-width:100%;width:100%;min-height:auto;aspect-ratio:210/297}}
@media(max-width:700px){.project-document-editor-toolbar{overflow-x:auto}.project-document-editor-form{padding:14px}.project-document-preview-panel{padding:12px}.pdoc-brand-card{grid-template-columns:1fr}.pdoc-brand-separator{display:none}.pdoc-preview-project-brand{width:46mm}}


/* V8.79 · DOK-U -> WordPress · publicación pública de proyectos */
.doku-project-web-section,.doku-project-web-edit{border:1px solid #dfe4ec;background:#f8fafc;border-radius:18px;padding:18px;margin-top:14px}
.project-web-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.project-web-privacy-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}
.project-web-privacy-note strong{white-space:nowrap}.project-web-privacy-note span{font-size:12px;line-height:1.45}
.doku-project-web-card{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #e5d5df;background:linear-gradient(135deg,#fff 0%,#fff8fc 100%);border-radius:18px;padding:20px;margin-top:18px}
.doku-project-web-card h3{margin:3px 0 8px}.doku-project-web-card p{margin:8px 0;color:#667085;max-width:720px}.doku-project-web-card small{display:block;color:#667085;margin-top:8px}.doku-project-web-state{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.doku-project-web-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.vinc-badge.danger{background:#fee2e2;color:#991b1b}.vinc-badge.neutral{background:#f2f4f7;color:#475467}
@media(max-width:760px){.project-web-switches{grid-template-columns:1fr}.doku-project-web-card{align-items:flex-start;flex-direction:column}.doku-project-web-card-actions{justify-content:flex-start;width:100%}}


/* V8.80 · ficha pública completa y galería web */
.project-web-create-media{margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}
.project-web-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.project-web-upload-card{display:grid;gap:7px;padding:14px;border:1px dashed #cdb8d6;border-radius:14px;background:#fff;cursor:pointer}
.project-web-upload-card strong{color:#34183f}.project-web-upload-card small{color:#756a7b;line-height:1.4}.project-web-upload-card input{margin-top:4px}
.project-web-completion{min-width:108px;text-align:center;padding:10px 13px;border:1px solid #e4d7ea;border-radius:14px;background:#fff}.project-web-completion strong{display:block;color:#770099;font-size:1.35rem}.project-web-completion span{font-size:.75rem;color:#746a79}
.project-web-missing{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border:1px solid #f2d09b;border-radius:12px;background:#fff9ed;color:#7b4d08;font-size:.86rem}.project-web-missing strong{white-space:nowrap}
.project-web-media-manager{display:grid;gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid #e5e7eb}.project-web-media-block{padding:15px;border:1px solid #e5dfea;border-radius:16px;background:#fff}.project-web-media-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.project-web-media-head h4{margin:2px 0 3px;font-size:1rem}.project-web-media-head p{margin:0;color:#756c79;font-size:.84rem}.project-web-media-head .eyebrow{font-size:.68rem}
.project-web-cover-current{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}.project-web-cover-current img{width:150px;height:105px;object-fit:cover;border-radius:12px}.project-web-cover-current>div{display:grid;gap:5px}.project-web-cover-current small{color:#776e7b}
.project-web-empty-media{display:grid;gap:4px;padding:17px;border:1px dashed #d9cfe0;border-radius:13px;background:#fbf9fc;color:#766d7a}.project-web-empty-media strong{color:#3b2a43}
.project-web-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-web-evidence-item{overflow:hidden;border:1px solid #ebe4ef;border-radius:13px;background:#fff}.project-web-evidence-item img{display:block;width:100%;height:145px;object-fit:cover}.project-web-evidence-item>div{display:grid;gap:4px;padding:10px}.project-web-evidence-item strong{font-size:.84rem}.project-web-evidence-item small{color:#7f7584}.project-web-evidence-item button{justify-self:start}
.project-web-docs-list{display:grid;border-top:1px solid #eee8f1}.project-web-docs-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #eee8f1}.project-web-docs-list>div>span:first-child{display:grid;gap:2px;min-width:0}.project-web-docs-list small{color:#817784;overflow-wrap:anywhere}.project-web-docs-list>div>span:last-child{display:flex;align-items:center;gap:8px;flex:0 0 auto}.project-web-docs-list a{font-weight:800;color:#760096;text-decoration:none}
.project-web-summary-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.project-web-summary-counts span{padding:5px 8px;border-radius:999px;background:#f5eef8;color:#6b3a79;font-size:.75rem;font-weight:750}
@media(max-width:900px){.project-web-upload-grid{grid-template-columns:1fr}.project-web-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-web-media-head{flex-direction:column}.project-web-media-head button{width:100%}.project-web-cover-current{grid-template-columns:1fr}.project-web-cover-current img{width:100%;height:190px}.project-web-evidence-grid{grid-template-columns:1fr}.project-web-evidence-item img{height:210px}.project-web-docs-list>div{align-items:flex-start;flex-direction:column}.project-web-docs-list>div>span:last-child{width:100%;justify-content:flex-start}.project-web-missing{flex-direction:column}}

/* V8.83 · SEO y Google para proyectos públicos */
.project-web-seo-box{margin-top:20px;padding:18px;border:1px solid #e4d7ea;border-radius:16px;background:linear-gradient(180deg,#fff,#fcf9fe)}
.project-web-seo-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.project-web-seo-actions small{color:#756a7b}
.project-web-google-preview{margin-top:16px;padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;display:grid;gap:3px}.project-web-google-preview span{font-size:.78rem;color:#4d5156}.project-web-google-preview strong{font-size:1.12rem;color:#1a0dab;font-weight:500}.project-web-google-preview small{color:#188038}.project-web-google-preview p{margin:7px 0 0;color:#4d5156;line-height:1.5;font-size:.9rem}
@media(max-width:700px){.project-web-seo-actions{align-items:stretch;flex-direction:column}.project-web-seo-actions button{width:100%}}

/* V8.86 · Solicitudes web / voluntariado */
.web-requests-hero,.web-volunteers-hero{background:linear-gradient(135deg,#f8f2f8 0%,#fff 72%)}
.web-request-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px}
.web-request-toolbar>div:first-child{display:flex;flex-direction:column;gap:4px}.web-request-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.web-request-filters select,.web-request-filters input,.web-volunteer-status{border:1px solid #ded8e2;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:#211c36}.web-request-filters input{min-width:260px}
.web-module-pill,.web-status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.web-module-pill.donaciones{background:#fff0f6;color:#a50065}.web-module-pill.voluntariado{background:#eef9f3;color:#087847}.web-module-pill.alianzas{background:#eef5ff;color:#1c5aa6}.web-status-pill{background:#f1eef3;color:#5c5564}.web-status-pill.NUEVO{background:#fff1f7;color:#a50065}.web-status-pill.EN_REVISION{background:#fff7df;color:#8c6200}.web-status-pill.CONTACTADO{background:#eef5ff;color:#1c5aa6}.web-status-pill.APROBADO,.web-status-pill.CONVERTIDO{background:#eaf8ef;color:#087847}.web-status-pill.DESCARTADO{background:#fff0f0;color:#ad2d2d}
.web-submission-dialog{width:min(820px,94vw)}.web-submission-detail{display:grid;gap:18px}.web-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.web-detail-grid>div,.web-payload-list>div{border:1px solid #ece7ee;border-radius:12px;padding:13px 14px;background:#fff}.web-detail-grid span,.web-payload-list span{display:block;font-size:11px;text-transform:uppercase;font-weight:800;color:#8a8290;margin-bottom:5px}.web-detail-grid strong,.web-payload-list strong{display:block;color:#211c36;overflow-wrap:anywhere}.web-payload-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.web-converted-box{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:12px;background:#eaf8ef;color:#087847}.web-request-note{display:grid;gap:7px;margin-top:16px;font-weight:700}.web-request-note textarea,.web-connection-dialog input,.web-connection-dialog textarea{width:100%;border:1px solid #ded8e2;border-radius:10px;padding:11px 12px;font:inherit}.web-connection-dialog{width:min(760px,94vw)}.web-connection-dialog .dialog-body{display:grid;gap:16px}.web-connection-dialog label{display:grid;gap:7px;font-weight:700}.web-connection-status{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border-radius:12px;background:#f7f4f8}.web-connection-shortcodes{display:grid;gap:8px;padding:14px;border:1px solid #ece7ee;border-radius:12px}.web-connection-shortcodes code{display:block;padding:8px 10px;border-radius:8px;background:#f4f1f6;overflow-wrap:anywhere}.web-volunteer-status{padding:7px 9px;min-width:130px}
@media(max-width:780px){.web-request-toolbar{align-items:stretch;flex-direction:column}.web-request-filters{display:grid;grid-template-columns:1fr}.web-request-filters input{min-width:0;width:100%}.web-detail-grid,.web-payload-list{grid-template-columns:1fr}.web-submission-actions{flex-wrap:wrap}}

/* V8.86.2 · Recepción de donaciones web y donantes ocasionales */
.web-status-pill.RECIBIDO{background:#e7f7ee;color:#157347}
.web-received-btn{border:1px solid #b7e2c7;background:#e9f8ef;color:#12653d;border-radius:10px;padding:10px 16px;font-weight:800;cursor:pointer}
.web-received-btn:hover{background:#dff4e8;border-color:#8fcda8}
.web-received-btn.hidden{display:none!important}
.donor-directory-group{display:grid;gap:9px;padding:14px 0;border-bottom:1px solid #eee7ef}
.donor-directory-group:last-of-type{border-bottom:0}
.donor-directory-group-head{display:grid;gap:3px}
.donor-directory-group-head h4{margin:0;color:#2b2030;font-size:14px}
.donor-directory-group-head p{margin:0;font-size:11px;line-height:1.45}

/* ========================================================================== */
/* V8.86.5 · Donaciones online                                                 */
/* ========================================================================== */
.online-donations-hero{background:linear-gradient(135deg,#fff8fc 0%,#f7f4ff 100%);border:1px solid #eaddea}
.online-donation-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}
.online-kpi{background:#fff;border:1px solid #e8e2ea;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(54,30,64,.05);display:flex;flex-direction:column;gap:5px}
.online-kpi span{font-size:12px;color:#706a73;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.online-kpi strong{font-size:24px;color:#211c36}.online-kpi small{color:#7b747e}
.online-donation-toolbar{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.online-donation-toolbar>div:first-child{min-width:210px}.online-donation-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) minmax(230px,1.8fr);gap:10px;flex:1}.online-donation-filters select,.online-donation-filters input{width:100%}
.online-donation-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.online-insight-card{background:#fff;border:1px solid #e8e2ea;border-radius:18px;padding:18px}.online-insight-head h3{margin:4px 0 14px;font-size:17px}.online-insight-list{display:grid;gap:11px}.online-insight-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);gap:12px;align-items:center}.online-insight-row>div:first-child{display:flex;flex-direction:column}.online-insight-row small{color:#817987}.online-insight-amount{text-align:right}.online-insight-amount b{font-size:13px}.online-insight-amount span{display:block;height:5px;background:#eee8f0;border-radius:999px;margin-top:5px;overflow:hidden}.online-insight-amount i{display:block;height:100%;background:#a50065;border-radius:999px}
.online-provider-pill,.online-scope-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.online-provider-pill.payphone{background:#eaf7ff;color:#086a97}.online-provider-pill.paypal{background:#eaf1ff;color:#0b4ca5}.online-provider-pill.deuna{background:#fff0d8;color:#9d5a00}.online-scope-pill.NACIONAL{background:#ebf8ef;color:#1d7040}.online-scope-pill.INTERNACIONAL{background:#f0edff;color:#5c45a6}.online-scope-pill.SIN_DATO{background:#f2f2f2;color:#666}.online-donation-table td small{display:block;margin-top:4px;color:#827a84}
.online-donation-dialog{width:min(980px,94vw)}.online-donation-detail{display:grid;gap:16px}.online-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.online-detail-summary>div{background:#f8f5f9;border:1px solid #ebe3ed;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:4px}.online-detail-summary span,.online-detail-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#7b727f;font-weight:700}.online-detail-summary strong{font-size:18px}.online-detail-summary small{color:#7a737b}.online-detail-section{border:1px solid #ece6ee;border-radius:16px;padding:17px}.online-detail-section h3{margin:0 0 13px}.online-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}.online-detail-grid>div{display:flex;flex-direction:column;gap:4px;min-width:0}.online-detail-grid strong{overflow-wrap:anywhere}.online-detail-grid .span-2{grid-column:1/-1}.online-security-note{display:flex;gap:10px;align-items:flex-start;background:#f2f8f5;border:1px solid #d8ecdf;color:#315c43;border-radius:14px;padding:13px 15px}.online-security-note .ui-icon{flex:0 0 18px}
@media (max-width:1180px){.online-donation-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.online-donation-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.online-donation-insights{grid-template-columns:1fr}}
@media (max-width:760px){.online-donation-kpis{grid-template-columns:1fr 1fr}.online-donation-toolbar{display:block}.online-donation-toolbar>div:first-child{margin-bottom:12px}.online-donation-filters{grid-template-columns:1fr}.online-detail-summary{grid-template-columns:1fr 1fr}.online-detail-grid{grid-template-columns:1fr}.online-detail-grid .span-2{grid-column:auto}}
@media (max-width:480px){.online-donation-kpis,.online-detail-summary{grid-template-columns:1fr}}


/* V8.86.6 · Correos automáticos de donaciones */
.email-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px}.doku-check-row{display:flex!important;gap:10px;align-items:flex-start;background:#faf8fb;border:1px solid #eee4f1;border-radius:14px;padding:13px}.doku-check-row input{width:18px;height:18px;margin-top:2px}.doku-check-row span{display:flex;flex-direction:column;gap:4px}.doku-check-row small{color:#746c78;line-height:1.35}.email-subsection{margin-top:22px}.email-test-box{margin-top:18px;display:flex;gap:12px;align-items:end;padding:14px;background:#f7f4f8;border-radius:14px}.email-test-box label{flex:1}.online-email-section{margin-top:18px;border-top:1px solid #eee;padding-top:16px}.online-email-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.online-email-head h3{margin:2px 0 0}.online-email-history{display:grid;gap:8px;margin-top:12px}.online-email-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 12px;border:1px solid #ece7ef;border-radius:12px;background:#fbfafc}.online-email-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.online-email-row small{color:#756c79}.online-email-status{font-size:12px;font-weight:800;padding:6px 9px;border-radius:999px;background:#eee}.online-email-status.sent,.online-email-status.resent{background:#e7f7ec;color:#176a37}.online-email-status.failed{background:#fdebec;color:#a2212f}.online-email-status.sending,.online-email-status.pending{background:#fff4d9;color:#7b5911}.email-error{color:#a2212f!important}@media(max-width:900px){.email-toggle-grid{grid-template-columns:1fr}.email-test-box{flex-direction:column;align-items:stretch}}


/* ========================================================================== */
/* DOK-U V9.0.0 · SIMPLE                                                      */
/* Colores planos, tipografía legible, navegación reducida y menos ruido.     */
/* ========================================================================== */
:root{
  --d9-primary:#5b0a7e;
  --d9-primary-dark:#3f0758;
  --d9-accent:#a50065;
  --d9-bg:#f5f4f6;
  --d9-surface:#ffffff;
  --d9-line:#ddd8e0;
  --d9-ink:#211c36;
  --d9-muted:#696271;
  --d9-success:#16794a;
  --d9-warning:#9a6100;
  --d9-danger:#b42318;
  --d9-info:#315d9a;
  --bg:var(--d9-bg);--card:var(--d9-surface);--ink:var(--d9-ink);--muted:var(--d9-muted);--line:var(--d9-line);
  --primary:var(--d9-primary);--primary2:var(--d9-primary-dark);--shadow:none;--ux-font-base:17px;
}
html{font-size:17px}body{background:var(--d9-bg);color:var(--d9-ink);font-size:17px;line-height:1.5}

.app-shell .sidebar,.app-shell .topbar,.app-shell .home-card,.app-shell .stat,.app-shell .table-card,
.app-shell .module-hero,.app-shell .control-kpi,.app-shell .vinc-panel,.app-shell .form-panel,
.app-shell .settings-dialog,.app-shell .record-dialog,.app-shell .vinc-dialog,.app-shell .donation-form-section,
.app-shell .online-kpi,.app-shell .online-insight-card,.app-shell .project-code-banner,.app-shell .doku-security-strip,
.app-shell .doku-project-card,.app-shell .doku-project-next,.app-shell .project-next-action-card,
.app-shell .directory-picker-card,.app-shell .attachments-card,.app-shell .donation-items-card,
.app-shell .v7-analysis-card,.app-shell .doku-check-row{background-image:none!important;box-shadow:none!important}

/* Navegación principal */
.sidebar{width:270px;background:#21002f!important;border-right:0!important;padding:18px 14px!important;overflow-y:auto!important}
.main{margin-left:270px!important;width:calc(100% - 270px)!important}
.doku-sidebar-brand{margin-bottom:16px!important}.brand-copy strong{font-size:20px}.brand-copy small{font-size:13px!important;color:#d8c9df!important}
.current-user-card{background:#320046!important;border:1px solid #4a1b5e!important;border-radius:12px!important;box-shadow:none!important}.current-user-card strong{font-size:15px!important}.current-user-card small{font-size:13px!important;color:#d5c5dc!important}
.sidebar-primary{min-height:48px!important;border-radius:10px!important;background:var(--d9-accent)!important;font-size:15px!important}.sidebar-primary:hover{background:#8f0058!important}
.nav-group-label{font-size:12px!important;letter-spacing:.06em!important;color:#ae9ab8!important;margin:14px 10px 6px!important}.doku-v9-nav{gap:5px!important;margin-top:12px!important}
.module-btn{min-height:48px!important;border-radius:9px!important;padding:10px 12px!important;font-size:15px!important;font-weight:650!important;color:#e0d6e5!important}.module-btn .ui-icon{width:20px!important;height:20px!important;color:#c5afcf!important}.module-btn:hover{background:#35004a!important;color:#fff!important}.module-btn.active{background:var(--d9-primary)!important;color:#fff!important;box-shadow:none!important}.module-btn.active .ui-icon{color:#fff!important}
.doku-tools-menu{margin-top:8px;border-top:1px solid #49205a;padding-top:8px}.doku-tools-menu>summary{list-style:none;cursor:pointer;min-height:48px;padding:10px 12px;display:flex;align-items:center;gap:10px;border-radius:9px;color:#d9ccdf;font-size:15px;font-weight:650}.doku-tools-menu>summary::-webkit-details-marker{display:none}.doku-tools-menu>summary:hover{background:#35004a}.doku-tools-menu>summary .ui-icon{width:20px;height:20px}.doku-tools-menu .tools-chevron{margin-left:auto}.doku-tools-menu[open] .tools-chevron{transform:rotate(180deg)}.doku-tools-menu-body{display:grid;gap:4px;padding:6px 0 2px 12px;border-left:1px solid #4b245c;margin-left:20px}.doku-tools-menu-body .module-btn{min-height:44px!important;font-size:14px!important}
.doku-v9-footer{gap:7px!important}.doku-v9-footer>.ghost{background:#35004a!important;min-height:44px;font-size:14px!important}.doku-admin-menu>summary{cursor:pointer;color:#bcaac5;font-size:13px;padding:8px 10px;list-style:none}.doku-admin-menu>summary::-webkit-details-marker{display:none}.doku-admin-menu>div{display:grid;gap:6px;padding-top:5px}.doku-admin-menu .ghost,.doku-admin-menu .link-btn{background:#2d043d!important;font-size:13px!important}

/* Barra superior y tipografía */
.doku-topbar{min-height:72px!important;padding:12px 24px!important;background:#fff!important;border-bottom:1px solid var(--d9-line)!important;backdrop-filter:none!important}.doku-search-wrap{max-width:680px!important;width:min(680px,100%)!important}.doku-search-wrap input{width:100%!important;max-width:none!important;min-height:48px!important;font-size:16px!important;border:1px solid #cfc8d3!important;border-radius:10px!important;box-shadow:none!important}.doku-topbar-icon,.topbar-status{border-radius:9px!important;box-shadow:none!important}.topbar-status{font-size:13px!important}
h1{font-size:34px!important}h2{font-size:28px!important}h3{font-size:20px!important}h4{font-size:17px!important}label,.field-label,.form-panel label,.settings-dialog label{font-size:15px!important}input,select,textarea,.body-editor{font-size:16px!important;line-height:1.45!important}input,select{min-height:48px!important}textarea{min-height:112px!important}.muted,.field-help,.helper-box,.save-state,.eyebrow,.home-card small,.stat span,.doku-route-help{font-size:14px!important;line-height:1.5!important}.eyebrow{letter-spacing:.045em!important}button,.btn,.primary,.ghost,.small-btn,.mini-btn,.row-action,.link-btn{font-size:15px!important}th{font-size:13px!important}td{font-size:15px!important;line-height:1.45}.badge{font-size:13px!important}

/* Inicio sencillo */
.doku-v9-home{padding:28px 28px 44px!important}.doku-v9-hero{margin-bottom:18px!important}.doku-home-welcome h2{font-size:30px!important;margin:4px 0!important}.doku-home-welcome p{font-size:17px!important;color:var(--d9-muted)!important}.doku-v9-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.doku-v9-action{min-height:96px;border:1px solid var(--d9-line);border-radius:12px;background:#fff;color:var(--d9-ink);padding:16px;display:flex;align-items:center;gap:13px;text-align:left}.doku-v9-action:hover{border-color:#b9a8c1;background:#faf7fb}.doku-v9-action.primary{background:var(--d9-primary)!important;border-color:var(--d9-primary);color:#fff}.doku-v9-action .ui-icon{width:26px;height:26px;flex:0 0 26px}.doku-v9-action span{display:grid;gap:3px}.doku-v9-action strong{font-size:16px}.doku-v9-action small{font-size:13px!important;color:var(--d9-muted)}.doku-v9-action.primary small{color:#eadfee}.doku-v9-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:18px!important}.doku-v9-kpis .home-kpi{min-height:104px!important;border-radius:12px!important;border:1px solid var(--d9-line)!important;padding:16px!important}.doku-v9-kpis .home-kpi-icon{border-radius:10px!important}.doku-v9-kpis .home-kpi strong{font-size:28px!important}.doku-v9-kpis .home-kpi small{font-size:13px!important}.doku-v9-kpis .home-kpi span{font-size:13px!important}.doku-v9-home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:14px}.doku-v9-home-grid .home-card{border:1px solid var(--d9-line)!important;border-radius:12px!important;padding:18px!important;min-height:280px}.home-card-head h3{margin:3px 0 0!important}.text-action{font-size:14px!important}.doku-process-summary{grid-template-columns:1fr!important;padding:8px 0!important}.doku-process-ring{display:none!important}.doku-process-row{font-size:14px!important;padding:12px 6px!important}.doku-process-row strong{font-size:14px!important}

/* Menos elementos visuales en módulos */
.doku-document-flow{display:none!important}.module-hero{border-radius:12px!important;border:1px solid var(--d9-line)!important;background:#fff!important}.module-hero p{font-size:15px!important}.module-hero-icon{border-radius:10px!important}.stat,.table-card,.vinc-panel,.control-kpi,.form-panel,.archive-card,.ocr-card,.signers-card,.helper-box,.settings-card,.company-panel,.s6-project-card{border-radius:12px!important;border-color:var(--d9-line)!important}.table-card{box-shadow:none!important}th{background:#f4f2f5!important}.row-action{color:var(--d9-primary)!important}

/* Navegación secundaria compacta */
.doku-v9-subnav,.doku-v9-record-tabs{align-items:center!important;gap:7px!important;flex-wrap:wrap!important}.doku-v9-subnav>button,.doku-v9-record-tabs>button{font-size:14px!important;min-height:42px!important;padding:8px 13px!important;border-radius:9px!important}.doku-inline-more{position:relative}.doku-inline-more>summary{list-style:none;cursor:pointer;min-height:42px;display:flex;align-items:center;padding:8px 13px;border:1px solid var(--d9-line);border-radius:9px;background:#fff;color:#4d4352;font-size:14px;font-weight:700}.doku-inline-more>summary::-webkit-details-marker{display:none}.doku-inline-more[open]>summary{border-color:#bda9c7;color:var(--d9-primary)}.doku-inline-more>div{position:absolute;right:0;top:48px;z-index:40;min-width:220px;padding:7px;background:#fff;border:1px solid var(--d9-line);border-radius:10px;display:grid;gap:4px}.doku-inline-more>div button{width:100%;text-align:left;min-height:40px;border:0;border-radius:7px;background:#fff;color:#403647;padding:8px 10px;font-size:14px}.doku-inline-more>div button:hover,.doku-inline-more>div button.active{background:#f2edf4;color:var(--d9-primary)}

/* Donaciones: cinco pantallas, no cinco bloques simultáneos */
.donation-dialog{width:min(1040px,96vw)!important}.donation-dialog-body{gap:14px!important}.donation-route{position:sticky!important;top:0!important;z-index:10!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;padding:8px!important;border:1px solid var(--d9-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}.donation-route button{min-height:42px;border:0;border-radius:8px;background:#f3f0f4;color:#665d6a;font-size:13px;font-weight:750;padding:7px 9px}.donation-route button.active{background:var(--d9-primary);color:#fff}.donation-form-section{border:1px solid var(--d9-line)!important;border-radius:12px!important;background:#fff!important;padding:18px!important}.donation-section-head{border-bottom:1px solid #eee9f0!important}.donation-section-step{background:var(--d9-primary)!important;border-radius:9px!important;box-shadow:none!important}.doku-donation-step-actions{position:sticky;bottom:0;z-index:11;background:#fff!important;border-top:1px solid var(--d9-line)!important;align-items:center!important}.doku-donation-step-actions .ux-save-hint{margin-right:auto;font-size:14px!important;color:var(--d9-muted)}.doku-donation-step-actions button{min-width:104px}.doku-donation-step-actions button:disabled{opacity:.45;cursor:not-allowed}

/* Color solo para acciones y estados */
.badge.EMITIDO,.badge.APROBADO,.web-status-pill.APROBADO,.web-status-pill.CONVERTIDO{background:#e7f4ec!important;color:var(--d9-success)!important}.badge.BORRADOR,.badge.EN_REVISION{background:#fff4da!important;color:var(--d9-warning)!important}.badge.ANULADO,.badge.RECHAZADO{background:#fbe8e6!important;color:var(--d9-danger)!important}.dialog-head,.dialog-actions{background:#fff!important}.settings-dialog,.record-dialog,.vinc-dialog{border-radius:14px!important}.dialog-head{border-radius:14px 14px 0 0!important}.dialog-actions{border-radius:0 0 14px 14px!important}.icon-btn{border-radius:9px!important}.primary{background:var(--d9-primary)!important}.primary:hover{background:var(--d9-primary-dark)!important}.ghost{background:#f0edf2!important;color:#3c3541!important}.danger{background:#fbe8e6!important;color:var(--d9-danger)!important}.small-btn,.mini-btn,.row-action,.link-btn{border-radius:8px!important}

@media(max-width:1100px){.doku-v9-quick-actions{grid-template-columns:1fr 1fr}.doku-v9-home-grid{grid-template-columns:1fr}.doku-v9-kpis{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){html{font-size:16px}.sidebar{width:min(86vw,300px)!important;transform:translateX(-105%);transition:transform .2s ease}.main{margin-left:0!important;width:100%!important}body.sidebar-open .sidebar{transform:translateX(0)}.doku-topbar{padding:10px 12px!important}.mobile-menu-btn{display:grid!important}.doku-v9-home{padding:18px 14px 32px!important}.doku-v9-quick-actions{grid-template-columns:1fr}.doku-v9-kpis{grid-template-columns:1fr 1fr!important}.doku-home-welcome h2{font-size:26px!important}.donation-route{grid-template-columns:repeat(5,140px)!important;overflow-x:auto!important}.doku-donation-step-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.doku-donation-step-actions .ux-save-hint{grid-column:1/-1;order:-1}.doku-donation-step-actions #saveDonationBtn{grid-column:1/-1}.doku-inline-more>div{position:fixed;left:14px;right:14px;top:auto;bottom:18px;min-width:0}}
@media(max-width:480px){.doku-v9-kpis{grid-template-columns:1fr!important}.doku-v9-action{min-height:84px}.doku-topbar-tools .topbar-status,.doku-topbar-tools #openCurrentTabBtn,.doku-topbar-tools #dokuHelpBtn{display:none!important}}


/* DOK-U V9.0.0 · acabado plano y accesible */
.doku-login-screen,.login-screen{background:var(--d9-bg,#f5f4f6)!important;background-image:none!important}
.doku-login-shell,.login-shell{border:1px solid var(--d9-line,#ddd8e0)!important;border-radius:16px!important;box-shadow:none!important}
.doku-login-visual,.login-visual{background:var(--d9-primary,#5b0a7e)!important;background-image:none!important}
.doku-login-visual::after,.login-visual::before,.login-visual::after{display:none!important}
.doku-login-card,.login-card{background:#fff!important}
.doku-login-card .login-subtitle,.login-security,.login-version{font-size:14px!important;line-height:1.5!important}
.doku-login-card label{font-size:15px!important}.doku-login-card input{font-size:16px!important}

.doku-v9-mobile-nav{background:#fff!important;backdrop-filter:none!important;box-shadow:none!important;border-top:1px solid var(--d9-line)!important}
.doku-v9-mobile-nav .doku-mobile-new{width:54px!important;height:54px!important;min-height:54px!important;border-radius:50%!important;background:var(--d9-primary)!important;color:#fff!important;justify-self:center;transform:translateY(-13px);box-shadow:none!important}
.doku-v9-mobile-nav .doku-mobile-new span{font-size:10px!important;color:#fff!important}.doku-v9-mobile-nav .doku-mobile-new .ui-icon{width:23px!important;height:23px!important}

.doku-v9-wizard-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 16px;padding:7px;border:1px solid var(--d9-line);border-radius:10px;background:#fff}
.doku-v9-wizard-nav button{min-height:44px;border:0;border-radius:8px;background:#f2eff3;color:#615867;font-size:14px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:7px}.doku-v9-wizard-nav button span{width:24px;height:24px;border-radius:7px;background:#fff;display:grid;place-items:center;font-size:12px}.doku-v9-wizard-nav button.active{background:var(--d9-primary);color:#fff}.doku-v9-wizard-nav button.active span{color:var(--d9-primary)}
.doku-v9-wizard-actions{position:sticky;bottom:0;z-index:12;border-top:1px solid var(--d9-line)!important}.doku-v9-wizard-actions #vincWizardStepLabel{margin-right:auto;color:var(--d9-muted);font-size:14px!important}
.doku-v9-wizard-actions button{min-width:108px}
.vinc-form-section{box-shadow:none!important;background:#fff!important;border-color:var(--d9-line)!important}

.doku-v9-advanced{border:1px solid var(--d9-line);border-radius:10px;background:#faf9fa;margin-top:14px}.doku-v9-advanced>summary{list-style:none;cursor:pointer;padding:13px 14px;font-weight:800;color:#4a414f;display:flex;justify-content:space-between;align-items:center;gap:10px}.doku-v9-advanced>summary::-webkit-details-marker{display:none}.doku-v9-advanced>summary small{font-size:13px!important;color:var(--d9-muted);font-weight:600}.doku-v9-details-body{padding:0 14px 14px}

.doku-v9-row-actions{display:flex;align-items:center;gap:7px}.doku-row-more{position:relative}.doku-row-more>summary{list-style:none;cursor:pointer;width:38px;height:38px;border:1px solid var(--d9-line);border-radius:8px;background:#fff;display:grid;place-items:center;font-size:20px;line-height:1}.doku-row-more>summary::-webkit-details-marker{display:none}.doku-row-more>div{position:absolute;right:0;top:43px;z-index:30;min-width:180px;padding:6px;border:1px solid var(--d9-line);border-radius:9px;background:#fff;display:grid;gap:3px}.doku-row-more a,.doku-row-more button{min-height:38px;border:0;border-radius:6px;background:#fff;color:#3f3544;text-decoration:none;text-align:left;padding:9px 10px;font-size:14px!important}.doku-row-more a:hover,.doku-row-more button:hover{background:#f2eff3;color:var(--d9-primary)}

/* En V9 los bloques técnicos conservan función, pero no compiten con el contenido principal. */
.project-web-seo-box{box-shadow:none!important}.v55-record-tools,.v58-attendance-import{background:#fff!important;background-image:none!important;box-shadow:none!important}.home-kpi,.stat,.modern-panel,.online-insight-card,.online-detail-section{box-shadow:none!important}

@media(max-width:760px){.doku-v9-wizard-nav{grid-template-columns:repeat(4,138px);overflow-x:auto}.doku-v9-wizard-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.doku-v9-wizard-actions #vincWizardStepLabel{grid-column:1/-1;order:-1}.doku-v9-wizard-actions #vincSaveBtn{grid-column:1/-1}.doku-row-more>div{position:fixed;left:14px;right:14px;top:auto;bottom:78px}}

.doku-v9-quick-create{width:min(680px,94vw)!important}.doku-v9-quick-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doku-v9-quick-create-grid button{min-height:105px;border:1px solid var(--d9-line);border-radius:11px;background:#fff;color:var(--d9-ink);display:flex;align-items:center;gap:13px;padding:16px;text-align:left}.doku-v9-quick-create-grid button:hover{background:#faf7fb;border-color:#bda9c7}.doku-v9-quick-create-grid .ui-icon{width:27px;height:27px;color:var(--d9-primary);flex:0 0 27px}.doku-v9-quick-create-grid span{display:grid;gap:3px}.doku-v9-quick-create-grid strong{font-size:16px}.doku-v9-quick-create-grid small{font-size:13px!important;color:var(--d9-muted)}
@media(max-width:560px){.doku-v9-quick-create-grid{grid-template-columns:1fr}.doku-v9-quick-create-grid button{min-height:86px}}


/* Fase 2 · DOK-U 9.1.0 · capa de claridad, contraste y accesibilidad */
.doku-skip-link{position:fixed;top:-80px;left:15px;z-index:10000;padding:12px 18px;background:#fff;color:#35144a;border:2px solid #5b0a7e;border-radius:10px;font-weight:700}
.doku-skip-link:focus{top:10px}
.doku-context-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 28px 8px;padding:13px 18px;background:#fff;border:1px solid var(--d9-line,#e4dce8);border-radius:12px}
.doku-context-row>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.doku-context-prefix{font-size:12px;color:#6e6571}.doku-context-row strong{font-size:16px;color:#382540}.doku-context-row #dokuSectionHint{font-size:12px;color:#716776}
.doku-search-shortcut{font-size:12px;color:#706476;white-space:nowrap}.doku-search-shortcut kbd{font:700 12px system-ui;border:1px solid #d8d1dc;padding:3px 7px;border-radius:5px;background:#f8f6f9}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #9d64cb!important;outline-offset:3px!important}
:where(button,a,summary){-webkit-tap-highlight-color:transparent}
.doku-v9-nav .module-btn{min-height:43px!important;transition:background-color .14s ease,color .14s ease}
.doku-v9-nav .module-btn.active{box-shadow:inset 3px 0 0 #dfc4f0!important}
.doku-v9-action,.doku-home-kpis .home-kpi{transition:transform .15s ease,border-color .15s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.doku-v9-action:hover{transform:translateY(-2px)}}
:is(.table-card,.record-table,.doku-table-wrap) table tbody tr:hover{background:#faf7fc}
:is(.table-card,.record-table,.doku-table-wrap) table th{white-space:nowrap}
:is(input,select,textarea):disabled{opacity:.6;cursor:not-allowed}
.doku-v9-action small{line-height:1.4!important}.doku-v9-home .home-card p{line-height:1.5}
@media(max-width:760px){.doku-context-row{margin:0 14px 5px;padding:10px 12px}.doku-search-shortcut{display:none}.doku-context-row #dokuSectionHint{display:none}.doku-v9-quick-actions{gap:9px!important}.doku-v9-action{min-height:78px!important}.doku-v9-action strong{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.doku-context-row,.doku-skip-link{display:none!important}}

/* Phase 3: institutional journey and date validation */
.doku-phase3-journey{margin:16px 0 22px;padding:20px;border-radius:18px;background:var(--surface,#fff);border:1px solid var(--border,#dce4e9)}
.doku-phase3-head h3{margin:4px 0;font-size:1.12rem}.doku-phase3-head p,.doku-phase3-note{margin:4px 0;color:var(--muted,#667782);font-size:.87rem}
.doku-phase3-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:16px}
.doku-phase3-stages button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:1px solid var(--border,#dce4e9);border-radius:12px;padding:14px;background:var(--surface,#fff);color:inherit;text-align:left;cursor:pointer;min-width:0}
.doku-phase3-stages button:hover,.doku-phase3-stages button:focus-visible,.doku-phase3-stages button.is-active{border-color:var(--primary,#197f78);box-shadow:0 0 0 2px rgba(30,134,120,.12)}
.doku-phase3-stages .phase3-num{font-size:.75rem;font-weight:800;color:var(--primary,#197f78)}
.doku-phase3-stages strong{font-size:.92rem}.doku-phase3-stages small{font-size:.76rem;color:var(--muted,#667782)}
.doku-phase3-note{margin-top:14px}.phase3-report-validation:not(:empty){padding:8px 10px;color:#a32b26;background:#fff4f2;border-radius:7px;grid-column:1/-1}
@media(max-width:900px){.doku-phase3-stages{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.doku-phase3-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.doku-phase3-journey{padding:14px}}

#dokuEditInformationBtn{margin-inline:10px;white-space:nowrap} .doku-project-web-card{margin-top:16px} @media(max-width:700px){#dokuEditInformationBtn{font-size:12px;padding:9px}}
