/* INSPINIA 5.0 real + estilo DORSERAN compartido con Inmuebles. */
.cert-document-name{margin:20px 0}.cert-budget-tabs{flex-wrap:wrap}
.cert-evidence-picker{padding-top:0}.cert-evidence-picker .cert-import-drop{padding:20px 16px}
.cert-chapters-table{min-width:900px}.cert-app .cert-chapters-table :is(th,td){padding:10px 8px;font-size:12px}.cert-app .cert-chapters-table thead th{white-space:normal!important}.cert-chapters-table th:first-child,.cert-chapters-table td:first-child{min-width:180px}
.cert-budget-tabs{display:flex;gap:4px;border-bottom:1px solid #dce3e8;margin:0 0 20px}.cert-budget-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#526574;padding:10px 18px;font:inherit;cursor:pointer}.cert-budget-tabs button[aria-selected="true"]{color:#148c74;border-bottom-color:#1ab394}.cert-budget-tabs button:focus-visible{outline:2px solid #1ab394;outline-offset:-3px}[data-budget-tabs] [role="tabpanel"][hidden]{display:none}
.cert-budget-metrics{display:flex;flex-wrap:wrap;gap:12px 36px;margin:0 0 20px;padding:0 0 14px;border-bottom:1px solid #e7eaec}.cert-budget-metrics dt{font-size:11px;font-weight:400;color:#78828d;margin-bottom:3px}.cert-budget-metrics dd{font-size:14px;margin:0;font-variant-numeric:tabular-nums}.cert-app .cert-budget-source :is(h2,h3){margin:0 auto 0 0}.cert-section-heading{justify-content:space-between}
.cert-project-context{margin-top:14px;padding:18px 12px 12px;border-top:1px solid #425563;color:#fff;overflow-wrap:anywhere}
.cert-project-context>span{display:block;margin-bottom:6px;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#a7bdcc}.cert-project-context strong{display:block;font-size:13px;font-weight:600;line-height:1.5}
.cert-project-subnav{list-style:none;margin:0 0 0 14px;padding:0 0 0 7px;border-left:1px solid #526574}.cert-project-subnav li{margin:0 0 4px;padding:0}
.cert-app .rent-sidebar .cert-project-subnav a{padding-left:15px}
.cert-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;list-style:none;margin:0 0 16px;padding:0;font-size:12px;color:#78828d}
.cert-breadcrumb li{display:flex;align-items:center;min-width:0;overflow-wrap:anywhere}.cert-breadcrumb li+li:before{content:'›';padding:0 9px;color:#97a4ae}.cert-breadcrumb a{color:#148c74;text-decoration:none}.cert-breadcrumb a:hover{text-decoration:underline}
@media(min-width:761px){.menu-collapsed .cert-project-context{display:none}.menu-collapsed .cert-project-subnav{margin:8px 0 0;padding:8px 0 0;border-left:0;border-top:1px solid #425563}.cert-app.menu-collapsed .rent-sidebar .cert-project-subnav a{padding:14px 0}}
.cert-action-menu{position:relative}.cert-action-options{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:250px;padding:6px;background:#fff;border:1px solid #dce3e8;border-radius:5px;box-shadow:0 8px 24px #24374620}
.cert-action-options[hidden]{display:none}.cert-action-options :is(a,button){display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;text-align:left;border:0;background:transparent;color:#43566a;font:inherit;text-decoration:none;white-space:nowrap;border-radius:3px;cursor:pointer}
.cert-action-options :is(a,button):is(:hover,:focus-visible){background:#e8f6f2;color:#148c74;outline:1px solid #bfe3d9}
.cert-app [data-autosave-status].cert-save-error{color:#b42318!important}.cert-app .editable-cell input[aria-invalid="true"]{box-shadow:inset 0 0 0 1px #c75344}
.cert-action-options button:disabled{color:#97a4ae;background:transparent;cursor:not-allowed;opacity:.65}
.cert-excel-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}
.cert-app .detail.cert-lines-table{min-width:1080px;table-layout:fixed}
.cert-app .cert-lines-table .cert-group-start{border-left:1px solid #dce3e8}
.cert-lines-table .cert-col-chapter{width:90px}.cert-lines-table .cert-col-code{width:86px}.cert-lines-table .cert-col-description{width:170px}.cert-lines-table .cert-col-unit{width:32px}.cert-lines-table .cert-col-kind{width:30px}.cert-lines-table .cert-col-quantity{width:55px}.cert-lines-table .cert-col-price{width:70px}.cert-lines-table .cert-col-contract{width:80px}.cert-lines-table .cert-col-previous{width:70px}.cert-lines-table .cert-col-percent{width:56px}.cert-lines-table .cert-col-current,.cert-lines-table .cert-col-origin,.cert-lines-table .cert-col-pending{width:80px}
.cert-app .cert-lines-table :is(th,td){padding:7px 6px;font-size:11px}
.cert-app .cert-lines-table thead th{white-space:normal!important}
.cert-app .cert-lines-table .cert-sort{font-size:10px!important;gap:3px;white-space:normal;line-height:1.3}
.cert-app .cert-lines-table .cert-sort .ti{font-size:10px}
.cert-app .cert-lines-table .description{min-width:0;max-width:none;overflow-wrap:anywhere;line-height:1.45}
.cert-app .cert-lines-table :is(.cert-line-chapter,.cert-line-code){overflow-wrap:anywhere;line-height:1.45}
.cert-app .cert-lines-table .pill{padding:2px 5px;font-size:10px}
.cert-app .cert-lines-table .editable-cell{padding:0 3px}
.cert-app .cert-lines-table .editable-cell input{width:100%;min-height:32px;padding:5px;font-size:11px}
.cert-certification-identity{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cert-certification-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.cert-app .cert-certification-title h2{margin:0}
.cert-app .cert-certification-header{padding:16px 20px}
.cert-app .cert-certification-header .cert-project-totals{margin-top:12px;padding-top:12px;gap:12px 16px;grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1100px){.cert-app .cert-certification-header .cert-project-totals{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.cert-app .cert-certification-header .cert-project-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cert-app .cert-certification-header .cert-project-totals dt{margin-bottom:3px}
.cert-app .cert-certification-header .btn{min-height:32px;padding:6px 10px}
.cert-app .cert-certification-owner{margin:0}
.cert-certification-identity>.btn{margin-left:auto}
.cert-app .cert-certifications-heading{justify-content:space-between}
@media(min-width:1101px){.cert-app [data-table-filters="cert-list"] .rent-search-row{display:grid;grid-template-columns:minmax(200px,1fr) repeat(2,minmax(130px,170px)) auto;gap:12px}.cert-app [data-table-filters="cert-list"] :is(.rent-search,.cert-filter-select){min-width:0}}
.cert-budget-source{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-bottom:20px}
.cert-app .cert-budget-source h3{margin:0 auto 0 0}
.cert-budget-source>.btn{flex-shrink:0;white-space:nowrap}
@media(max-width:760px){.cert-budget-source{flex-direction:column;align-items:stretch;gap:12px}.cert-budget-source>.btn{align-self:flex-end;white-space:normal}}
.cert-app .pc-heading{justify-content:space-between}
.cert-import-body{padding:24px}
.cert-import-steps{display:flex;justify-content:space-between;gap:16px;list-style:none;padding:0;margin:0 0 24px;color:#78828d;font-size:12px}
.cert-import-steps li{display:flex;align-items:center;gap:8px;line-height:1.4}
.cert-import-steps li>span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;background:#f0f2f4;border-radius:50%}
.cert-import-steps [aria-current]{color:#148c74;font-weight:600}.cert-import-steps [aria-current]>span{background:#e3f5ee;color:#148c74}
.cert-import-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;border:1px dashed #b9c9c4;border-radius:6px;background:#f8fbfa;text-align:center}
.cert-import-drop.is-dragging{background:#e3f5ee;border-color:#1ab394;outline:2px solid #1ab39440}
.cert-import-icon{font-size:32px;color:#1ab394}.cert-import-drop>strong{font-size:14px;color:#45505b}
.cert-import-drop .btn{margin:2px 0}.cert-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.cert-import-drop.has-file{padding:14px;gap:7px}.cert-import-drop.has-file>.cert-import-icon,.cert-import-drop.has-file>strong,.cert-import-drop.has-file>.hint:not(#budget-file-help){display:none}
.cert-import-file{display:flex;align-items:center;gap:12px;padding:14px;margin-top:14px;background:#edf8f3;border:1px solid #cbe9db;border-radius:5px}
.cert-import-file[hidden],.cert-import-error[hidden]{display:none}
.cert-file-type{background:white;border:1px solid #cbe9db;color:#148c74;border-radius:4px;padding:10px 7px;font-size:11px;font-weight:600}
.cert-import-file>div{min-width:0;flex:1}.cert-import-file strong{display:block;overflow-wrap:anywhere;font-size:13px}.cert-import-file .hint{display:block;margin-top:3px}
.cert-import-status{font-size:12px;color:#78828d;margin:12px 0 18px}.cert-import-error{font-size:12px;color:#b42332;margin:12px 0}
.cert-import-note{display:flex;gap:10px;padding:14px;background:#f5f7f9;border-radius:5px;color:#667580;font-size:12px;line-height:1.65}
.cert-import-note>.ti{font-size:18px;color:#148c74;margin-top:2px}.cert-import-note p{margin:0}
.cert-import-example{display:inline-flex;align-items:center;gap:7px;font-size:12px;margin-top:16px;text-decoration:none}
@media(max-width:760px){.cert-import-body{padding:20px 16px}.cert-import-steps{gap:8px;font-size:11px}.cert-import-steps li{flex-direction:column;align-items:flex-start;flex:1}.cert-import-file{flex-wrap:wrap}.cert-import-drop{padding:20px 12px}}
.cert-app .cert-create-dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0}
.cert-app .cert-create-dialog:not([open]){display:none}
.cert-app:has(.cert-create-dialog[open]){overflow:hidden}
.cert-create-dialog .rent-dialog-fields{padding:24px}
.cert-create-dialog .rent-dialog-footer{position:sticky;bottom:0;z-index:2}
.cert-create-dialog .rent-dialog-help{line-height:1.6}
.cert-app #project-list th:last-child,.cert-app #project-list tr[data-owner] td:last-child{text-align:right;white-space:nowrap}
@media(max-width:760px){.cert-app .cert-create-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.cert-create-dialog .rent-dialog-fields{padding:20px 16px}.cert-create-dialog .rent-dialog-footer{padding:14px 16px}.cert-create-dialog .rent-dialog-help{padding:0 16px}}
.cert-app .cert-project-header{padding:24px;margin-bottom:16px}
.cert-project-identity{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.cert-project-identity>div:first-child{min-width:0}.cert-project-identity h1{margin-bottom:0}
.cert-project-identity .rent-help{margin-bottom:5px}
.cert-current-cert{flex-shrink:0;text-align:right;line-height:1.7}
.cert-header-label{display:block;font-size:12px;color:#78828d;margin-bottom:5px}
.cert-current-cert>a{font-size:13px;text-decoration:none;margin-right:8px}
.cert-project-data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px;margin:22px 0 0}
.cert-project-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 24px;margin:20px 0 0;padding-top:18px;border-top:1px solid #e7eaec}
.cert-project-data>div,.cert-project-totals>div{min-width:0}
.cert-project-data dt,.cert-project-totals dt{font-size:11px!important;font-weight:400!important;color:#78828d;margin-bottom:6px;text-transform:uppercase;line-height:1.5}
.cert-project-data dd,.cert-project-totals dd{margin:0;overflow-wrap:anywhere;color:#45505b;font-size:13px;line-height:1.6}
.cert-project-totals dd{font-size:16px!important;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.cert-project-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.cert-project-data{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cert-project-identity{flex-direction:column;gap:16px}.cert-current-cert{text-align:left}.cert-project-data,.cert-project-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cert-app .cert-project-header{padding:16px}}
.cert-app .cert-project-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.cert-app .cert-project-actions{justify-content:flex-start}}
.cert-app{--cert-accent:#1ab394;--cert-line:#e7eaec;--cert-muted:#78828d;--cert-ink:#45505b}
.cert-app .rent-content{display:flex;flex-direction:column;min-height:calc(100vh - 64px)}
.cert-app .rent-main{flex:1;max-width:1900px;width:100%;margin:0 auto}
.cert-app .rent-footer{margin-top:auto}
.cert-app .rent-sidebar nav{position:static;height:auto;background:transparent;border:0;align-items:stretch}
.cert-app .profile{display:flex;align-items:center;gap:8px;margin:0}
.cert-app .profile label{margin:0}.cert-app .profile .form-select{width:104px;min-height:34px;padding:6px 30px 6px 10px}
.cert-app .profile .btn{white-space:nowrap;min-height:34px;padding:6px 10px}
.cert-app .project-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 20px}
.cert-app h1{line-height:1.4;color:#36434e;margin:0 0 7px;overflow-wrap:anywhere}
.cert-app h2{margin:0 0 18px;color:var(--cert-ink)}.cert-app h3{margin:20px 0 12px;color:var(--cert-ink)}
.cert-app .project-sub,.cert-app .hint{color:var(--cert-muted);font-size:12px;line-height:1.65}
.cert-app .back{display:inline-block;font-size:12px;margin:0 0 18px;text-decoration:none}
.cert-app .card{display:block;padding:24px;margin:0 0 20px;border-radius:5px;min-width:0}
.cert-app details.card>summary{font-weight:500;cursor:pointer;color:#148c74;list-style-position:inside}
.cert-app .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.cert-app .toolbar h2{margin:0}.cert-app .below{margin-top:18px}
.cert-app .module-nav{position:static;height:auto;display:flex;gap:0;max-width:100%;overflow-x:auto;margin:12px 0 20px;padding:0;background:white;border-bottom:1px solid #dce3e9;border-radius:4px 4px 0 0}
.cert-app .module-nav .tab{display:inline-flex;align-items:center;white-space:nowrap;padding:14px 18px;line-height:20px;border-bottom:1px solid transparent;font-size:13px;font-weight:400;color:#526575;text-decoration:none}
.cert-app .module-nav .tab.active{color:#148c74;border-bottom-color:#1ab394}
.cert-app .module-nav .tab:hover{color:#148c74}
.cert-app .grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin:0 0 20px}
.cert-app .kpi{padding:18px 20px;background:white;border:1px solid var(--cert-line);border-radius:5px;min-width:0}
.cert-app .kpi .label{font-size:11px;font-weight:400;text-transform:uppercase;color:var(--cert-muted);line-height:1.5}
.cert-app .kpi .value{font-size:18px;font-weight:500;line-height:1.5;margin-top:7px;color:#36434e;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.cert-app .kpi .sub{font-size:12px;color:var(--cert-muted);margin-top:4px}
.cert-app .meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}
.cert-app .stack{display:grid;gap:18px;margin-top:20px;max-width:1150px}.cert-app .stack>.btn{justify-self:start}
.cert-app .field{min-width:0}.cert-app .field label{display:block;margin-bottom:7px;font-size:12px;color:var(--cert-ink)}
.cert-app .field :is(input,select,textarea){width:100%;padding:8px 12px;min-height:38px;line-height:1.5;border:1px solid #d2d9e2;border-radius:5px;background:white;color:var(--cert-ink)}
.cert-app .field textarea{display:block;min-height:78px}.cert-app .field input[type=file]{padding:7px;font-size:12px}
.cert-app .field label>input,.cert-app .field label>textarea{margin-top:7px}
.cert-app .field :is(input,select,textarea):focus{border-color:#1ab394;box-shadow:0 0 0 .18rem #1ab39424;outline:0}
.cert-app .inline{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.cert-app .table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--cert-line);border-radius:0;scrollbar-width:thin}
.cert-app table{width:100%;border-collapse:collapse;margin:0}.cert-app .compact{min-width:760px}.cert-app .detail{min-width:1400px}
.cert-app th{background:#f6f8f9;color:#5b6570;padding:12px;font-size:11px;font-weight:600;text-align:left;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #dfe4e8}
.cert-app td{padding:12px;font-size:12px;vertical-align:middle;border-bottom:1px solid var(--cert-line);color:var(--cert-ink)}
.cert-app tbody tr:hover>td{background:#f8fbfa}.cert-app tfoot th{background:#f6f8f9;color:#45505b}
.cert-app .num{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.cert-app .description{min-width:210px;max-width:340px;white-space:normal;overflow-wrap:anywhere}
.cert-app .editable-cell{background:#fffbeb;padding:0 4px}.cert-app .editable-cell input{width:95px;min-height:38px;padding:8px;border:1px solid transparent;background:transparent;text-align:right;color:#148c74;border-radius:3px}
.cert-app .editable-cell input[readonly]{background:#f6f8f9;color:#687581}.cert-app .editable-cell input:focus{border-color:#1ab394;background:white;outline:0}
.cert-app .notice{padding:12px 16px;margin-bottom:20px;border:1px solid #ece4cb;border-radius:5px;background:#fffaf0;color:#80683b;line-height:1.6}
.cert-app .notice.ok{background:#edf8f3;border-color:#cbe9db;color:#276749}.cert-app .notice.bad{background:#fceef0;border-color:#f0c7cf;color:#b42332}
.cert-app .pill{display:inline-block;padding:3px 8px;border-radius:4px;background:#edf0f2;color:#58616b;white-space:nowrap;font-size:12px;font-weight:400}
.cert-app .pill[data-state=BORRADOR]{background:#fff7d6;color:#806000}
.cert-app .pill[data-state=APROBADA]{background:#e6f5ec;color:#1f6a42}
.cert-app .pill[data-state=FACTURADA]{background:#f0ebf7;color:#66518e}
.cert-app .pill[data-state=REALIZADA],.cert-app .pill[data-state="PDTE. APROBACIÓN"]{background:#e7f0fb;color:#1d5e9b}
.cert-app .pill[data-state=RECHAZADA],.cert-app .pill[data-state=ANULADA]{background:#fdebed;color:#b42332}
.cert-app .process-line{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.cert-app .process-node{padding:7px 10px;border-radius:4px;background:#f6f8f9;color:#78828d;font-size:11px}
.cert-app .process-node.current{background:#e2f6ef;color:#148c74}
.cert-app .event{padding:14px 0;border-bottom:1px solid var(--cert-line)}.cert-app .event summary,.cert-app details>summary{cursor:pointer;color:#148c74}
.cert-app .pc-item{padding:18px 0;border-top:1px solid var(--cert-line)}.cert-app .pc-item h3{margin-top:0}
.cert-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.cert-app .btn:disabled{opacity:.5;cursor:not-allowed}
.cert-app .cert-list-toolbar{padding:18px 0;margin:0;border-bottom:0}.cert-app .cert-list-toolbar .rent-search-row{flex-wrap:wrap;align-items:end;justify-content:flex-start;gap:14px}
.cert-app .cert-list-toolbar .rent-search{flex:1 1 300px}.cert-app .cert-filter-select{flex:0 1 210px;min-width:140px}
.cert-app .cert-list-toolbar .btn{min-height:38px}.cert-app .rent-pagination{padding:14px 0 0;border:0;font-size:12px!important}
.cert-app .cert-sort{border:0;background:transparent;color:inherit;display:inline-flex;gap:8px;align-items:center;padding:0;text-align:inherit;font-size:11px!important;font-weight:600;text-transform:uppercase;cursor:pointer}
.cert-app .cert-sort .ti{font-size:13px;color:#99a4ac}.cert-app .num .cert-sort{justify-content:end;width:100%}
.cert-app .cert-state-filter{display:flex;gap:0;overflow:auto;border-bottom:1px solid #dce3e9;margin:0 0 8px;background:white}
.cert-app .cert-state-filter button{padding:12px 16px;border:0;border-bottom:1px solid transparent;white-space:nowrap;background:transparent;color:#526575;font-size:12px}
.cert-app .cert-state-filter button.active{color:#148c74;border-bottom-color:#1ab394}.cert-app .cert-state-filter button:focus-visible{outline-offset:-3px}
.cert-app .cert-empty td{padding:28px;text-align:center;color:#78828d}.cert-app .filter-note{font-size:12px;color:#78828d;margin:10px 0 0}
.cert-app #presupuesto,.cert-app #trazabilidad,.cert-app #nuevo-proyecto{scroll-margin-top:84px}
.cert-app .rent-page-navigation span{font-size:12px}.cert-app .rent-main form{margin-bottom:0}
.cert-app .rent-brand{font-size:23px!important}.cert-app .rent-sidebar nav a{font-size:13px!important}
.cert-app .flatpickr-calendar{z-index:1100}
@media(max-width:1100px){.cert-app .meta{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-app .rent-topbar-title{font-size:12px}}
@media(max-width:760px){.cert-app .card{padding:16px}.cert-app .profile{gap:5px}.cert-app .profile label{display:none}.cert-app .profile .btn{padding:6px 8px;font-size:12px!important}.cert-app .profile .form-select{width:89px;padding-left:7px}.cert-app .rent-topbar{gap:9px}.cert-app .rent-topbar-title{max-width:125px;line-height:1.35}.cert-app .rent-topbar-actions{margin-left:auto}.cert-app .grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cert-app .kpi{padding:14px}.cert-app .kpi .value{font-size:16px}.cert-app .meta{grid-template-columns:minmax(0,1fr)}.cert-app .project-head{align-items:start;flex-direction:column;gap:12px}.cert-app .cert-filter-select{flex:1 1 140px}.cert-app .rent-footer{flex-wrap:wrap}.cert-app .module-nav .tab{padding:12px 14px}.cert-app .rent-menu-toggle{flex-shrink:0}}
.cert-app .cert-documents-table{table-layout:fixed}.cert-app .cert-documents-table :is(th,td){overflow-wrap:anywhere;white-space:normal;padding:12px 8px;font-size:12px}.cert-documents-table th:nth-child(1){width:23%}.cert-documents-table th:nth-child(2){width:23%}.cert-documents-table th:nth-child(3){width:13%}.cert-documents-table th:nth-child(4){width:16%}.cert-documents-table th:nth-child(5){width:14%}.cert-documents-table th:nth-child(6){width:11%}.cert-app .cert-documents-table .btn{padding:8px;font-size:12px}

/* Encabezados estándar de Inmuebles; partidas compactas. */
.cert-app table:not(.cert-lines-table) thead th,.cert-app table:not(.cert-lines-table) thead .cert-sort{font-size:11px!important;font-weight:600}
.cert-app .cert-lines-table .cert-sort{font-size:10px!important}

/* Acción de documentos sin contador duplicado; entrada de avance claramente identificada. */

.cert-app .cert-lines-table :is(.cert-entry-heading,.cert-execution-heading){background:#14846e;color:#fff;border-top:2px solid #0f6958}
.cert-app .cert-entry-heading .cert-sort .ti{color:#d5f2ea}
.cert-app .cert-lines-table :is(.cert-entry-cell,.cert-execution-cell){background:#e6f6ef;box-shadow:none;border-left:1px solid #a2d8c5;border-right:1px solid #a2d8c5}
.cert-app .cert-entry-cell input{background:#fff;border:1px solid #70bca2;color:#126b53;font-weight:600;min-height:32px;cursor:text}
.cert-app .cert-entry-cell input:hover{border-color:#14846e}.cert-app .cert-entry-cell input:focus{border:2px solid #14846e;background:#fff;box-shadow:0 0 0 3px #14846e24;outline:0}
.cert-app .cert-entry-cell input[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 2px #b4231826}
.cert-app .cert-lines-table .editable-cell:has(input[readonly]){background:#f6f8f9}

/* Comparación económica entre certificaciones, calculada desde cada fotografía. */
.cert-app .cert-comparison-table{min-width:1080px;table-layout:fixed}
.cert-comparison-table col.cert-list-number{width:65px}.cert-comparison-table col.cert-list-date{width:92px}.cert-comparison-table col.cert-list-state{width:125px}.cert-comparison-table col.cert-list-money{width:99px}.cert-comparison-table col.cert-list-invoice{width:68px}.cert-comparison-table col.cert-list-eye{width:60px}
.cert-app .cert-comparison-table :is(th,td){padding:12px 6px}.cert-app .cert-comparison-table thead :is(th,.cert-sort){white-space:normal;line-height:1.4}
.cert-app .cert-comparison-table .cert-money-start{border-left:1px solid #dce3e8}
.cert-app .cert-comparison-table .cert-money-total{font-weight:600;background:#f7f9fa}
.cert-app .cert-comparison-table .cert-money-current{font-weight:600;color:#126b53;background:#edf8f3}
.cert-app .cert-comparison-table .cert-money-pending{background:#fffaf0}
.cert-app .cert-comparison-table .cert-list-access{text-align:center}

.cert-app .cert-comparison-table .cert-sort{flex-wrap:wrap;gap:4px}.cert-app .cert-comparison-table .cert-sort .ti{font-size:10px}.cert-app .cert-comparison-table td:not(.num){overflow-wrap:anywhere}

.cert-create-dialog .pc-entry-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.pc-entry-fields [data-pc-amount]{background:#edf8f3;color:#126b53;font-weight:600;cursor:default}.pc-entry-fields .hint{display:block;margin-top:6px}@media(max-width:760px){.cert-create-dialog .pc-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cert-app .cert-projects-table{min-width:1080px;table-layout:fixed}.cert-projects-table .project-col-service{width:100px}.cert-projects-table .project-col-name{width:180px}.cert-projects-table .project-col-owner{width:130px}.cert-projects-table .project-col-count{width:100px}.cert-projects-table .project-col-money{width:115px}.cert-projects-table .project-col-percent{width:90px}.cert-projects-table .project-col-access{width:65px}
.cert-app .cert-projects-table :is(th,td){padding:12px 8px}.cert-app .cert-projects-table thead :is(th,.cert-sort){white-space:normal;line-height:1.4}.cert-app .cert-projects-table .cert-sort{flex-wrap:wrap;gap:4px}.cert-app .cert-projects-table td:not(.num){overflow-wrap:anywhere}
.cert-app .cert-projects-table .project-financial-start{border-left:1px solid #dce3e8}.cert-app .cert-projects-table .project-certified{background:#edf8f3;color:#126b53;font-weight:600}

/* Resumen de Dirección: indicadores, seguimiento y detalle sin duplicar cabeceras. */
.cert-overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 0;border-top:1px solid #e7eaec;padding-top:20px}.cert-overview-metrics>div{padding:16px;background:#f7f9fa;border:1px solid #e7eaec;border-radius:4px;min-width:0}.cert-overview-metrics .overview-certified{background:#edf8f3;border-color:#bfe3d5}
.cert-overview-metrics dt,.overview-follow dt{font-size:11px;color:#657582;font-weight:400;text-transform:uppercase;line-height:1.5}.cert-overview-metrics dd{margin:8px 0;font-size:21px;color:#344858;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cert-overview-metrics .overview-certified dd{color:#14846e;font-weight:600}
.cert-overview-metrics small,.overview-follow small{display:block;font-size:11px;color:#78828d;line-height:1.6}.cert-overview-metrics progress,.overview-chapter-progress progress{display:block;width:100%;height:7px;margin:10px 0;accent-color:#1ab394;border:0;border-radius:6px;overflow:hidden}.cert-overview-metrics progress::-webkit-progress-bar,.overview-chapter-progress progress::-webkit-progress-bar{background:#e5ece9}.cert-overview-metrics progress::-webkit-progress-value,.overview-chapter-progress progress::-webkit-progress-value{background:#1ab394}
.overview-follow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0 0}.overview-follow>div{padding:14px;border:1px solid #e7eaec;border-radius:4px}.overview-follow dd{font-size:18px;color:#344858;margin:6px 0;font-variant-numeric:tabular-nums}.overview-follow .overview-attention{background:#fffaf0;border-color:#eee4ca}
.overview-secondary{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:20px;align-items:stretch}.cert-app .overview-secondary>.card{margin-bottom:20px}.overview-table{min-width:300px}.overview-evolution{min-width:660px}.cert-app .overview-table th,.cert-app .overview-chapters th{white-space:normal}.cert-app .overview-table :is(th,td){padding:10px 8px}.overview-note{margin:12px 0 0;font-size:11px}.overview-chapter-progress{min-width:120px}.overview-chapter-progress progress{margin:6px 0 0}.cert-project-data .pill{font-size:10px;margin-left:4px}
@media(max-width:1100px){.cert-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-secondary{grid-template-columns:1fr}.overview-follow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.overview-follow,.cert-overview-metrics{grid-template-columns:1fr}.cert-overview-metrics dd{font-size:20px}}

.cert-app .cert-overview-metrics dd{font-size:21px!important;font-weight:600!important}.cert-app .overview-follow dd{font-size:18px!important}
@media(min-width:1101px){.cert-project-header>.cert-project-data{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
@media(max-width:1400px){.overview-secondary{grid-template-columns:1fr}}

/* Documentos: filtros y adjunto comparten fila, sin una franja vacía superior. */
.cert-app #documentos .cert-list-toolbar{padding-top:0}
.cert-app #documentos .rent-search-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,170px) auto auto;gap:12px}
.cert-app #documentos .rent-search-row:not(:has([data-open-dialog])){grid-template-columns:minmax(160px,1fr) minmax(130px,170px) auto}
.cert-app #documentos :is(.rent-search,.cert-filter-select){min-width:0}
@media(max-width:760px){.cert-app #documentos .rent-search-row,.cert-app #documentos .rent-search-row:not(:has([data-open-dialog])){grid-template-columns:minmax(0,1fr) auto}.cert-app #documentos .rent-search{grid-column:1/-1}.cert-app #documentos [data-open-dialog]{grid-column:1/-1;justify-self:end}}

.pc-row-actions{display:flex;align-items:center;gap:6px}.cert-app .cert-pc-table .description{min-width:200px;max-width:420px}.cert-app .cert-pc-table th{white-space:normal}.cert-create-dialog [data-approval-field][hidden],.cert-create-dialog [data-rejection-field][hidden]{display:none!important}

.pc-resolution-dialog .rent-dialog-fields{padding-bottom:4px}.pc-resolution-dialog .cert-import-body{padding-top:0}.pc-resolution-dialog .cert-import-drop{min-height:0;padding:14px 16px}.pc-resolution-dialog .cert-document-name{margin-top:8px}

/* Cabecera de presupuesto: importes alineados y total contratado destacado. */
.cert-budget-title{display:flex;flex-direction:column;gap:4px}.cert-budget-title h2{margin:0}.cert-budget-title .hint{font-size:12px}.cert-app .cert-budget-source{align-items:center}
.cert-app .cert-budget-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 20px;padding:0 0 20px}.cert-budget-metrics>div{padding:16px 18px;background:#f7f9fa;border:1px solid #e7eaec;border-radius:4px;min-width:0}.cert-app .cert-budget-metrics dt{font-size:11px!important;text-transform:uppercase;color:#657582;line-height:1.5;margin:0 0 8px}.cert-app .cert-budget-metrics dd{font-size:19px!important;font-weight:600;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cert-budget-metrics .cert-budget-grand-total{background:#edf8f3;border-color:#bfe3d5}.cert-app .cert-budget-grand-total dd{color:#14846e}
@media(max-width:650px){.cert-app .cert-budget-metrics{grid-template-columns:1fr;gap:10px}.cert-budget-metrics>div{padding:12px 14px}}

/* Totales legibles: no heredar el cuerpo pequeño de los encabezados. */
.cert-app table tfoot :is(th,td){font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:700!important;line-height:1.5;background:#eef4f1;color:#344858;border-top:2px solid #c9dcd3}
.cert-app .cert-lines-table tfoot :is(th,td){font-size:12px!important}
.cert-app .cert-budget-title{margin-right:auto;text-align:left}

.cert-account-label{font-size:12px;color:#526574}.cert-login-page{font-family:Arial,Helvetica,sans-serif;background:#f2f4f6;min-height:100vh;display:grid;place-items:center;padding:24px;color:#43566a}.cert-login-card{background:#fff;border:1px solid #e0e5e9;border-radius:6px;padding:36px;width:min(420px,100%);box-shadow:0 8px 24px #2437460c}.cert-login-brand{font-size:27px;font-weight:800;color:#293b49;margin-bottom:18px}.cert-login-card h1{font-size:21px;margin:0 0 12px}.cert-login-card p{font-size:13px;line-height:1.6}.cert-login-card .field{margin:18px 0}.cert-login-card label{display:block;margin-bottom:7px;font-size:13px}.cert-login-card input{width:100%;padding:11px 12px;border:1px solid #cfd9e2;border-radius:4px;background:#fff}.cert-login-card input:focus{outline:2px solid #1ab39455;border-color:#1ab394}.cert-login-card .btn-primary{background:#1ab394;border-color:#1ab394;width:100%;padding:11px}.cert-login-card .bad{color:#b42318;background:#fff0ef;border:1px solid #efc5c0;border-radius:4px;padding:12px;font-size:13px}.cert-login-help{color:#78828d;margin:20px 0 0}

.cert-app .cert-rounding-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px 16px;padding:16px;background:#f7faf9;border:1px solid #dbe8e1;border-radius:4px;margin:0 0 10px}.cert-rounding-form label{display:block;margin:0 0 7px}.cert-rounding-form input{width:190px;padding:9px 12px;border:1px solid #c9d8d0;border-radius:4px;background:#fff;text-align:right}.cert-rounding-form input:focus{outline:2px solid #1ab39455;border-color:#1ab394}.cert-rounding-form>p{flex:0 0 100%;margin:0}.cert-rounding-formula{margin:0 0 22px;line-height:1.7;overflow-wrap:anywhere}@media(max-width:600px){.cert-rounding-form>div,.cert-rounding-form input,.cert-rounding-form>.btn{width:100%}}

/* El exceso de ejecución se admite y se distingue del error de validación. */
.cert-lines-table tr.cert-overrun > td,.cert-lines-table tr.cert-overrun .editable-cell input{color:#b42318!important}.cert-lines-table tr.cert-overrun > td.num,.cert-lines-table tr.cert-overrun > td.editable-cell{background-color:#fff1f0!important}.cert-overrun-label{display:block;font-size:10px;font-weight:600;color:#b42318}.cert-overrun-label[hidden]{display:none}

/* Capítulos como bandas antes del desglose, sin repetir columna en cada partida. */
.cert-app table tbody .cert-chapter-row>td{background:#e1e8ef!important;color:#34495e;font-size:12px;font-weight:600;padding:9px 10px;border-top:1px solid #cbd5df;border-bottom:1px solid #cbd5df;white-space:normal}.cert-app table tbody .cert-chapter-row>td.num{white-space:nowrap}.cert-app .cert-lines-table[data-chapter-groups]{min-width:1180px}.cert-app [data-chapter-groups] .cert-chapter-row[hidden]{display:none}
