/* Gestión Contractual V65 - Interfaz consolidada */
:root{
 --gc-primary:#1f4e79;--gc-primary-dark:#173b5d;--gc-bg:#f5f7fb;--gc-card:#fff;
 --gc-text:#172033;--gc-muted:#64748b;--gc-line:#e3e8ef;--gc-soft:#eef3f8;
 --gc-ok:#166534;--gc-okbg:#dcfce7;--gc-warn:#92400e;--gc-warnbg:#fef3c7;
 --gc-danger:#991b1b;--gc-dangerbg:#fee2e2;--gc-bluebg:#eaf3fb;
 --gc-font:"Segoe UI",Arial,sans-serif;--gc-radius:12px;
}
*{box-sizing:border-box}
html{font-size:14px}
body{margin:0!important;background:var(--gc-bg)!important;color:var(--gc-text)!important;
 font-family:var(--gc-font)!important;font-size:14px!important;line-height:1.4!important}
body>header,.gc53-nav-wrap,.gc54-nav-wrap,.gc55-nav-wrap,.gc56-topbar,.gc56-nav-wrap,.gc57-header,
.gc59-header,.gc60-header,.gc60-context,.gc56-footer,.gc57-footer,.gc59-footer,.gc60-footer{display:none!important}

.gc-shell-header{background:linear-gradient(135deg,var(--gc-primary),var(--gc-primary-dark));color:#fff;
 box-shadow:0 2px 10px rgba(15,23,42,.12)}
.gc-shell-head{width:calc(100% - 36px);max-width:1880px;margin:auto;min-height:68px;
 display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(220px,1fr);gap:18px;align-items:center}
.gc-brand strong{display:block;font-size:21px;font-weight:800;line-height:1.1}
.gc-brand span{display:block;font-size:12px;opacity:.9;margin-top:4px}
.gc-main-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.gc-main-nav a{color:#fff!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:6px;
 min-height:42px;padding:8px 12px;border-radius:8px;font-size:13px!important;font-weight:700!important}
.gc-main-nav a:hover{background:rgba(255,255,255,.10)}
.gc-main-nav a.active{background:rgba(255,255,255,.16);box-shadow:inset 0 -3px 0 #fff}
.gc-userbox{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:13px}
.gc-role{opacity:.82;font-size:11px}
.gc-userbox a{color:#fff!important;text-decoration:none!important;background:rgba(255,255,255,.13);
 padding:7px 10px;border-radius:8px;font-weight:700}
.gc-breadcrumb{background:#fff;border-bottom:1px solid var(--gc-line)}
.gc-breadcrumb-inner{width:calc(100% - 36px);max-width:1880px;margin:auto;min-height:40px;
 display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--gc-muted)}
.gc-breadcrumb a{color:var(--gc-primary)!important;text-decoration:none!important;font-weight:700}
.gc-breadcrumb .current{color:#334155;font-weight:700}

main.wrap,.gc-page{width:calc(100% - 36px)!important;max-width:1880px!important;margin:0 auto!important;padding:18px 0!important}
body>.wrap:not(.gc-login-shell){max-width:1880px!important}
h1{font-size:24px!important}h2{font-size:18px!important}h3{font-size:16px!important}
h1,h2,h3{font-family:var(--gc-font)!important;color:var(--gc-text)!important}
.sub,.small,.muted,.note,.gc-muted{font-size:12px!important;color:var(--gc-muted)!important}

.card,.panel,.toolbar,.table-wrap,.solbox,.box{background:#fff!important;border:1px solid var(--gc-line)!important;
 border-radius:var(--gc-radius)!important;box-shadow:0 6px 18px rgba(15,23,42,.05)!important}
.grid{gap:12px!important}
.stat{padding:15px 18px!important;min-height:88px}
.stat span{font-size:12px!important;color:var(--gc-muted)!important}
.stat b{font-size:26px!important;color:#102b47!important;margin-top:7px!important}

label{font-size:12px!important;font-weight:700!important;color:#475569!important}
input,select,textarea{font-family:var(--gc-font)!important;font-size:13px!important;color:var(--gc-text)!important;
 background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:9px 10px!important}
input:not([type=checkbox]):not([type=radio]),select{min-height:38px}
textarea{min-height:86px}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:#6ea3cf!important;
 box-shadow:0 0 0 3px rgba(31,78,121,.10)!important}

.btn,button,input[type=submit],input[type=button],.gc-btn{font-family:var(--gc-font)!important;font-size:12px!important;
 font-weight:700!important;min-height:36px;padding:8px 11px!important;border-radius:8px!important;text-decoration:none!important;cursor:pointer}
.primary,.gc-btn-primary{background:var(--gc-primary)!important;color:#fff!important;border:1px solid var(--gc-primary)!important}
.secondary,.gc-btn-secondary{background:var(--gc-soft)!important;color:var(--gc-text)!important;border:1px solid #dde5ed!important}
.danger,.gc-btn-danger{background:var(--gc-dangerbg)!important;color:var(--gc-danger)!important;border:1px solid #fecaca!important}

.table-wrap{overflow:auto!important}
table{width:100%!important;border-collapse:collapse!important;background:#fff!important;font-size:12px!important}
th{background:#f3f6f9!important;color:#334155!important;font-size:11px!important;font-weight:800!important;
 padding:10px 11px!important;border-bottom:1px solid var(--gc-line)!important;white-space:nowrap}
td{font-size:12px!important;color:#243b53!important;padding:10px 11px!important;border-bottom:1px solid #e8edf2!important;vertical-align:middle!important}
tbody tr:hover{background:#fafcff!important}
.badge,.tag,.linked,.unlinked{font-size:10px!important;border-radius:999px!important;padding:4px 7px!important}
.badge.aprobado,.linked{background:var(--gc-okbg)!important;color:var(--gc-ok)!important}
.badge.pendiente,.unlinked,.tag{background:var(--gc-warnbg)!important;color:var(--gc-warn)!important}

.gc-index-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.gc-index-search{margin-left:auto;display:flex;gap:6px;flex:1 1 410px;max-width:570px}
.gc-index-search input{width:100%}
.gc-more{position:relative}
.gc-more-menu{display:none;position:absolute;left:0;top:calc(100% + 6px);min-width:200px;background:#fff;
 border:1px solid var(--gc-line);border-radius:9px;box-shadow:0 12px 28px rgba(15,23,42,.16);padding:6px;z-index:500}
.gc-more.open .gc-more-menu{display:block}
.gc-more-menu a{display:block!important;color:var(--gc-text)!important;background:#fff!important;padding:9px 10px!important;
 border-radius:7px!important;text-decoration:none!important}
.gc-more-menu a:hover{background:#f3f6f9!important}
.filters-toolbar.gc-filters-closed .filters-grid,.filters-toolbar.gc-filters-closed .filter-actions{display:none!important}
.filters-toolbar{padding:12px!important}
.gc-admin-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.gc-admin-subnav a{background:#fff;border:1px solid var(--gc-line);padding:8px 11px;border-radius:8px;text-decoration:none;color:var(--gc-text);font-weight:700}

.gc-footer{width:calc(100% - 36px);max-width:1880px;margin:12px auto 20px;padding:10px 0;border-top:1px solid var(--gc-line);
 display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--gc-muted);font-size:11px}

/* Login */
.gc-login{min-height:100vh;display:grid;place-items:center;background:
 radial-gradient(circle at top left,rgba(31,78,121,.12),transparent 35%),linear-gradient(180deg,#f7f9fc,#eef3f8)!important}
.gc-login-shell{width:min(430px,92vw)}
.gc-login-brand{text-align:center;margin-bottom:16px}
.gc-login-logo{width:54px;height:54px;margin:0 auto 10px;display:grid;place-items:center;border-radius:14px;
 background:linear-gradient(135deg,var(--gc-primary),var(--gc-primary-dark));color:#fff;font-weight:800;font-size:20px}
.gc-login-brand h1{margin:0 0 4px}.gc-login-brand p{margin:0;color:var(--gc-muted);font-size:12px}
.gc-login-card{background:#fff;border:1px solid var(--gc-line);border-radius:16px;padding:28px;box-shadow:0 18px 42px rgba(15,23,42,.12)}
.gc-login-card h2{margin:0 0 4px}.gc-login-card label{display:block;margin:12px 0 5px}
.gc-login-card input{width:100%}.gc-login-submit{width:100%;margin-top:18px}
.gc-login-foot{text-align:center;margin-top:16px;color:var(--gc-muted);font-size:11px}
.gc-alert{padding:10px;border-radius:8px;margin:10px 0;font-size:12px}
.gc-alert-danger{background:var(--gc-dangerbg);color:var(--gc-danger)}
.gc-alert-warn{background:var(--gc-warnbg);color:var(--gc-warn)}

@media(max-width:1050px){
 .gc-shell-head{grid-template-columns:1fr;padding:10px 0}.gc-main-nav{justify-content:flex-start}.gc-userbox{justify-content:flex-start}
}
@media(max-width:700px){
 .gc-shell-head,.gc-breadcrumb-inner,main.wrap,.gc-page,.gc-footer{width:94%!important}
 .gc-main-nav a{flex:1 1 auto;justify-content:center}.grid,.checks{grid-template-columns:1fr!important}
 .gc-index-search{order:10;margin-left:0;max-width:none;min-width:100%}
}
