:root{--amg-ink:#17243d;--amg-muted:#62708a;--amg-blue:#175ddc;--amg-sky:#eaf2ff;--amg-bg:#f5f7fb;--amg-border:#e4eaf2;--amg-radius:14px;--amg-shadow:0 5px 24px rgba(25,45,88,.06)}
html,body{font-family:Inter,'Open Sans',Arial,sans-serif;color:var(--amg-ink);background:var(--amg-bg)}
body .content-body{background:var(--amg-bg);min-height:100vh;padding:26px 28px 60px}
body .page-header{background:transparent;border:0;box-shadow:none;margin:0 0 20px;padding:0;min-height:auto}
body .page-header h2{color:var(--amg-ink);font-size:1.55rem;font-weight:700;letter-spacing:-.025em;border:0;padding:0}
body .page-header .breadcrumbs{background:transparent;color:var(--amg-muted)}
body .sidebar-left{background:#102340;border-right:1px solid #1e3657;box-shadow:4px 0 20px rgba(16,35,64,.08)}
body .sidebar-left .nav-main>li>a,body .sidebar-left .nav-main li a{border-radius:9px;margin:2px 9px;color:#c6d4eb;transition:background .18s,color .18s}
body .sidebar-left .nav-main li a:hover,body .sidebar-left .nav-main li.nav-active>a{background:#1f4a85;color:#fff!important;box-shadow:none!important}
body .sidebar-left .nav-main li a i{color:inherit;opacity:.9}
body .header{background:#fff;border-bottom:1px solid var(--amg-border);box-shadow:0 2px 15px rgba(22,42,76,.035)}
body .card,body .panel,body .widget-summary{background:#fff;border:1px solid var(--amg-border);border-radius:var(--amg-radius);box-shadow:var(--amg-shadow)}
body .card-header,body .panel-heading{background:#fff;border:0;border-bottom:1px solid var(--amg-border);border-radius:var(--amg-radius) var(--amg-radius) 0 0;padding:18px 21px}
body .card-body,body .panel-body{padding:20px 22px}
body .card-title,body .panel-title{color:var(--amg-ink);font-weight:700}
body .table{color:var(--amg-ink);background:#fff}
body .table thead th{background:#f7f9fd;border-bottom:1px solid var(--amg-border);color:#51617b;font-size:.76rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase;vertical-align:middle;padding:12px}
body .table td{border-top:1px solid #edf1f6;vertical-align:middle;padding:11px 12px}
body .table tbody tr:hover{background:#f8fbff}
body .form-control,body .el-input__inner,body .el-textarea__inner,body .select2-container--default .select2-selection--single{border:1px solid #d6dfed;border-radius:9px;box-shadow:none;min-height:39px;color:var(--amg-ink)}
body .form-control:focus,body .el-input__inner:focus,body .el-textarea__inner:focus{border-color:var(--amg-blue);box-shadow:0 0 0 3px rgba(23,93,220,.11)}
body label{color:#384963;font-weight:600}
body .btn,body .el-button{border-radius:9px;font-weight:600;transition:transform .16s,box-shadow .16s,background .16s}
body .btn:hover,body .el-button:hover{transform:translateY(-1px)}
body .btn-primary,body .el-button--primary{background:#175ddc;border-color:#175ddc;color:#fff}
body .btn-primary:hover,body .el-button--primary:hover{background:#124fbd;border-color:#124fbd;box-shadow:0 5px 12px rgba(23,93,220,.18)}
body .badge,body .label{border-radius:99px;padding:.35em .65em;font-weight:700}
body .alert{border-radius:10px;border-width:1px}
body .pagination .page-link{color:var(--amg-blue);border-color:var(--amg-border)}
body .modal-content{border:0;border-radius:16px;box-shadow:0 20px 60px rgba(13,33,67,.18)}
body .modal-header,body .modal-footer{border-color:var(--amg-border)}
.amg-integrations h3{font-size:1.16rem;font-weight:700;margin:0 0 10px}.amg-integrations h4{font-size:1rem;font-weight:700}.amg-integrations p{color:var(--amg-muted);line-height:1.55}.amg-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.amg-integrations .card{margin-bottom:20px}
@media(max-width:767px){body .content-body{padding:18px 14px 45px}body .page-header h2{font-size:1.3rem}body .card-body,body .panel-body{padding:16px}body .table-responsive{border:0}body .sidebar-left{box-shadow:4px 0 25px rgba(16,35,64,.16)}.amg-section-title{flex-direction:column}}
/* Central access and company selector */
.portal{background:#edf3fc}.portal-image{background:linear-gradient(145deg,rgba(8,32,70,.94),rgba(12,72,145,.80)),url('/images/fondo-5.svg') center/cover no-repeat}.portal-image-content h1{letter-spacing:-.035em;line-height:1.1}.portal-login{box-shadow:-15px 0 60px rgba(5,27,65,.10)}.login-box .welcome{color:var(--amg-ink);font-weight:750;letter-spacing:-.025em}.login-box .subtitle{color:var(--amg-muted)}.login-box .field input{border-radius:10px;border-color:#d6dfed}.login-box .field input:focus{border-color:var(--amg-blue);box-shadow:0 0 0 3px rgba(23,93,220,.13)}.login-box .btn-login{background:var(--amg-blue);border-radius:10px;box-shadow:0 8px 20px rgba(23,93,220,.18)}.login-box .btn-login:hover{background:#124fbd}.wrap{background:radial-gradient(circle at 20% 10%,#e4efff,transparent 32%),#f4f7fc}.wrap>.card{border:1px solid var(--amg-border);border-radius:20px;box-shadow:0 24px 65px rgba(20,44,84,.10)}.wrap .company{border-color:var(--amg-border);border-radius:12px;transition:border .18s,box-shadow .18s,transform .18s}.wrap .company:hover{border-color:#a8c4f4;box-shadow:0 8px 24px rgba(23,93,220,.08);transform:translateY(-1px)}.wrap .btn{background:var(--amg-blue);border-radius:9px}.wrap .btn:hover{background:#124fbd}.wrap .subtitle{color:var(--amg-muted)}
@media(max-width:767px){.portal-image{min-height:220px}.portal-login{box-shadow:none}.wrap>.card{padding:25px 18px}}
.amg-module-choice{display:flex;align-items:center;gap:10px;background:#f9fbff;border:1px solid var(--amg-border);border-radius:10px;margin:6px 0;padding:13px 15px;width:100%;cursor:pointer}.amg-module-choice:hover{border-color:#a8c4f4}.amg-module-choice input{width:18px;height:18px;accent-color:var(--amg-blue)}
/* Admin and tenant authentication */
.body-sign{min-height:100vh;background:radial-gradient(circle at 15% 15%,#e7f0ff,transparent 36%),#f5f7fb;display:flex;align-items:center;justify-content:center}.body-sign .center-sign{width:min(440px,calc(100% - 32px));padding:22px 0}.amg-admin-login{background:#fff;border:1px solid var(--amg-border);border-radius:20px;overflow:hidden;box-shadow:0 24px 65px rgba(20,44,84,.10)}.amg-admin-login .card-header{display:block;border:0;padding:30px 32px 6px;text-align:left}.amg-admin-login-logo{display:block;width:200px;height:62px;object-fit:contain;object-position:left center;margin-bottom:15px}.amg-admin-login h1{font-size:1.35rem;font-weight:750;letter-spacing:-.03em;color:var(--amg-ink);margin:0 0 5px}.amg-admin-login p{color:var(--amg-muted);margin:0}.amg-admin-login .card-body{padding:20px 32px 30px}.amg-admin-login .btn-primary{width:100%;min-height:42px}.amg-admin-login .form-control{min-height:43px}.auth{background:#f5f7fb}.auth__form{box-shadow:-10px 0 35px rgba(20,44,84,.08);padding:clamp(24px,4vw,64px)}.auth__title{color:var(--amg-ink);font-weight:750;letter-spacing:-.02em;text-transform:none}.auth__form .form-control{min-height:46px}.auth__form .btn-signin{background:var(--amg-blue);color:#fff;min-height:45px;border-radius:10px}.auth__form .btn-signin:hover{background:#124fbd;color:#fff}.auth__social a{background:var(--amg-blue)}.auth__social a:hover{background:#124fbd}
/* Dashboard hierarchy */
.amg-kpi-row{margin-bottom:18px}.amg-kpi-row>div{margin-bottom:12px}.amg-kpi-row .card-dashboard{height:100%;min-height:122px;margin:0}.amg-kpi-row .card-dashboard .card-body{height:100%;border:0!important;padding:18px 16px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left}.amg-kpi-row .card-title{font-size:.76rem;line-height:1.32;text-transform:uppercase;letter-spacing:.035em;color:var(--amg-muted);margin:0}.amg-kpi-row .card-body>span{font-size:1.34rem;letter-spacing:-.02em;color:var(--amg-ink);line-height:1.15}.amg-kpi-row>div:first-child .card-dashboard{border-top:3px solid var(--amg-blue)}.card-dashboard{overflow:hidden}.card-dashboard .widget-summary{border:0;box-shadow:none}
@media(max-width:767px){.amg-kpi-row .card-dashboard{min-height:110px}.amg-kpi-row .card-body>span{font-size:1.16rem}}

/* Fase 3.1: predictable KPI cards across tenant skins. */
body .amg-kpi-row{display:flex;align-items:stretch;margin:0 -6px 18px}
body .amg-kpi-row>div{padding:0 6px;margin:0 0 12px;min-width:0}
body .amg-kpi-row .card.card-dashboard{display:block;height:100%;min-height:120px;border:1px solid var(--amg-border)!important;border-top:3px solid var(--amg-blue)!important;border-radius:12px!important;box-shadow:var(--amg-shadow)!important;background:#fff!important}
body .amg-kpi-row .card.card-dashboard .card-body{height:100%;min-height:116px;padding:15px 17px!important;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
body .amg-kpi-row .card-title{font-size:.78rem;line-height:1.35;font-weight:700;min-height:2.7em}
body .amg-kpi-row .card-body>span{font-size:1.3rem;font-weight:750;white-space:nowrap}

/* Wide tables keep every column reachable without shrinking type. */
.amg-table-navigation{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--amg-muted);font-size:.8rem;margin:2px 0 8px}
.amg-table-navigation button{width:32px;height:30px;border:1px solid #cbd9ef;border-radius:8px;background:#fff;color:var(--amg-blue);font-size:1.3rem;line-height:1;cursor:pointer}
.amg-table-navigation button:hover:not(:disabled){background:var(--amg-sky)}
.amg-table-navigation button:disabled{opacity:.42;cursor:default}
.amg-table-overflow{overflow-x:auto!important;overflow-y:hidden;scrollbar-width:auto;scrollbar-color:#aabbd7 #edf2fa}
.amg-table-overflow table{min-width:max-content}
.amg-table-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:190px;white-space:normal;line-height:1.4;word-break:normal}
.amg-status-note{border:1px solid #dce7f8;background:#f2f7ff;border-radius:10px;padding:12px 14px;margin:0 0 18px;color:#324966}
.amg-status-note .badge{margin-left:8px;vertical-align:middle}
.amg-status-note p{margin:7px 0 0!important}
.amg-integrations .amg-result-summary{max-width:290px;line-height:1.4}
.amg-dashboard-company{display:block;color:var(--amg-muted);line-height:1.35;max-width:100%;white-space:normal}
html.dashboard-system.sidebar-light .sidebar-left .nav-main li a{color:#536987}
html.dashboard-system.sidebar-light .sidebar-left .nav-main li.nav-active>a{color:#175ddc!important}
body .card-reports .card-report-links{list-style:none;padding-left:0;margin-bottom:0}
body .card-reports .card-report-links li{margin:0}
body .card-reports .card-report-links a{display:block;padding:6px 8px;border-radius:7px;color:#38506e}
body .card-reports .card-report-links a:hover{background:#edf4ff;color:var(--amg-blue);text-decoration:none}

@media(max-width:767px){
  body .content-body .page-header{position:relative!important;top:auto!important;width:auto!important;display:block!important;padding:0!important;margin:0 0 14px!important}
  body .content-body .page-header h2{padding:0!important;margin:0}
  body .page-header h2{white-space:normal!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2}
  body .page-header{min-height:42px}
  body .amg-kpi-row .card.card-dashboard{min-height:105px}
  body .amg-kpi-row .card.card-dashboard .card-body{min-height:101px;padding:13px!important}
  body .amg-kpi-row .card-title{font-size:.72rem;min-height:2.7em}
  body .amg-kpi-row .card-body>span{font-size:1.05rem}
  body .style-switcher{display:none!important}
  .amg-table-navigation{justify-content:space-between}
  .amg-table-name{max-width:150px}
}

/* Keep dates and payment details legible while reviewing older documents. */
div[is_contingency] .el-date-editor.el-input .el-input__inner{padding-left:27px;padding-right:3px;font-size:12px}
div[is_contingency] .table-responsive:has(> table > thead > tr > th > .fa-info-circle){overflow-x:auto;scrollbar-width:auto}
div[is_contingency] .table-responsive:has(> table > thead > tr > th > .fa-info-circle) th,
div[is_contingency] .table-responsive:has(> table > thead > tr > th > .fa-info-circle) td{padding:7px 3px}
div[is_contingency] .table-responsive:has(> table > thead > tr > th > .fa-info-circle) .el-input__inner{padding-left:6px;padding-right:6px;font-size:11px}

/* Bring the remaining report and Admin cards in line with the shared palette. */
body .card:not(.card-horizontal)>.card-header.bg-info{background:#fff!important;color:var(--amg-ink)!important;border-bottom:1px solid var(--amg-border)!important}
body .card:not(.card-horizontal)>.card-header.bg-info h3{color:var(--amg-ink)!important;font-size:1.15rem;font-weight:700}
html.dashboard-system .card-horizontal>.card-header{width:92px;background:#edf4ff!important;display:flex;align-items:center;justify-content:center}
html.dashboard-system .card-horizontal .card-header-icon{background:#dceaff;color:var(--amg-blue);width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center}
html.dashboard-system .card-horizontal .card-header-icon i{color:var(--amg-blue)}
html.dashboard-system .card-featured-left{border-left:3px solid var(--amg-blue)}
html.dashboard-system .card-featured-left .card-body{padding:16px}
html.dashboard-system .card-featured-left .widget-summary-col-icon{width:65px}
html.dashboard-system .card-featured-left .progress1{transform:scale(.78);transform-origin:center}
html.dashboard-system .card-featured-left .summary-icon{width:55px;height:55px;line-height:55px}
html.dashboard-system .card-featured-left .widget-summary-col{min-width:0}
html.dashboard-system .card-featured-left .summary .amount{font-size:.95rem;line-height:1.2}
html.dashboard-system .card-featured-left .summary-footer{white-space:normal;font-size:.69rem}
@media(max-width:767px){
  body .content-body .page-header{height:auto!important;min-height:0!important;margin-bottom:12px!important}
  body .page-header h2{float:none!important;display:block!important;height:auto!important;min-height:0!important;padding:0!important;margin:0 0 3px!important;line-height:1.2}
  body .page-header .amg-dashboard-company{clear:both;display:block;margin-top:0;font-size:.75rem;line-height:1.35}
  body .header #userbox .profile-info{display:none!important}
  body .header #userbox{margin-left:0;min-width:34px;width:34px;transform:translateX(-12px)}
  body .header #userbox>a{display:flex;align-items:center;justify-content:center;width:34px;height:40px}
  body .header #userbox .profile-picture{display:block!important;margin:0;width:25px;height:25px}
}
