.kpi-grid.compact article{padding:16px}
.secondary-button,.danger-button{min-height:36px;padding:7px 14px;border:0;border-radius:7px;color:#fff;font-weight:750;cursor:pointer}
.secondary-button{background:#2774ae}.secondary-button:hover{background:#1d5f92}
.danger-button{background:#b73535}.danger-button:hover{background:#922929}
.badge.neutral{background:#edf1f7;color:#56647a}
details summary{color:#123b8c;font-weight:750;cursor:pointer}
.inline-admin{min-width:620px;padding:16px 0;display:grid;gap:14px}
.mini-form{display:grid;gap:10px;padding:14px;border:1px solid #e1e7f0;border-radius:10px;background:#f8fafd}
.mini-form label,.state-form label{display:grid;gap:6px;color:#46536a;font-size:.82rem;font-weight:650}
.mini-form input,.mini-form select,.state-form input{min-height:38px;padding:8px 10px;border:1px solid #cfd9e7;border-radius:8px;background:#fff}
.delete-form,.state-form{margin-top:12px}.state-form{display:grid;gap:10px;padding-top:15px;border-top:1px solid #e4e9f1}
.permission-fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;border:1px solid #d9e2ee;border-radius:10px}
.permission-fieldset legend{padding:0 7px;color:#59667b;font-weight:750}
.check-card{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:9px!important;padding:10px;border-radius:8px;background:#f4f7fb}
.check-card input{width:17px!important;min-height:17px!important;margin-top:2px}.check-card span,.check-card small{display:block}.check-card small{margin-top:3px;color:#778399;font-weight:400}
.role-heading,.tenant-title{display:flex;justify-content:space-between;gap:12px}.role-heading h2,.tenant-title h2{margin:8px 0 4px}.tenant-title>strong{color:#123b8c}
.admin-roles{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.tenant-grid,.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tenant-card,.payment-card{margin:0}
.quota-list{display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0}.quota-list dt{color:#68758b}.quota-list dd{margin:0;font-weight:750}
.info-box{display:flex;gap:12px;padding:14px;border:1px solid #b9dcef;border-radius:10px;background:#eef8fd;color:#31546c}.info-box span{font-weight:400;line-height:1.45}
.info-box.warning{border-color:#efd18c;background:#fff8e6;color:#79591a}
.inline-field{display:flex;gap:8px}.inline-field input{min-width:0;flex:1}.inline-field button{white-space:nowrap}.secondary-button:disabled{background:#91a4ba;cursor:not-allowed}
.filter-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-bar label{display:grid;gap:6px;color:#46536a;font-size:.82rem;font-weight:650}.filter-bar input,.filter-bar select{min-width:180px;min-height:39px;padding:8px 10px;border:1px solid #cfd9e7;border-radius:8px;background:#fff}.text-link{padding:10px;color:#205f9c;font-weight:700;text-decoration:none}
.line-card{display:grid;grid-template-columns:2fr 3fr 1fr 1fr;gap:8px;padding:10px 12px;border:1px solid #d9e2ee;border-radius:8px}.line-card legend{padding:0 7px;color:#123b8c;font-weight:750}
/* Espacio de trabajo comercial (ADR-057): cabecera tipo toolbar, campos proporcionados al dato, filtros, tablas operativas, acciones por fila y diálogos. */
.page-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.page-toolbar .eyebrow{display:block}
.page-toolbar h1{margin:.15rem 0 0;color:#123b8c;font-size:1.4rem;line-height:1.2}
.page-hint{margin:3px 0 0;color:#657189;font-size:.84rem}
.toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
a.primary-button{display:inline-flex;align-items:center;text-decoration:none}
.toolbar-link{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid #cfd9e7;border-radius:7px;background:#fff;color:#205f9c;font-size:.86rem;font-weight:700;text-decoration:none}
.toolbar-link:hover{border-color:#205f9c;background:#eef4fc}
.page-tabs{display:flex;gap:4px;margin:-4px 0 12px;border-bottom:1px solid #dce4ef}
.page-tabs a{margin-bottom:-1px;padding:7px 12px;border-bottom:2px solid transparent;color:#46536a;font-size:.86rem;font-weight:700;text-decoration:none}
.page-tabs a:hover{border-color:#9fb8dc;color:#123b8c}
.panel.compact-panel{padding:14px 16px}
.section-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.section-bar h2{margin:0;color:#17233b;font-size:.98rem}
.section-bar h3{margin:0;color:#17233b;font-size:.92rem}
.section-bar .eyebrow{display:block}
.section-bar .text-link{padding:4px 6px;font-size:.84rem}
.section-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.section-actions.spaced{margin-top:12px}
.section-note{color:#6d7890;font-size:.78rem}
.subsection{margin-top:16px;padding-top:12px;border-top:1px solid #e6ebf2}
/* Campos en rejilla de 12 columnas: cada dato ocupa lo que necesita (c-2 documento corto, c-7 razón social...). */
.fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px}
.fields>label,.field-with-action>label{display:grid;gap:4px;align-content:start;min-width:0;color:#3c4961;font-size:.8rem;font-weight:650}
.c-2{grid-column:span 2}.c-3{grid-column:span 3}.c-4{grid-column:span 4}.c-5{grid-column:span 5}.c-6{grid-column:span 6}.c-7{grid-column:span 7}.c-8{grid-column:span 8}.c-9{grid-column:span 9}.c-12{grid-column:1/-1}
.fields input:not([type="checkbox"]),.fields select,.filters input,.filters select,.line-row input,.line-row select,.line-search input,.inline-create input{width:100%;min-width:0;min-height:34px;padding:5px 9px;border:1px solid #cfd9e7;border-radius:6px;background:#fff;color:#17233b;font-size:.88rem;outline:none}
.fields input:focus,.fields select:focus,.filters input:focus,.filters select:focus,.line-row input:focus,.line-row select:focus,.line-search input:focus,.inline-create input:focus{border-color:#159bd7;box-shadow:0 0 0 3px #159bd722}
.fields label.checkbox,.check-row label.checkbox{display:flex;align-items:center;align-self:end;gap:8px;min-height:34px;font-size:.84rem;font-weight:600}
.check-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 18px}
/* Casillas de verificación de tamaño normal en todos los formularios (antes heredaban el ancho de los campos de texto). */
.fields input[type="checkbox"],.form-grid input[type="checkbox"],.form-stack input[type="checkbox"],.mini-form input[type="checkbox"],.state-form input[type="checkbox"]{flex:none;width:16px;height:16px;min-height:0;margin:0;padding:0;accent-color:#123b8c}
.form-grid label.checkbox,.mini-form label.checkbox,.form-stack label.checkbox{display:flex;align-items:center;gap:8px}
.field-with-action{display:flex;align-items:flex-end;gap:6px;min-width:0}
.field-with-action>label{flex:1}
.field-action{min-height:34px;padding:5px 10px;border:1px solid #bcd0ea;border-radius:6px;background:#fff;color:#123b8c;font-size:.82rem;font-weight:750;white-space:nowrap;cursor:pointer}
.field-action:hover{border-color:#205f9c;background:#eef4fc}
.form-hints{margin:10px 0 0;color:#6d7890;font-size:.74rem;line-height:1.5}
/* Vencimiento bloqueado al contado (coincide con la fecha de emisión). */
.field-lock{font-size:.8rem;margin-left:2px}
.field-note{display:block;margin-top:3px;color:#6d7890;font-size:.72rem;font-weight:400}
input[data-cash-due-date][readonly]{background:#eef1f6;color:#4b5567;cursor:not-allowed}
/* Consulta de RUC en el alta de clientes (ADR-067): resultado discreto bajo el número de documento. */
.ruc-lookup-status{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid #d8dee8;background:#f8fafc;color:#3f4a5c;font-size:.8rem}
.ruc-lookup-status.success{border-color:#86d3ae;background:#f0fbf6}
.ruc-lookup-status.warning{border-color:#f0c36d;background:#fff9eb}
.ruc-lookup-status.error{border-color:#f1a3a3;background:#fff4f4}
.ruc-lookup-status .ruc-lookup-detail{color:#536176;font-size:.76rem}
.ruc-lookup-status .ruc-lookup-warning{color:#8a5a00;font-weight:600}
.form-more{margin-top:12px;padding:8px 10px;border:1px solid #e1e7f0;border-radius:8px;background:#f8fafd}
.form-more>summary{font-size:.84rem}
.form-more[open]>summary{margin-bottom:10px}
.form-extra{margin-top:12px;padding-top:12px;border-top:1px dashed #dce4ef}
.form-footer{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;margin:0 0 16px;padding:10px 0;border-top:1px solid #dce4ef;background:#f3f6fbf2}
.form-footer.inline{position:static;margin:12px 0 0;padding:12px 0 0;border-top:1px solid #e6ebf2;background:none}
.small-button{min-height:32px;padding:5px 12px;border:0;border-radius:6px;background:#123b8c;color:#fff;font-size:.82rem;font-weight:750;white-space:nowrap;cursor:pointer}
.small-button:hover{background:#0d2f73}
.small-button.ghost{border:1px solid #bcd0ea;background:#fff;color:#123b8c}
.small-button.ghost:hover{border-color:#205f9c;background:#eef4fc}
.ghost-button{border:1px solid #cfd9e7!important;background:#fff!important;color:#46536a!important}
.ghost-button:hover{background:#f3f6fb!important}
/* Filtros de listados: anchos según el dato. */
.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px}
.filters label{display:grid;gap:3px;color:#46536a;font-size:.76rem;font-weight:650}
.w-xs{width:100px}.w-sm{width:130px}.w-md{width:165px}.w-lg{width:260px}
.filter-actions{display:flex;align-items:center;gap:4px}
.filter-actions .text-link{padding:6px 8px;font-size:.84rem}
.inline-create{display:flex;gap:6px;margin-bottom:10px}
.inline-create .w-code{flex:none;width:120px}
.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
/* Líneas del comprobante. */
.line-search{display:flex;align-items:center;gap:6px}
.line-search input{width:280px}
.lines{display:grid;gap:6px}
.line-head,.line-row{display:grid;grid-template-columns:28px minmax(200px,3fr) minmax(160px,4fr) 110px 140px 30px;gap:8px;align-items:center}
.line-row[hidden]{display:none}
.line-head{padding-bottom:4px;border-bottom:1px solid #e6ebf2;color:#627087;font-size:.7rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.line-number{color:#8390a6;font-size:.8rem;text-align:center}
.line-remove{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#8a96ab;font-size:1.1rem;cursor:pointer}
.line-remove:hover{background:#fdecec;color:#b42318}
/* Tablas operativas y acciones por fila. */
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 6px;color:#627087;font-size:.84rem}
.data-table td{vertical-align:middle}
.data-table .num{text-align:right}
.data-table tr.is-selected td{background:#eef4fc}
.data-table .empty-row{padding:18px 10px;color:#6d7890;text-align:center;white-space:normal}
.doc-cell strong{display:block;color:#17233b;font-weight:700}
.actions-cell{width:1%;text-align:right}
.row-link{color:#205f9c;font-size:.84rem;font-weight:700;text-decoration:none;white-space:nowrap}
.row-issue-form{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end}
.row-issue-form select,.row-issue-form input{min-height:30px;max-width:150px;padding:4px 8px;border:1px solid #cfd9e7;border-radius:6px;background:#fff;font-size:.82rem}
.row-action-button{min-height:30px;padding:4px 14px;border:0;border-radius:6px;background:#123b8c;color:#fff;font-size:.82rem;font-weight:750;cursor:pointer}
.row-action-button:hover{background:#0d2f73}
.row-actions{position:relative;display:inline-block;text-align:left}
.row-actions>summary{display:grid;place-items:center;width:30px;height:30px;border:1px solid #cfd9e7;border-radius:6px;background:#fff;color:#123b8c;font-size:1.1rem;font-weight:900;line-height:1;cursor:pointer;list-style:none}
.row-actions>summary::-webkit-details-marker{display:none}
.row-actions>summary:hover,.row-actions[open]>summary{border-color:#205f9c;background:#eef4fc}
.row-actions-menu{display:grid;min-width:170px;margin-top:4px;padding:4px;border:1px solid #d3deec;border-radius:8px;background:#fff;box-shadow:0 8px 20px #18335b24}
.row-actions-menu form{margin:0}
.row-actions-menu a,.row-actions-menu button{display:block;width:100%;padding:7px 10px;border:0;border-radius:6px;background:none;color:#17233b;font:inherit;font-size:.86rem;font-weight:650;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer}
.row-actions-menu a:hover,.row-actions-menu button:hover{background:#eef4fc;color:#123b8c}
.row-actions-menu .danger{color:#b42318}
.row-actions-menu .danger:hover{background:#fdecec;color:#b42318}
.row-actions-menu .menu-note{display:block;max-width:280px;padding:7px 10px;color:#5b6477;font-size:.8rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.detail-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;margin:0}
.detail-list dt{color:#6d7890;font-size:.74rem}
.detail-list dd{margin:0 0 6px;font-size:.88rem;font-weight:650;overflow-wrap:anywhere}
/* Diálogos nativos. */
.modal{width:min(780px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid #d3deec;border-radius:10px;background:#fff;color:#17233b;box-shadow:0 24px 60px #0b235440}
.modal::backdrop{background:#0b235466}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e6ebf2}
.modal-head h2{margin:0;color:#123b8c;font-size:1.02rem}
.modal-close{width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:#627087;font-size:1.3rem;line-height:1;cursor:pointer}
.modal-close:hover{background:#eef4fc}
.modal-body{padding:14px 16px 16px}
.modal-note{margin:10px 0 0;color:#6d7890;font-size:.76rem}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e6ebf2}
@media(min-width:1101px){.table-wrap.has-menus{overflow:visible}.row-actions-menu{position:absolute;top:calc(100% + 3px);right:0;z-index:20;margin-top:0}}
@media(max-width:900px){.fields{grid-template-columns:repeat(6,minmax(0,1fr))}.c-4,.c-5,.c-6,.c-7,.c-8,.c-9{grid-column:1/-1}.split-grid{grid-template-columns:1fr}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.line-head{display:none}.line-row{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 30px;grid-template-areas:"n s s r" ". d d ." ". q p .";padding-bottom:6px;border-bottom:1px solid #eef2f7}
.line-number{grid-area:n}.line-row select{grid-area:s}.line-row input[name="description"]{grid-area:d}.line-row input[name="quantity"]{grid-area:q}.line-row input[name="unitPrice"]{grid-area:p}.line-remove{grid-area:r}.line-search input{width:200px}}
@media(max-width:560px){.fields{grid-template-columns:1fr}.fields>*{grid-column:1/-1}.filters label{width:calc(50% - 5px)}.line-search{flex-wrap:wrap}.line-search input{width:100%}.detail-list{grid-template-columns:1fr}.modal{width:calc(100vw - 16px)}.form-footer{justify-content:stretch}.form-footer button{flex:1}}
.amount-input{max-width:150px}.inline-form{display:flex;gap:.45rem;align-items:center;margin-top:.45rem}.inline-form input{max-width:180px}.danger-link{border:0;background:none;color:#b42318;font-weight:700;cursor:pointer}.badge.danger{background:#fee4e2;color:#b42318}.receipt{max-width:920px;margin:1.5rem auto}.receipt-head{display:flex;justify-content:space-between;gap:2rem;align-items:center;border-bottom:2px solid #153e8f;padding-bottom:1rem}.receipt-head>div{display:flex;align-items:center;gap:.8rem}.receipt-head h1{font-size:1.4rem;margin:0}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.receipt-grid div{display:flex;flex-direction:column;gap:.25rem}.receipt-total{display:flex;justify-content:space-between;background:#eef4ff;padding:1rem;border-radius:12px;margin-bottom:1rem;font-size:1.2rem}.receipt-note{color:#64748b;font-size:.85rem;margin-top:1rem}
@media print{.sidebar,.topbar,.no-print{display:none!important}.content-area{margin:0!important}.receipt{box-shadow:none;border:0;max-width:none}.content-area main{padding:0}}
@media(max-width:1050px){.tenant-grid,.payment-grid,.admin-roles{grid-template-columns:1fr}}
@media(max-width:700px){.permission-fieldset,.line-card{grid-template-columns:1fr}.inline-admin{min-width:300px}}
.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.single-column{grid-template-columns:1fr}.single-column textarea{min-height:88px;resize:vertical}.status-danger,.overdue-text{color:#b42318!important}.badge.warning{background:#fff3cd;color:#8a5a00}.stack-form{align-items:flex-start;flex-wrap:wrap}.reschedule-box{margin-top:8px;min-width:230px}.reschedule-box .mini-form{margin-top:8px}.reschedule-box input{width:100%}
.ubl-scope{margin-bottom:22px}.ubl-note-grid .panel{height:calc(100% - 22px)}.muted-copy{color:#657189;line-height:1.6}.validation-upload-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.file-picker{display:grid;gap:8px;min-width:min(580px,100%);padding:16px;border:1px dashed #9eb7d1;border-radius:10px;background:#f7faff;color:#344d6a;font-weight:700}.file-picker input{font-weight:400}.validation-summary{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding:14px;border-radius:10px}.validation-summary.valid{border:1px solid #9edbb8;background:#ebfaf2;color:#176e3e}.validation-summary.invalid{border:1px solid #efb1b1;background:#fff1f1;color:#9b2c2c}.validation-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.validation-list li{padding:11px 13px;border-radius:8px}.validation-error{background:#fff1f1;color:#8f2525}.validation-warning{background:#fff8e5;color:#765300}
@media(max-width:900px){.ubl-note-grid{grid-template-columns:1fr}.validation-summary{flex-direction:column}}
@media(max-width:1050px){.management-grid{grid-template-columns:1fr}}
.readiness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:16px 0}
.readiness-item{display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:12px;border:1px solid #d8dee8;background:#f8fafc}
.readiness-item.ready{border-color:#86d3ae;background:#f0fbf6}
.readiness-item.pending{border-color:#f0c36d;background:#fff9eb}
.readiness-item span{color:#536176;font-size:.9rem}
