:root{--blue:#28509A;--yellow:#F3BF46;--green:#7EA34F;--gray:#818285;--black:#10131a;--white:#fff;--bg:#f5f7fb;--line:#e3e8f0;--danger:#b42318;--shadow:0 12px 34px rgba(26,46,83,.08)}*{box-sizing:border-box}html{font-family:'Red Hat Display',Arial,sans-serif;color:var(--black);background:var(--bg)}body{margin:0}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--blue);color:#fff;padding:20px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:40}.brand-panel{background:#fff;border-radius:16px;padding:14px;margin-bottom:20px}.brand-logo{display:block;width:100%;max-width:180px;margin:auto}.brand-product{text-align:center;color:var(--blue);font-weight:700;font-size:13px;margin-top:5px}.nav-list{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;color:#fff;padding:11px 12px;border-radius:10px;font-weight:600}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.14)}.nav-icon{width:24px;text-align:center}.nav-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin:18px 10px 6px}.sidebar-footer{margin-top:auto}.user-card{display:flex;gap:10px;align-items:center;border-top:1px solid rgba(255,255,255,.18);padding:16px 4px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--blue);display:grid;place-items:center;font-weight:700}.user-meta{display:flex;flex-direction:column;min-width:0}.user-meta small{opacity:.75}.main-wrap{min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:16px;position:sticky;top:0;z-index:25}.topbar-kicker{font-size:12px;color:var(--gray);font-weight:600}.topbar-title{font-weight:700;font-size:20px;color:var(--blue)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:13px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block}.menu-button{display:none;border:0;background:transparent;font-size:24px}.main-content{padding:28px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{margin:3px 0 5px;font-size:30px;color:#18233d}.page-head p{margin:0;color:#667085}.eyebrow{color:var(--blue);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.panel-header h2,.panel h2{margin:0 0 4px;font-size:20px}.panel-header p,.panel p{margin:0;color:#667085}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.kpi-label{display:block;color:#667085;font-size:13px}.kpi strong{display:block;font-size:30px;color:var(--blue);margin:6px 0}.kpi small{color:#667085}.dashboard-grid,.admin-grid,.document-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.activity-row{display:grid;grid-template-columns:12px 1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.activity-mark{width:9px;height:9px;border-radius:50%;background:var(--yellow);margin-top:6px}.activity-copy{display:flex;flex-direction:column}.activity-copy span,.activity-row time{font-size:12px;color:#667085}.live-pill{font-size:12px;background:#eef7ec;padding:7px 10px;border-radius:999px}.quick-links{display:flex;flex-direction:column}.quick-links a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{background:#eef3fb;color:var(--blue);border-color:#d5e0f2}.btn-ghost{background:transparent;color:inherit;border-color:var(--line)}.sidebar .btn-ghost{color:#fff;border-color:rgba(255,255,255,.25)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:7px 10px;font-size:12px}.btn-lg{padding:13px 16px}.btn-block{width:100%}.toolbar{display:flex;gap:10px;margin-bottom:18px;align-items:center}.search-field{flex:1}.toolbar input,.field input,.field select,.field textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:10px 12px;background:#fff}.form-stack{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600}.field small{color:#667085}.actions{display:flex;justify-content:flex-end;gap:10px}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.provider-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;color:inherit;box-shadow:var(--shadow)}.provider-card:hover{transform:translateY(-1px);border-color:#c8d6ed}.provider-card-top,.provider-foot,.provider-metrics{display:flex;justify-content:space-between;gap:12px}.provider-card h3{margin:16px 0 3px}.provider-code{font-size:12px;color:#667085}.provider-metrics{margin:16px 0;color:#667085;font-size:13px}.provider-metrics b{color:#111827}.provider-foot{font-size:12px;color:#667085;border-top:1px solid var(--line);padding-top:12px}.folder-icon{font-size:24px;color:var(--yellow)}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;background:#eef3fb;color:var(--blue)}.status-pending{background:#fff7df;color:#8a5b00}.status-in_process{background:#edf4ff;color:#1d4ed8}.status-processed,.status-active{background:#edf7eb;color:#326a2c}.status-voided{background:#fff0ef;color:var(--danger)}.status-muted{background:#f2f4f7;color:#667085}.status-lg{font-size:13px;padding:8px 12px}.upload-panel{margin-bottom:20px}.dropzone{border:2px dashed #c9d4e5;border-radius:14px;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;background:#fafcff;cursor:pointer}.dropzone:hover{border-color:var(--blue);background:#f6f9ff}.dropzone input{margin-top:10px}.drop-icon{font-size:30px;color:var(--blue)}.file-selection{margin-top:10px;color:#667085;font-size:13px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{text-align:left;padding:11px;color:#667085;font-size:12px;border-bottom:1px solid var(--line)}.data-table td{padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table td small{display:block;color:#667085;margin-top:2px}.table-action{text-align:right}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;margin-bottom:18px}.filter-actions{display:flex;align-items:end;gap:8px}.breadcrumb{display:flex;gap:8px;font-size:12px;color:#667085}.version-list{display:flex;flex-direction:column;gap:12px}.version-card{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px}.version-main{display:flex;justify-content:space-between;gap:12px}.version-main>div:first-child{display:flex;flex-direction:column}.version-main span,.version-meta{font-size:12px;color:#667085}.version-meta{display:flex;flex-direction:column;text-align:right}.version-actions{display:flex;gap:7px}.side-stack{display:flex;flex-direction:column;gap:16px}.detail-card dl{margin:0}.detail-card dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-card dt{color:#667085}.detail-card dd{margin:0;text-align:right}.lock-notice{background:#fff7df;padding:11px;border-radius:10px;margin-bottom:12px}.lock-notice.success{background:#edf7eb}.danger-card{border-color:#f1c2bf}.temporary-secret{display:flex;align-items:center;gap:14px;margin-bottom:18px;border-color:#ead08e}.temporary-secret code{background:#172033;color:#fff;padding:8px 10px;border-radius:8px}.config-list div{display:flex;justify-content:space-between;gap:12px}.config-list dd{margin:0}.migration-warning{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.compact-kpis .kpi strong{font-size:24px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px}.alert-success{background:#edf7eb;color:#2d5f28}.alert-warning{background:#fff7df;color:#745000}.alert-danger{background:#fff0ef;color:#8f2018}.empty-state{padding:28px;text-align:center;color:#667085}.page-narrow{max-width:760px;margin:0 auto}.error-page{max-width:560px;margin:80px auto;text-align:center}.error-page>strong{font-size:64px;color:var(--yellow)}.auth-page{min-height:100vh;background:linear-gradient(135deg,var(--blue) 0 52%,#f8fafc 52%)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.18);padding:30px}.login-brand img{width:190px}.login-heading h1{margin:14px 0 6px;color:var(--blue)}.login-heading p,.login-note{color:#667085}.login-note{font-size:12px;margin-top:16px}.mt-12{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-overlay{display:none}
@media(max-width:1100px){.provider-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:left .2s}.sidebar.open{left:0}.menu-button{display:block}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:35}.main-content{padding:18px}.topbar{padding:0 16px}.topbar-right{display:none}.page-head{flex-direction:column}.dashboard-grid,.admin-grid,.document-grid,.filter-grid{grid-template-columns:1fr}.provider-grid{grid-template-columns:1fr}.filter-actions{align-items:center}.version-card{grid-template-columns:46px 1fr}.version-actions{grid-column:1/-1}.version-main{flex-direction:column}.version-meta{text-align:left}.data-table{min-width:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:8px}.data-table td{border:0;display:flex;justify-content:space-between;gap:14px}.data-table td:before{content:attr(data-label);font-size:12px;color:#667085;font-weight:600}.table-action{justify-content:flex-end!important}.toolbar{flex-wrap:wrap}.toolbar .search-field{flex-basis:100%}}
@media(max-width:520px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi strong{font-size:24px}.main-content{padding:14px}.panel{padding:16px}.login-card{padding:22px}.auth-page{background:var(--blue)}.temporary-secret{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Drag & drop de PDF */
.dropzone{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.dropzone.drag-active{border-color:var(--blue);background:#eef4ff;box-shadow:0 0 0 4px rgba(40,80,154,.10)}
.dropzone.drag-active .drop-icon{transform:translateY(-2px)}
.dropzone-compact{padding:18px;margin-top:10px}
.dropzone-compact .drop-icon{font-size:24px}
.file-selection.has-files{color:#326a2c;font-weight:600}
.file-selection.file-error{color:var(--danger);font-weight:600}
.action-help{margin:0 0 12px!important;font-size:13px;line-height:1.45}

/* Constructor de PDF procesado */
.pdf-merge-builder{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.merge-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.merge-section-head>div{display:flex;align-items:center;gap:8px}.merge-section-head small{color:#667085;text-align:right}.merge-order-head{margin-top:18px}.step-chip{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#eaf0fb;color:var(--blue);font-weight:700;font-size:13px}.merge-dropzone{display:flex;min-height:128px;border:1.5px dashed #a9bfe7;border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px;text-align:center;padding:18px;cursor:pointer;background:#fff;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.merge-dropzone:hover,.merge-dropzone.drag-active{border-color:var(--blue);background:#eef4ff;box-shadow:0 0 0 4px rgba(40,80,154,.08)}.merge-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.merge-dropzone .drop-icon{font-size:25px;color:var(--blue)}.merge-dropzone small{color:#667085}.merge-file-feedback{min-height:20px;margin-top:8px;font-size:12px;color:#667085}.merge-file-feedback.has-files{color:#326a2c;font-weight:600}.merge-file-feedback.file-error{color:var(--danger);font-weight:600}.merge-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.merge-item{display:grid;grid-template-columns:24px 32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:grab;transition:border-color .12s ease,box-shadow .12s ease,opacity .12s ease}.merge-item:hover{border-color:#b9c8e2}.merge-item.dragging{opacity:.5;box-shadow:0 8px 24px rgba(40,80,154,.14)}.merge-handle{color:#8a98ad;font-weight:700;letter-spacing:-3px;cursor:grab}.merge-position{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f0f4fa;color:var(--blue);font-weight:700;font-size:12px}.merge-item-main{min-width:0}.merge-item-main strong,.merge-item-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-item-main strong{font-size:13px}.merge-item-main small{margin-top:2px;color:#667085;font-size:11px}.merge-item-actions{display:flex;align-items:center;gap:4px}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);font:inherit;font-weight:700;cursor:pointer}.icon-btn:hover:not(:disabled){background:#eef4ff}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn-danger{color:#a72b23}.icon-btn-danger:hover:not(:disabled){background:#fff0ef}.merge-required{padding:5px 7px;border-radius:999px;background:#edf7eb;color:#326a2c;font-size:10px;font-weight:700;white-space:nowrap}.merge-status{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f4f6f9;color:#475467;font-size:12px}.merge-status.is-busy{background:#eef4ff;color:var(--blue)}.merge-status.is-success{background:#edf7eb;color:#326a2c}.merge-status.is-error{background:#fff0ef;color:#8f2018}.merge-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:10px}.merge-actions .btn:disabled{opacity:.5;cursor:not-allowed}.merge-actions .btn.is-loading{position:relative}.manual-fallback{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.manual-fallback summary{cursor:pointer;color:var(--blue);font-weight:700;font-size:13px}.manual-fallback>p{font-size:12px;color:#667085;line-height:1.45;margin:9px 0}.manual-fallback[open] summary{margin-bottom:8px}
@media(max-width:620px){.merge-section-head{align-items:flex-start;flex-direction:column}.merge-section-head small{text-align:left}.merge-item{grid-template-columns:22px 30px minmax(0,1fr)}.merge-item-actions{grid-column:2/-1;justify-content:flex-end}.merge-actions{grid-template-columns:1fr}.merge-dropzone{min-height:110px}.merge-required{margin-left:auto}}

/* Edición segura de nombres de documentos */
.version-rename-form{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:2px;padding-top:12px;border-top:1px dashed var(--line)}.version-rename-form[hidden]{display:none}.version-rename-field{margin:0}.version-rename-field small,.merge-output-field small{display:block;margin-top:5px;color:#667085;font-size:11px;line-height:1.4}.version-rename-actions{display:flex;gap:7px;padding-bottom:1px}.merge-output-field{margin-top:14px}.merge-output-field input{background:#fff}@media(max-width:800px){.version-rename-form{grid-column:1/-1;grid-template-columns:1fr}.version-rename-actions{justify-content:flex-start}}

/* Administración de usuarios V2.5 */
.user-admin-grid{grid-template-columns:minmax(0,2.2fr) minmax(340px,1fr)}
.user-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}
.user-row-actions form{margin:0}
.btn-ghost-dark{background:#fff;color:#344054;border-color:var(--line)}
.btn-ghost-dark:hover{background:#f7f9fc;border-color:#cfd8e6}
.data-table tr.row-selected td{background:#f6f9ff}
.data-table tr.row-selected td:first-child{box-shadow:inset 3px 0 0 var(--blue)}
.user-editor-panel.is-editing{border-color:#cad8ef;box-shadow:0 16px 42px rgba(40,80,154,.10)}
.user-self-note{font-size:13px;line-height:1.45}
.field>small{display:block;margin-top:5px;color:#667085;font-size:11px;line-height:1.4}
.user-account-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}
.user-account-meta>div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.user-account-meta span,.user-account-meta strong{display:block}
.user-account-meta span{font-size:11px;color:#667085;margin-bottom:3px}
.user-account-meta strong{font-size:12px;color:#344054}
.user-edit-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:4px}
.user-password-reset{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.user-password-reset>div{margin-bottom:12px}
.user-password-reset strong{display:block;margin-bottom:4px}
.user-password-reset p{font-size:12px!important;line-height:1.45}
@media(max-width:1100px){.user-admin-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr)}}
@media(max-width:800px){.user-admin-grid{grid-template-columns:1fr}.user-row-actions{justify-content:flex-end}.user-account-meta{grid-template-columns:1fr 1fr}.user-edit-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.user-account-meta,.user-edit-actions{grid-template-columns:1fr}.user-row-actions{width:100%;justify-content:flex-end}}

/* V2.8 - Provider upload mode selector */
.upload-panel-heading{margin-bottom:14px}.upload-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.upload-mode-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#344054;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.upload-mode-option strong{font-size:14px;color:#101828}.upload-mode-option span{font-size:12px;color:#667085}.upload-mode-option:hover{border-color:#b7c8e4;background:#f9fbff}.upload-mode-option.is-active{border-color:var(--blue);background:#eef4ff;box-shadow:0 0 0 3px rgba(40,80,154,.08)}.upload-mode-option.is-active strong{color:var(--blue)}.upload-merge-builder{margin-top:0}.merge-output-field{margin-top:16px}.merge-output-field input{width:100%;padding:11px 12px;border:1px solid #cfd8e6;border-radius:10px;background:#fff}.merge-output-field input:focus{outline:2px solid rgba(40,80,154,.18);border-color:var(--blue)}
@media(max-width:800px){.upload-mode-switch{grid-template-columns:1fr}.merge-actions{grid-template-columns:1fr}.merge-item{grid-template-columns:20px 30px minmax(0,1fr)}.merge-item-actions{grid-column:2/-1;justify-content:flex-end}}

.processing-option-card{margin:14px 0;padding:14px;border:1px solid #d5e0f2;border-radius:14px;background:#f7f9fd}.processing-option-card>div{margin-bottom:10px}.processing-option-card strong{display:block;color:var(--blue);margin-bottom:4px}.processing-option-card p{font-size:12px;line-height:1.45;color:#667085;margin:0!important}


/* V2.9.2 - Local SVG navigation and PDF file badges. Presentation only. */
.sidebar {
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.28) transparent;
}
.sidebar .brand-panel,
.sidebar-footer { flex-shrink: 0; }
.sidebar .nav-list { padding-bottom: 20px; }
.nav-item {
    position: relative;
    min-height: 46px;
    gap: 13px;
    padding: 11px 13px;
    transition: background-color .16s ease, box-shadow .16s ease;
}
.nav-item:hover { background: rgba(255,255,255,.09); }
.nav-item.active {
    background: rgba(255,255,255,.15);
    box-shadow: inset 3px 0 0 var(--yellow);
}
.nav-icon {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    color: rgba(255,255,255,.9);
}
.nav-item.active .nav-icon { color: var(--yellow); }
.nav-item:hover .nav-icon { color: #fff; }
.nav-item.active:hover .nav-icon { color: var(--yellow); }
.nav-item:focus-visible,
.sidebar-logout:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 3px;
}
.sidebar .avatar { flex-shrink: 0; }
.sidebar .user-meta { overflow-wrap: anywhere; }
.sidebar-logout {
    min-height: 44px;
    gap: 9px;
    transition: background-color .16s ease;
}
.sidebar-logout:hover { background: rgba(255,255,255,.09); }
.button-icon { display: block; width: 19px; height: 19px; flex: 0 0 19px; }
.menu-button {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    padding: 9px;
    border-radius: 10px;
    color: var(--blue);
    cursor: pointer;
}
.menu-button:hover { background: #eef3fb; }
.menu-button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.menu-icon { display: block; width: 23px; height: 23px; }

.pdf-file-badge {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 52px;
    color: var(--danger);
    flex-shrink: 0;
    user-select: none;
}
.pdf-file-badge svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pdf-file-badge > span {
    position: relative;
    margin-top: 12px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .035em;
}
.version-list { container-type: inline-size; container-name: pdf-list; }
.version-card { grid-template-columns: 44px minmax(0,1fr) auto; }
.version-main { min-width: 0; flex-wrap: wrap; }
.version-main > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.version-meta { flex-shrink: 0; }
.version-actions { flex-wrap: wrap; }
.version-actions .btn { white-space: nowrap; }
@container pdf-list (max-width: 760px) {
    .version-card { grid-template-columns: 44px minmax(0,1fr); }
    .version-actions { grid-column: 2 / -1; justify-content: flex-start; }
    .version-meta { text-align: left; }
    .version-rename-form { grid-column: 1 / -1; grid-template-columns: 1fr; }
}
@container pdf-list (max-width: 440px) {
    .version-main { flex-direction: column; gap: 5px; }
    .version-actions { grid-column: 1 / -1; gap: 6px; }
}
@media (max-width: 800px) {
    .menu-button { display: grid; place-items: center; }
    .version-card { grid-template-columns: 44px minmax(0,1fr); }
    .version-actions { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
    .nav-item, .sidebar-logout { transition: none; }
}

/* Business-unit selector / multi-company context */
.company-select-page{min-height:100vh;background:linear-gradient(135deg,var(--blue) 0 42%,#eef3f9 42%)}
.company-selector-shell{min-height:100vh;display:grid;place-items:center;padding:28px}
.company-selector-card{width:min(980px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 90px rgba(20,44,82,.18);padding:30px}
.company-selector-brand img{width:190px;display:block}
.company-selector-heading{margin:18px 0 22px}
.company-selector-heading h1{margin:5px 0 7px;color:#18233d;font-size:32px}
.company-selector-heading p{margin:0;color:#667085}
.company-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.company-option{appearance:none;width:100%;border:1px solid #d7e0ec;background:#fff;border-radius:16px;padding:18px;text-align:left;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;cursor:pointer;color:#18233d;transition:border-color .15s,background .15s,transform .15s}
.company-option:hover,.company-option:focus-visible{border-color:var(--blue);background:#f7faff;transform:translateY(-1px);outline:none}
.company-option.is-current{border-color:#aac2e6;background:#f5f8fd}
.company-option-mark{width:54px;height:54px;border-radius:14px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;letter-spacing:.04em}
.company-option:nth-of-type(2) .company-option-mark,.company-option:nth-of-type(3) .company-option-mark{background:#234a8d}
.company-option:nth-of-type(4) .company-option-mark{background:#6e963f}
.company-option-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.company-option-copy strong{font-size:17px}
.company-option-copy small{color:#667085;line-height:1.35}
.company-option-arrow{color:var(--blue);font-size:22px;font-weight:700}
.company-selector-footer{margin-top:22px;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#667085;font-size:13px}
.sidebar-company{margin:-8px 2px 14px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px}
.sidebar-company-label{text-transform:uppercase;letter-spacing:.08em;font-size:9px;opacity:.68}
.sidebar-company strong{font-size:12px;line-height:1.25}
.company-switch-link{border:1px solid #d5e0f2;border-radius:9px;padding:7px 10px;font-weight:700;font-size:12px;background:#f7faff;white-space:nowrap}
@media(max-width:800px){.company-selector-shell{padding:16px}.company-selector-card{padding:22px}.company-selector-grid{grid-template-columns:1fr}.company-selector-heading h1{font-size:27px}.company-selector-footer{align-items:flex-start;flex-direction:column}.topbar-right{display:none}}

.sidebar-company-switch{color:#fff;text-decoration:underline;text-underline-offset:2px;font-size:11px;margin-top:4px;opacity:.82}.sidebar-company-switch:hover{opacity:1}

/* Carga inicial masiva temporal */
.initial-load-head{align-items:center}.initial-load-temporary{background:#fff7df;color:#8a5b00;border:1px solid #f4dc94}.initial-load-notice{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px;border-left:4px solid var(--yellow)}.initial-load-notice span{color:#667085}.initial-load-panel{display:flex;flex-direction:column;gap:18px}.initial-load-step{display:flex;gap:12px;align-items:flex-start}.initial-load-step-upload{margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}.step-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef3fb;color:var(--blue);font-weight:700;flex:0 0 auto}.step-copy h2{margin:1px 0 3px}.step-copy p{margin:0;color:#667085}.folder-dropzone{border:2px dashed #bfd0e8;border-radius:16px;background:#fafcff;min-height:190px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:var(--blue);cursor:pointer;transition:border-color .15s ease,background .15s ease}.folder-dropzone strong{font-size:18px;color:#172033}.folder-dropzone span{color:#667085}.folder-dropzone.drag-active{border-color:var(--blue);background:#eef4ff}.folder-dropzone:focus-visible{outline:3px solid rgba(243,191,70,.55);outline-offset:3px}.initial-load-feedback{padding:11px 13px;border-radius:10px;background:#f7f8fa;color:#667085}.initial-load-feedback.is-success{background:#edf7eb;color:#326a2c}.initial-load-feedback.is-error{background:#fff0ef;color:var(--danger)}.initial-load-feedback.is-busy{background:#edf4ff;color:#1d4ed8}.initial-load-kpis{margin:0}.initial-load-provider-preview{border-top:1px solid var(--line);padding-top:18px}.initial-load-table{min-width:520px}.initial-load-more{font-size:12px;color:#667085;margin-top:10px}.initial-load-progress{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.progress-summary{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:9px}.progress-summary div{display:flex;align-items:baseline;gap:10px}.progress-summary strong{font-size:26px;color:var(--blue)}.progress-summary span{color:#667085;font-size:13px}.progress-track{height:12px;border-radius:999px;background:#e7edf6;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--blue);transition:width .15s linear}.progress-current{margin-top:10px;font-size:13px;color:#344054;overflow-wrap:anywhere}.initial-load-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.initial-load-result-grid div{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.initial-load-result-grid span{display:block;color:#667085;font-size:11px}.initial-load-result-grid strong{font-size:20px;color:#18233d}.initial-load-actions{display:flex;gap:10px;flex-wrap:wrap}.initial-load-errors{border-top:1px solid var(--line);padding-top:18px}.initial-load-errors ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.initial-load-errors li{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.4fr) minmax(220px,2fr);gap:10px;border:1px solid #f1c7c2;background:#fff7f6;padding:10px 12px;border-radius:10px}.initial-load-errors li span,.initial-load-errors li small{overflow-wrap:anywhere}.initial-load-errors li small{color:var(--danger)}.initial-load-limit{font-size:12px!important;color:#667085!important;border-top:1px solid var(--line);padding-top:14px;margin-top:0!important}
@media(max-width:760px){.initial-load-notice{flex-direction:column}.initial-load-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-summary{align-items:flex-start;flex-direction:column}.initial-load-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.initial-load-actions{flex-direction:column}.initial-load-actions .btn{width:100%}.initial-load-errors li{grid-template-columns:1fr}.folder-dropzone{min-height:165px;padding:22px 14px}}


/* V2.12 - edición segura del nombre de carpeta/proveedor */
.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.provider-rename-panel{scroll-margin-top:24px}
.provider-rename-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.provider-rename-field{flex:1 1 420px;min-width:0;margin:0}
.provider-rename-field input{width:100%}
.provider-rename-actions{margin:0;display:flex;align-items:flex-end}
@media (max-width:700px){
  .page-head-actions{width:100%;justify-content:stretch}
  .page-head-actions .btn{flex:1 1 100%;justify-content:center}
  .provider-rename-form{display:block}
  .provider-rename-actions{margin-top:12px}
  .provider-rename-actions .btn{width:100%}
}

/* V2.11 - Document filters and sortable columns */
.documents-filter-grid{grid-template-columns:minmax(240px,2fr) minmax(170px,1fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(185px,1.1fr) auto;align-items:end}
.sortable-column a{display:inline-flex;align-items:center;gap:5px;color:inherit;font-weight:700;white-space:nowrap}
.sortable-column a:hover{color:var(--blue)}
.sortable-column a span{display:inline-block;min-width:12px;color:#98a2b3;font-size:13px;line-height:1}
.sortable-column[aria-sort="ascending"] a,.sortable-column[aria-sort="descending"] a{color:var(--blue)}
.sortable-column[aria-sort="ascending"] a span,.sortable-column[aria-sort="descending"] a span{color:var(--blue)}
@media(max-width:1250px) and (min-width:801px){.documents-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.documents-filter-grid .filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:800px){.documents-filter-grid{grid-template-columns:1fr}.documents-filter-grid .filter-actions{grid-column:auto;justify-content:flex-start}}

/* V2.12 · Traslado de documentos y administración de áreas de trabajo */
.compact-panel-header{margin-bottom:14px}.move-document-card{border-color:#d8e2f1}.move-provider-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-card{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:11px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}.choice-card:hover{border-color:#c8d6ed}.choice-card.is-selected{border-color:var(--blue);background:#f7f9fd;box-shadow:0 0 0 2px rgba(40,80,154,.06)}.choice-card input{width:auto;margin:3px 0 0}.choice-card span{display:flex;flex-direction:column;gap:2px;min-width:0}.choice-card small{color:#667085;font-size:11px;line-height:1.35}.move-document-note,.business-unit-create-note{background:#f7f9fd;border:1px solid #e2e8f3;border-radius:10px;padding:10px 11px;color:#596579;font-size:12px;line-height:1.45}.empty-inline{background:#f8fafc;border:1px dashed #d7deea;border-radius:10px;padding:12px;color:#667085;font-size:13px}.empty-inline a{font-weight:700}.optional-label{font-weight:400;color:#98a2b3;font-size:12px}.business-unit-admin-grid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.65fr)}.business-unit-list{display:flex;flex-direction:column;gap:10px}.business-unit-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px}.business-unit-mark{width:48px;height:48px;border-radius:12px;background:#eef3fb;color:var(--blue);display:grid;place-items:center;font-weight:700}.business-unit-main{min-width:0}.business-unit-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.business-unit-title strong{overflow-wrap:anywhere}.business-unit-main>small{display:block;color:#667085;margin-top:2px}.business-unit-metrics{display:flex;gap:16px;margin-top:8px;color:#667085;font-size:12px}.business-unit-metrics b{color:#172033}.move-document-card [hidden]{display:none!important}
@media(max-width:800px){.move-provider-mode{grid-template-columns:1fr}.business-unit-admin-grid{grid-template-columns:1fr}.business-unit-title{align-items:flex-start;flex-direction:column}.business-unit-metrics{flex-wrap:wrap}}
