
.client-dashboard-overlay{position:fixed!important;inset:0!important;z-index:99950!important;background:rgba(18,28,46,.72)!important;backdrop-filter:blur(6px);padding:18px!important;overflow:auto!important}
.client-dashboard-overlay.hidden{display:none!important}.client-dashboard{width:min(1180px,96vw);min-height:min(760px,92vh);margin:auto;background:#f5f7fb;border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(10,20,40,.32)}
.client-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px 18px;background:#fff;border-bottom:1px solid #e4e8f0}.client-dashboard-head h2{margin:3px 0 5px;font-size:30px;color:#172033}.client-dashboard-head p{margin:0;color:#748096}
.client-dashboard-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 28px;background:#fff;border-bottom:1px solid #e4e8f0}.client-dashboard-nav button{min-height:58px;border:1px solid #dfe4ed;background:#fff;color:#596984;border-radius:15px;cursor:pointer;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.client-dashboard-nav button.active{background:#172033;color:#fff;border-color:#172033;box-shadow:0 8px 22px rgba(23,32,51,.14)}.client-dashboard-nav button b{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ffdd00;color:#172033;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.client-dashboard-body{padding:24px 28px 30px}.client-dashboard-view{display:none}.client-dashboard-view.active{display:block}.client-dashboard-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.client-dashboard-title h3{margin:2px 0 5px;font-size:24px;color:#172033}.client-dashboard-title p{margin:0;color:#748096}.client-files-layout{align-items:start}
.client-documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-doc-card{border:1px solid #e1e5ed;border-radius:17px;padding:16px;background:#fff;box-shadow:0 5px 18px rgba(30,45,75,.035)}.client-doc-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.client-doc-card h4{margin:0 0 4px;color:#172033;font-size:18px}.client-doc-card p{margin:3px 0;color:#748096;font-size:13px}.client-doc-total{font-weight:900;color:#172033;white-space:nowrap}.client-doc-status{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.client-doc-status span{font-size:11px;font-weight:800;border-radius:999px;padding:5px 8px;background:#f2f4f7;color:#596984}.client-doc-status .ok{background:#eaf8ef;color:#187749}.client-doc-actions{display:flex;gap:7px;flex-wrap:wrap}.client-doc-actions button,.client-doc-actions a{text-decoration:none;border:0;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}.client-doc-view{background:#eef6fb;color:#167ca4}.client-doc-pdf{background:#172033;color:#fff}.invoice-file-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.invoice-file-links a{display:inline-flex;text-decoration:none;background:#172033;color:#fff;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:800}
.client-document-modal{position:fixed;inset:0;z-index:100002;background:rgba(10,18,32,.76);display:flex;align-items:center;justify-content:center;padding:22px}.client-document-modal.hidden{display:none}.client-document-modal-card{position:relative;background:#fff;width:min(900px,94vw);max-height:90vh;overflow:auto;border-radius:20px;padding:24px}.client-document-close{position:absolute;right:12px;top:10px;border:0;background:#172033;color:#fff;border-radius:999px;width:38px;height:38px;font-size:25px;cursor:pointer}.client-document-detail-head{padding-right:44px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e1e5ed;padding-bottom:16px}.client-document-detail-head h2{margin:0;color:#d82b86}.client-document-detail-head p{margin:4px 0;color:#748096}.client-document-lines{display:grid;gap:9px;margin-top:16px}.client-document-line{display:grid;grid-template-columns:minmax(0,1fr) 100px 130px;gap:12px;padding:11px;border-radius:12px;background:#f7f9fc;align-items:start}.client-document-line strong{display:block;color:#172033}.client-document-line small{display:block;color:#748096;margin-top:3px}.client-document-totals{margin:18px 0 0 auto;width:min(320px,100%);display:grid;gap:7px}.client-document-totals div{display:flex;justify-content:space-between;color:#596984}.client-document-totals .grand{border-top:1px solid #172033;padding-top:9px;color:#d82b86;font-weight:900}
.invoice-admin-form{background:#fff;border:1px solid #e1e5ed;border-radius:18px;padding:18px;margin-bottom:20px}.invoice-admin-form .form-grid{margin-top:0}.admin-invoice-list{display:grid;gap:12px}.admin-invoice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid #e1e5ed;border-radius:16px;padding:15px}.admin-invoice-card h3{margin:0 0 5px}.admin-invoice-card p{margin:3px 0;color:#748096}.admin-invoice-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-invoice-actions a{text-decoration:none}
@media(max-width:780px){.client-dashboard-overlay{padding:0!important}.client-dashboard{width:100%;min-height:100vh;border-radius:0}.client-dashboard-nav{grid-template-columns:repeat(2,1fr);padding:12px}.client-dashboard-head,.client-dashboard-body{padding-left:16px;padding-right:16px}.client-documents-grid{grid-template-columns:1fr}.client-document-line{grid-template-columns:1fr}.client-document-detail-head{flex-direction:column}.admin-invoice-card{grid-template-columns:1fr}}

/* DIMA Contable · facturas sincronizadas por RFC */
.invoice-sync-note{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#eef8fc;border:1px solid #ccebf6;border-radius:16px;padding:14px 16px;margin-bottom:18px;color:#31566b}.invoice-sync-note b{color:#167ca4}.invoice-sync-note span{font-size:13px}.invoice-link-ok,.invoice-link-pending{display:inline-flex;margin-top:8px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.invoice-link-ok{background:#eaf8ef;color:#187749}.invoice-link-pending{background:#fff5df;color:#936414}


/* Facturas de clientes · lista compacta, búsqueda y paginación */
.invoice-list-toolbar{background:#fff;border:1px solid #e1e5ed;border-radius:16px;padding:14px 16px;margin-bottom:14px}.invoice-search-label{display:block;font-size:12px;font-weight:900;color:#596984;margin-bottom:7px}.invoice-search-row{display:flex;align-items:center;gap:12px}.invoice-search-row input{flex:1;min-width:0;border:1px solid #dfe4ed;border-radius:12px;padding:12px 14px;font:inherit;color:#172033;background:#fff;outline:none}.invoice-search-row input:focus{border-color:#2aa8d2;box-shadow:0 0 0 3px rgba(42,168,210,.12)}.invoice-result-count{white-space:nowrap;color:#748096;font-size:12px;font-weight:800}.invoice-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e1e5ed;border-radius:17px}.invoice-table{width:100%;border-collapse:collapse;min-width:980px}.invoice-table th{padding:13px 14px;text-align:left;background:#f5f7fb;color:#596984;font-size:12px;font-weight:900;border-bottom:1px solid #e1e5ed}.invoice-table td{padding:13px 14px;color:#172033;border-bottom:1px solid #e7ebf2;font-size:13px;vertical-align:middle}.invoice-table tbody tr:last-child td{border-bottom:0}.invoice-table tbody tr:hover{background:#fafbfd}.invoice-table td:nth-child(1){white-space:nowrap;color:#748096}.invoice-table td:nth-child(4){white-space:nowrap}.invoice-amount{font-weight:900;white-space:nowrap}.invoice-table .invoice-link-ok,.invoice-table .invoice-link-pending{margin-top:0;white-space:nowrap}.invoice-table-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.invoice-file-button{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:8px 10px;border-radius:10px;text-decoration:none;font-size:12px;font-weight:900;background:#eef1f6;color:#172033}.invoice-file-button.pdf{background:#fde8f3;color:#c72076}.invoice-file-button.xml{background:#e5f5fc;color:#147fa8}.invoice-no-file{font-size:12px;color:#98a2b3}.invoice-pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin-top:16px}.invoice-pagination button{min-width:42px;height:42px;border:1px solid #dfe4ed;background:#fff;color:#172033;border-radius:11px;font-weight:900;cursor:pointer;padding:0 12px}.invoice-pagination button.active{background:#e92386;color:#fff;border-color:#e92386}.invoice-pagination button:disabled{opacity:.42;cursor:not-allowed}.invoice-pagination span{color:#748096;font-size:12px;font-weight:800;margin:0 3px}
@media(max-width:780px){.invoice-search-row{align-items:stretch;flex-direction:column}.invoice-result-count{white-space:normal}.invoice-list-toolbar{padding:12px}.invoice-pagination span{width:100%;text-align:center;order:-1}}


/* Accesos de clientes · listado, búsqueda, orden y paginación */
.account-list-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 190px 110px auto;gap:12px;align-items:end;background:#fff;border:1px solid #e1e5ed;border-radius:16px;padding:14px 16px;margin-bottom:14px}.account-search-block,.account-toolbar-select{display:grid;gap:7px}.account-search-block label,.account-toolbar-select label{font-size:12px;font-weight:900;color:#596984}.account-list-toolbar input,.account-list-toolbar select{border:1px solid #dfe4ed;border-radius:12px;padding:11px 13px;background:#fff;color:#172033}.account-result-count{align-self:center;white-space:nowrap;color:#748096;font-size:12px;font-weight:800}.account-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e1e5ed;border-radius:17px}.account-table{width:100%;border-collapse:collapse;min-width:1260px}.account-table th{padding:13px 12px;text-align:left;background:#f5f7fb;color:#596984;font-size:12px;font-weight:900;border-bottom:1px solid #e1e5ed}.account-table td{padding:13px 12px;color:#172033;border-bottom:1px solid #e7ebf2;font-size:13px;vertical-align:middle}.account-table tbody tr:last-child td{border-bottom:0}.account-table tbody tr:hover{background:#fafbfd}.account-table td small{display:block;margin-top:4px;color:#748096;font-size:10px;line-height:1.35}.account-table td:nth-child(4){white-space:nowrap}.account-table td:nth-child(6),.account-table td:nth-child(7){text-align:center;white-space:nowrap}.account-table .status-chip{margin:0}.account-table .status-chip.inactive{background:#eef1f6;color:#748096}.account-link-ok{color:#178a55;font-weight:900}.account-link-pending{color:#9a6b13;font-weight:900}.account-muted{color:#98a2b3}.account-table-actions{display:grid;grid-template-columns:repeat(2,minmax(82px,1fr));gap:6px;min-width:190px}.account-table-actions button{padding:8px 9px;font-size:10px;white-space:nowrap}.account-pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin-top:16px}.account-pagination button{min-width:42px;height:42px;border:1px solid #dfe4ed;background:#fff;color:#172033;border-radius:11px;font-weight:900;cursor:pointer;padding:0 12px}.account-pagination button.active{background:#e92386;color:#fff;border-color:#e92386}.account-pagination button:disabled{opacity:.42;cursor:not-allowed}.account-pagination span{color:#748096;font-size:12px;font-weight:800;margin:0 3px}
@media(max-width:1050px){.account-list-toolbar{grid-template-columns:1fr 1fr 110px}.account-search-block{grid-column:1/-1}.account-result-count{grid-column:1/-1}}
@media(max-width:760px){.account-list-toolbar{grid-template-columns:1fr 1fr;padding:12px}.account-search-block,.account-result-count{grid-column:1/-1}.account-result-count{white-space:normal}.account-pagination span{width:100%;text-align:center;order:-1}}
@media(max-width:480px){.account-list-toolbar{grid-template-columns:1fr}.account-search-block,.account-result-count{grid-column:auto}}

/* Accesos de clientes · Razón social compacta y multilínea */
.account-table th:nth-child(3),
.account-table td:nth-child(3){
  width:220px;
  max-width:220px;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.35;
}
