
:root{
  --gx-navy:#062A52;
  --gx-navy-2:#031C36;
  --gx-blue:#0B4D93;
  --gx-cyan:#0EA5D9;
  --gx-teal:#05B9A8;
  --gx-mint:#22D3B6;
  --gx-soft:#F5FAFD;
  --gx-line:#DFEAF2;
  --gx-text:#0B2340;
  --gx-muted:#6E8196;
}

/* ========= BRAND / SIDEBAR ========= */
.gx-sidebar{
  --pc-sidebar-background: linear-gradient(180deg,#03284A 0%,#062A52 52%,#031D36 100%);
  background:linear-gradient(180deg,#03284A 0%,#062A52 52%,#031D36 100%) !important;
  border-right:0 !important;
  box-shadow:8px 0 28px rgba(6,42,82,.08);
}
.gx-brand-header{
  height:118px;
  justify-content:center!important;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.gx-brand-logo{
  width:150px;
  max-height:103px;
  object-fit:contain;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.12));
}
.gx-sidebar .navbar-content{padding-top:10px}
.gx-sidebar .pc-caption label{color:rgba(255,255,255,.58)!important;font-size:11px;letter-spacing:.08em}
.gx-sidebar .pc-link{color:rgba(255,255,255,.78)!important}
.gx-sidebar .pc-link .pc-micon{color:rgba(255,255,255,.7)!important}
.gx-sidebar .pc-item:hover>.pc-link{color:#fff!important;background:rgba(255,255,255,.07)}
.gx-sidebar .pc-item.active>.pc-link{
  color:#fff!important;
  background:linear-gradient(90deg,#0B65BE,#0EA5D9)!important;
  box-shadow:0 8px 20px rgba(8,133,201,.25);
}
.gx-sidebar .pc-submenu .pc-link{color:rgba(255,255,255,.66)!important}
.gx-sidebar .pc-submenu .pc-link:hover{color:#fff!important}
.gx-user-card{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
.gx-user-card .pc-user-links a{color:rgba(255,255,255,.75)!important}
.gx-avatar,.gx-mini-avatar span{
  display:grid;place-items:center;border-radius:50%;font-weight:800;color:#fff;
  background:linear-gradient(135deg,var(--gx-blue),var(--gx-teal));
}
.gx-avatar{width:44px;height:44px}
.gx-mini-avatar span{width:34px;height:34px;font-size:12px}
.gx-mini-avatar{display:flex!important;align-items:center!important;gap:4px}
.gx-badge{background:var(--gx-teal)!important;color:white!important}

/* ========= HEADER ========= */
.gx-header{box-shadow:0 4px 24px rgba(9,45,79,.035)}
.gx-search{
  height:40px;min-width:280px;border:1px solid #DCE7EF;background:#fff;border-radius:12px;
  display:flex;align-items:center;gap:9px;padding:0 12px;color:#8192A4
}
.gx-search input{border:0;outline:0;flex:1;min-width:0;color:var(--gx-text);font-size:13px}
.gx-search span{font-size:11px;background:#F5F8FA;border-radius:7px;padding:3px 7px;color:#8999AA}

/* ========= CONTENT ========= */
body{background:#F7FAFC}
.pc-container{background:
  radial-gradient(circle at 82% 0%,rgba(14,165,217,.07),transparent 22%),
  radial-gradient(circle at 20% 0%,rgba(5,185,168,.04),transparent 22%)}
.gx-page-header{padding-top:14px}
.gx-page-header h2{font-weight:800;color:var(--gx-text);letter-spacing:-.03em}
.gx-slogan{font-size:11px;letter-spacing:.35em;color:var(--gx-blue);font-weight:700;margin-bottom:5px}
.gx-slogan span{color:var(--gx-teal)}

.card.gx-kpi,.card.gx-panel{
  border:1px solid var(--gx-line)!important;
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(6,42,82,.035)!important;
  transition:.2s ease;
}
.card.gx-kpi:hover,.card.gx-panel:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(6,42,82,.065)!important}
.gx-kpi h3{color:var(--gx-navy);font-weight:800;letter-spacing:-.02em}
.gx-icon,.gx-act-icon{
  display:grid;place-items:center;border-radius:13px
}
.gx-icon{width:46px;height:46px;font-size:22px}
.gx-blue{background:#EAF3FF!important;color:#176DD1!important}
.gx-teal{background:#E8FAF7!important;color:#0BAF9E!important}
.gx-orange{background:#FFF4E5!important;color:#F29A23!important}
.gx-red{background:#FFF0F0!important;color:#E94B54!important}
.gx-purple{background:#F3EDFF!important;color:#7B55E8!important}
.gx-positive{font-size:13px;color:#12A078;font-weight:700}
.gx-mini-chart{height:48px;margin:2px 0 -10px}
.gx-panel .card-header{background:transparent!important}
.gx-panel h5{font-weight:750;color:var(--gx-text)}
.gx-select{border-color:#DCE8F0!important;border-radius:10px!important;color:var(--gx-text)}
.gx-link{font-size:12px;color:#0B6DD8;font-weight:600}
.gx-progress{height:7px;background:#EDF3F8;border-radius:10px}
.gx-progress .progress-bar{background:linear-gradient(90deg,var(--gx-blue),var(--gx-cyan));border-radius:10px}

/* ========= ROADMAP ========= */
.gx-roadmap{display:grid;gap:12px}
.gx-roadmap>div{display:flex;align-items:center;gap:10px;color:#456078;font-size:13px}
.gx-roadmap i{font-size:21px;color:#B9C6D2}
.gx-roadmap .done i{color:var(--gx-teal)}
.gx-roadmap .done span{color:var(--gx-text)}

/* ========= ACTIVITY ========= */
.gx-activity{display:grid;gap:18px}
.gx-activity>div{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center}
.gx-act-icon{width:38px;height:38px;font-size:18px}
.gx-activity strong,.gx-agenda strong{display:block;font-size:13px;color:var(--gx-text)}
.gx-activity small,.gx-agenda small{display:block;font-size:11px;color:var(--gx-muted);margin-top:2px}
.gx-activity em{font-style:normal;color:#66809A;font-size:11px;white-space:nowrap}

/* ========= DONUT LEGEND ========= */
.gx-legend{display:grid;gap:12px}
.gx-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:12px;color:#49637C}
.gx-legend .dot{width:8px;height:8px;border-radius:50%}
.d1{background:#2F7DF6}.d2{background:#10BDAA}.d3{background:#FFB02E}.d4{background:#8F67E8}.d5{background:#7D9DBB}

/* ========= AGENDA ========= */
.gx-agenda{display:grid;gap:13px}
.gx-agenda>div{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center}
.gx-agenda .date{
  width:47px;height:47px;border-radius:11px;display:flex;flex-direction:column;justify-content:center;align-items:center;
  font-size:9px;font-weight:800;line-height:1.1
}
.gx-agenda .date b{font-size:15px}
.date.blue{background:#EDF4FF;color:#176DD1}.date.red{background:#FFF0F0;color:#E94B54}
.date.cyan{background:#E9FBFD;color:#078CA6}.date.purple{background:#F3EDFF;color:#7350DD}

/* ========= FOOTER ========= */
.gx-footer{
  display:flex;justify-content:space-between;gap:20px;padding:22px 0 6px;
  font-size:11px;color:#71869A
}
.gx-footer div{display:flex;gap:22px}
.gx-footer a{color:#55708A}

/* ========= OVERRIDES ========= */
.btn-primary{
  --bs-btn-bg:var(--gx-blue);
  --bs-btn-border-color:var(--gx-blue);
  --bs-btn-hover-bg:#083E77;
  --bs-btn-hover-border-color:#083E77
}
.btn-outline-primary{
  --bs-btn-color:var(--gx-blue);
  --bs-btn-border-color:#73A5D3;
  --bs-btn-hover-bg:var(--gx-blue)
}

@media(max-width:767px){
  .gx-slogan{letter-spacing:.18em}
  .gx-footer{flex-direction:column}
  .gx-footer div{flex-wrap:wrap;gap:12px}
}

.gx-auth-page{background:#f5f9fc;min-height:100vh}.gx-auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.gx-auth-brand{display:flex;align-items:center;justify-content:center;padding:64px;background:radial-gradient(circle at 20% 20%,rgba(14,165,217,.22),transparent 25%),radial-gradient(circle at 80% 80%,rgba(5,185,168,.18),transparent 28%),linear-gradient(145deg,#031a33 0%,#062a52 56%,#074672 100%);color:#fff}.gx-auth-brand-inner{width:min(540px,100%)}.gx-auth-brand img{width:210px;background:#fff;border-radius:18px;padding:12px;margin-bottom:30px}.gx-auth-brand h1{font-size:42px;line-height:1.05;font-weight:800;letter-spacing:-.045em;margin-bottom:16px}.gx-auth-brand p{color:#c4d9e8;font-size:16px;max-width:500px;margin-bottom:34px}.gx-auth-feature{display:flex;gap:14px;align-items:center;margin:14px 0;padding:15px 16px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.055)}.gx-auth-feature i{font-size:25px;color:#5ee5d3}.gx-auth-feature strong,.gx-auth-feature span{display:block}.gx-auth-feature span{font-size:12px;color:#afc7d9}.gx-auth-form-side{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.gx-login-card{width:min(430px,100%)}.gx-login-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;margin-bottom:20px;color:#fff;font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--gx-blue),var(--gx-teal))}.gx-login-card h2{font-size:32px;font-weight:800;color:var(--gx-navy);margin-bottom:5px}.gx-input .input-group-text{background:#f7fafc;border-color:#dde8ef;color:#6f8295}.gx-input .form-control{border-color:#dde8ef;min-height:48px}.gx-login-btn{min-height:49px;border-radius:12px;font-weight:700;background:linear-gradient(135deg,var(--gx-blue),var(--gx-teal));border:0}.gx-login-footer{text-align:center;margin-top:28px;color:#9aaaba;font-size:12px}.gx-logout-link{border:0;background:none;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:12px;width:100%;padding:8px 0;text-align:left}.gx-logout-link:hover{color:#fff}@media(max-width:900px){.gx-auth-shell{grid-template-columns:1fr}.gx-auth-brand{display:none}.gx-auth-form-side{min-height:100vh}}

/* =========================================================
   SELECTOR EMPRESA
========================================================= */

.gx-company-selector {
    display: flex;
    align-items: center;
    gap: 10px;

    min-width: 210px;
    height: 44px;

    padding: 5px 12px;

    background: #ffffff;

    border: 1px solid #dce8ef;
    border-radius: 12px;

    color: var(--gx-text);

    cursor: pointer;

    transition: all .2s ease;
}

.gx-company-selector:hover {
    border-color: #9fcddd;

    box-shadow:
        0 6px 18px
        rgba(6, 42, 82, .07);
}


.gx-company-icon {
    width: 32px;
    height: 32px;

    flex: 0 0 32px;

    display: grid;
    place-items: center;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #e9f5ff,
            #e8fbf7
        );

    color: var(--gx-blue);

    font-size: 17px;
}


.gx-company-info {
    display: flex;
    flex-direction: column;

    text-align: left;

    line-height: 1.15;

    flex-grow: 1;

    min-width: 0;
}


.gx-company-info small {
    color: #8a9bad;

    font-size: 9px;

    text-transform: uppercase;

    letter-spacing: .08em;
}


.gx-company-info strong {
    margin-top: 3px;

    font-size: 12px;

    color: var(--gx-navy);

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.gx-company-arrow {
    color: #8496a8;

    font-size: 14px;
}


/* MENÚ */

.gx-company-menu {

    min-width: 320px;

    padding: 10px;

    border:
        1px solid
        #e1ebf2;

    border-radius: 14px;

    box-shadow:
        0 18px 50px
        rgba(6, 42, 82, .12);
}


.gx-company-menu-title {

    display: flex;

    justify-content:
        space-between;

    align-items: center;

    padding:
        8px 9px 12px;

    border-bottom:
        1px solid
        #edf2f6;

    margin-bottom: 6px;
}


.gx-company-menu-title span {

    font-size: 13px;

    font-weight: 700;

    color: var(--gx-navy);
}


.gx-company-menu-title small {

    font-size: 10px;

    color: #8a9bad;
}


/* EMPRESA */

.gx-company-option {

    width: 100%;

    display: flex;

    align-items: center;

    gap: 11px;

    border: 0;

    background: transparent;

    padding: 10px;

    border-radius: 10px;

    text-align: left;

    color: var(--gx-text);

    transition: all .15s ease;
}


.gx-company-option:hover {

    background:
        #f5fafc;
}


.gx-company-option.active {

    background:
        linear-gradient(
            90deg,
            rgba(11,77,147,.07),
            rgba(5,185,168,.07)
        );
}


.gx-company-option-icon {

    width: 36px;

    height: 36px;

    flex: 0 0 36px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background: #edf6fb;

    color: var(--gx-blue);
}


.gx-company-option-info {

    flex-grow: 1;

    min-width: 0;
}


.gx-company-option-info strong {

    display: block;

    font-size: 12px;

    color: var(--gx-navy);

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


.gx-company-option-info small {

    display: block;

    margin-top: 3px;

    color: #8b9bae;

    font-size: 10px;
}


.gx-company-check {

    color: var(--gx-teal);

    font-size: 18px;
}