/**
 * style.css — Estilos globais GAPI Tecnologia & Sistemas
 * @author GAPI Tecnologia & Sistemas
 */

:root {
    --gapi-dark:   #001f3f;
    --gapi-navy:   #003366;
    --gapi-orange: #FF851B;
    --gapi-green:  #2ECC40;
    --gapi-white:  #ffffff;
    --gapi-light:  #f8f9fa;
    --gapi-gray:   #6c757d;
}

body {
    background-color: var(--gapi-light);
    font-family: 'Inter', sans-serif;
}

/* ── NAVBAR ──────────────────────────────────────────────────── */
.navbar-gapi {
    background: linear-gradient(90deg, #000812 0%, #000d1a 55%, #00111f 100%);
    border-top: 2px solid rgba(255,133,27,.55);
    border-bottom: 3px solid var(--gapi-orange);
    padding: .55rem 0;
    position: sticky;
    top: 0;
    z-index: 1030;
}

.navbar-gapi::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 220px;
    height: 2px;
    background: linear-gradient(90deg, #FF851B, transparent);
    pointer-events: none;
}

.ngapi-brand-name {
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .03em;
    line-height: 1.25;
    white-space: nowrap;
}

.ngapi-brand-name .bname-gapi { color: var(--gapi-orange); }
.ngapi-brand-name .bname-rest { color: rgba(255,255,255,.9); }

.ngapi-brand-sub {
    font-size: .68rem;
    letter-spacing: .04em;
    display: block;
    white-space: nowrap;
}

.ngapi-brand-sub .bsub-gapi { color: rgba(255,255,255,.75); font-weight: 800; }
.ngapi-brand-sub .bsub-core { color: var(--gapi-orange);    font-weight: 800; }
.ngapi-brand-sub .bsub-rest { color: rgba(255,255,255,.4); }

.header-icon-link {
    font-size: 1rem;
    transition: color .2s;
}

.header-icon-link:hover {
    color: var(--gapi-orange) !important;
}

/* ── FOOTER GAPI FIXO ────────────────────────────────────────── */
.footer-gapi {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1029;
    height: 46px;
    background: linear-gradient(90deg, #000812, #000d1a, #000812);
    border-top: 2px solid rgba(255,133,27,.45);
    display: flex;
    align-items: center;
    padding: 0 1.25rem;
    gap: 1.5rem;
    font-size: .68rem;
    overflow: hidden;
}

.footer-gapi::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 2px;
    background: linear-gradient(90deg, var(--gapi-orange), transparent);
}

.footer-status {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0;
}

.footer-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gapi-green);
    animation: fpulse 2.5s ease-in-out infinite;
}

@keyframes fpulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: .4; }
}

.footer-info {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: rgba(255,255,255,.38);
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
}

.footer-info strong { color: rgba(255,255,255,.72); font-weight: 700; }

.footer-sep {
    color: rgba(255,133,27,.35);
    font-size: .7rem;
    flex-shrink: 0;
}

.footer-right {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: rgba(255,255,255,.35);
    flex-shrink: 0;
    white-space: nowrap;
}

.footer-right a {
    color: rgba(255,255,255,.35);
    text-decoration: none;
    transition: color .2s;
}

.footer-right a:hover { color: var(--gapi-orange); }

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn-gapi-orange {
    background-color: var(--gapi-orange);
    color: #fff !important;
    font-weight: 600;
    transition: .3s;
}

.btn-gapi-orange:hover {
    background-color: #e67616;
    transform: translateY(-2px);
}

.btn-gapi-dark {
    background-color: var(--gapi-dark);
    color: #fff !important;
    font-weight: 600;
    transition: .3s;
}

.btn-gapi-dark:hover {
    background-color: var(--gapi-navy);
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,31,63,.2);
}

/* ── CARDS ───────────────────────────────────────────────────── */
.card-stats {
    border: none;
    border-radius: 12px;
    transition: .3s;
    box-shadow: 0 10px 20px rgba(0,0,0,.05);
}

.card-stats:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 30px rgba(0,0,0,.1);
}

.icon-box {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.bg-orange-light { background-color: rgba(255,133,27,.12); color: var(--gapi-orange); }
.bg-blue-light   { background-color: rgba(0,51,102,.12);  color: var(--gapi-navy);   }
.bg-green-light  { background-color: rgba(46,204,64,.12); color: var(--gapi-green);  }
.bg-red-light    { background-color: rgba(231,74,59,.12); color: #e74a3b;            }

/* ── NAVBAR DROPDOWN FIX ─────────────────────────────────────── */
.navbar-gapi .nav-link.dropdown-toggle.show {
    color: #001f3f !important;
    background-color: #fff !important;
    border-radius: 5px 5px 0 0;
}

/* ── TomSelect ───────────────────────────────────────────────── */
.ts-wrapper.form-control {
    border: 1px solid #d1d3e2 !important;
    border-radius: .35rem !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    transition: border-color .15s, box-shadow .15s;
}

.ts-wrapper.form-control.focus {
    border-color: #bac8f3 !important;
    box-shadow: 0 0 0 .2rem rgba(78,115,223,.25) !important;
}

.ts-wrapper.form-control .ts-control {
    border: none !important;
    background: transparent !important;
    padding: .375rem .75rem !important;
    width: 100%;
}

.ts-wrapper.is-invalid {
    border-color: #e74a3b !important;
}

/* ── ACESSIBILIDADE ──────────────────────────────────────────── */
body.alto-contraste,
body.alto-contraste .card,
body.alto-contraste .sm-card {
    background: #000 !important;
    color: #fff !important;
}

body.alto-contraste a:not(.btn) { color: #ff0 !important; }
body.alto-contraste .navbar-gapi { background: #111 !important; }
body.alto-contraste .sidebar,
body.alto-contraste .main-content { background: #0a0a0a !important; }

body.fundo-amarelo,
body.fundo-amarelo .card,
body.fundo-amarelo .sm-card {
    background: #ff0 !important;
    color: #000 !important;
}

body.fundo-amarelo a:not(.btn) { color: #00008b !important; }
body.fundo-amarelo .navbar-gapi { background: #e6b800 !important; }

/* ── UTILITÁRIOS GLOBAIS ─────────────────────────────────────────── */
.py-6  { padding-top: 5rem !important;  padding-bottom: 5rem !important; }
.pt-6  { padding-top: 5rem !important; }
.pb-6  { padding-bottom: 5rem !important; }
.text-gapi-orange { color: var(--gapi-orange) !important; }

body { padding-bottom: 46px; }
