/* =========================================================
   RESET
========================================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#f6f7fb;
    color:#0f172a;
    line-height:1.6;
    overflow-x:hidden;
}

/* =========================================================
   VARIÁVEIS
========================================================= */

:root{

    --primary:#0f172a;
    --primary-light:#1e293b;

    --gold:#facc15;
    --gold-dark:#fbbf24;

    --white:#ffffff;

    --text:#0f172a;
    --muted:#64748b;

    --border:rgba(15,23,42,0.08);

    --shadow:
    0 10px 40px rgba(15,23,42,0.08);

    --radius:22px;

    --transition:0.28s ease;
}

/* =========================================================
   LAYOUT
========================================================= */

.site-wrapper{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.main-content{
    flex:1;
}

.container{
    width:100%;
    max-width:1280px;
    margin:auto;
    padding:0 24px;
}

/* =========================================================
   TOPBAR
========================================================= */

.topbar{
    background:
    linear-gradient(
        135deg,
        #020617 0%,
        #0f172a 100%
    );

    border-bottom:1px solid rgba(255,255,255,0.05);

    position:relative;

    overflow:hidden;
}

.topbar::before{
    content:'';

    position:absolute;

    top:-90px;
    right:-90px;

    width:240px;
    height:240px;

    border-radius:50%;

    background:rgba(250,204,21,0.06);

    filter:blur(45px);
}

.topbar-inner{
    display:flex;
    justify-content:center;
    align-items:center;

    padding:15px 0;

    position:relative;
    z-index:2;
}

.topbar-justify{
    text-align:center;
}

.topbar-badge{
    display:inline-flex;

    align-items:center;

    gap:8px;

    background:rgba(250,204,21,0.12);

    color:var(--gold);

    padding:9px 18px;

    border-radius:50px;

    font-size:12px;
    font-weight:700;

    letter-spacing:0.4px;

    margin-bottom:10px;

    border:1px solid rgba(250,204,21,0.16);

    backdrop-filter:blur(10px);
}

.topbar-badge i{
    font-size:13px;
}

.topbar-justify p{
    color:#cbd5e1;

    font-size:14px;

    font-weight:500;

    line-height:1.5;
}

/* =========================================================
   HEADER
========================================================= */

.header{
    position:sticky;

    top:0;

    z-index:1000;

    background:rgba(255,255,255,0.88);

    backdrop-filter:blur(18px);

    border-bottom:1px solid var(--border);

    box-shadow:
    0 10px 40px rgba(15,23,42,0.04);
}

/* =========================================================
   NAVBAR
========================================================= */

.navbar{
    display:flex;

    align-items:center;

    justify-content:space-between;

    min-height:92px;

    gap:30px;
}

/* =========================================================
   LOGO
========================================================= */

.logo{
    display:flex;

    align-items:center;

    gap:16px;

    text-decoration:none;

    flex-shrink:0;

    max-width:650px;
}

.logo-image{
    width:78px;
    height:78px;

    display:flex;

    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:24px;

    box-shadow:
    0 10px 30px rgba(15,23,42,0.08);

    border:1px solid rgba(15,23,42,0.04);

    flex-shrink:0;

    position:relative;

    overflow:hidden;
}

.logo-image::before{
    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        135deg,
        rgba(250,204,21,0.08),
        transparent
    );
}

.logo img{
    width:58px;
    height:58px;

    object-fit:contain;

    position:relative;
    z-index:2;
}

.logo-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.logo-text h1,
.logo-text h2{
    color:var(--primary);

    font-size:28px;

    font-weight:800;

    letter-spacing:-1px;

    line-height:1;
}

.logo-text span{
    color:var(--muted);

    font-size:12px;

    margin-top:5px;

    font-weight:500;

    line-height:1.5;
}

/* =========================================================
   NAV MENU
========================================================= */

.nav{
    display:flex;

    align-items:center;

    gap:8px;

    margin-left:auto;
}

.nav a{
    position:relative;

    display:flex;

    align-items:center;

    gap:8px;

    color:#334155;

    padding:12px 14px;

    border-radius:14px;

    font-size:14px;

    font-weight:600;

    text-decoration:none;

    transition:var(--transition);
}

.nav a i{
    color:var(--gold);

    font-size:14px;

    transition:var(--transition);
}

.nav a:hover{
    background:rgba(15,23,42,0.05);

    color:var(--primary);

    transform:translateY(-1px);
}

.nav a:hover i{
    transform:scale(1.08);
    color:#eab308;
}

.nav a::after{
    content:'';

    position:absolute;

    bottom:7px;
    left:14px;

    width:0%;

    height:2px;

    background:var(--gold);

    border-radius:10px;

    transition:0.25s ease;
}

.nav a:hover::after{
    width:42%;
}

/* =========================================================
   BOTÃO LOGIN
========================================================= */

.btn-login{
    background:
    linear-gradient(
        135deg,
        var(--gold),
        var(--gold-dark)
    );

    color:#111 !important;

    padding:12px 18px !important;

    border-radius:14px;

    font-weight:700 !important;

    margin-left:8px;

    box-shadow:
    0 8px 20px rgba(250,204,21,0.25);

    transition:var(--transition);
}

.btn-login i{
    color:#111 !important;
}

.btn-login:hover{
    transform:translateY(-2px);

    box-shadow:
    0 12px 24px rgba(250,204,21,0.35);
}

/* =========================================================
   ADMIN
========================================================= */

.admin-link{
    width:40px;
    height:40px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--primary);

    color:#fff !important;

    font-size:13px;

    font-weight:700;

    text-decoration:none;

    transition:var(--transition);

    box-shadow:
    0 6px 18px rgba(15,23,42,0.18);
}

.admin-link i{
    color:#fff !important;
}

.admin-link:hover{
    background:var(--primary-light);

    transform:scale(1.06);
}

/* =========================================================
   MOBILE BUTTON
========================================================= */

.menu-toggle{
    display:none;

    background:var(--primary);

    border:none;

    color:#fff;

    width:46px;
    height:46px;

    border-radius:14px;

    font-size:20px;

    cursor:pointer;

    transition:var(--transition);

    box-shadow:
    0 8px 18px rgba(15,23,42,0.12);
}

.menu-toggle:hover{
    background:var(--primary-light);
}

/* =========================================================
   HERO
========================================================= */

.hero{
    position:relative;

    min-height:88vh;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    overflow:hidden;

    background:
    linear-gradient(
        135deg,
        #020617 0%,
        #0f172a 45%,
        #111827 100%
    );

    color:#fff;

    padding:120px 20px 100px;
}

.hero::before{
    content:'';

    position:absolute;

    top:-120px;
    right:-120px;

    width:420px;
    height:420px;

    border-radius:50%;

    background:rgba(250,204,21,0.08);

    filter:blur(60px);
}

.hero::after{
    content:'';

    position:absolute;

    bottom:-140px;
    left:-140px;

    width:360px;
    height:360px;

    border-radius:50%;

    background:rgba(59,130,246,0.08);

    filter:blur(70px);
}

.hero-content{
    position:relative;
    z-index:2;

    max-width:900px;
}

.hero-badge{
    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 20px;

    background:rgba(255,255,255,0.08);

    border:1px solid rgba(255,255,255,0.10);

    border-radius:999px;

    color:#f8fafc;

    margin-bottom:28px;

    backdrop-filter:blur(10px);

    font-size:14px;

    font-weight:600;
}

.hero-badge i{
    color:var(--gold);
}

.hero h1{
    font-size:clamp(48px,8vw,88px);

    line-height:1;

    font-weight:900;

    letter-spacing:-3px;

    margin-bottom:22px;
}

.hero-subtitle{
    max-width:780px;

    margin:auto;

    font-size:20px;

    color:#cbd5e1;

    line-height:1.9;
}

.hero-slogan{
    margin-top:22px;

    color:var(--gold);

    font-size:18px;

    font-weight:700;

    letter-spacing:0.4px;
}

.hero-buttons{
    margin-top:42px;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;
}

.btn-primary,
.btn-secondary{
    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:16px 24px;

    border-radius:18px;

    text-decoration:none;

    font-weight:700;

    transition:var(--transition);
}

.btn-primary{
    background:
    linear-gradient(
        135deg,
        var(--gold),
        var(--gold-dark)
    );

    color:#111;

    box-shadow:
    0 14px 30px rgba(250,204,21,0.25);
}

.btn-primary i{
    color:#111;
}

.btn-primary:hover{
    transform:translateY(-3px);

    box-shadow:
    0 20px 40px rgba(250,204,21,0.35);
}

.btn-secondary{
    background:rgba(255,255,255,0.08);

    color:#fff;

    border:1px solid rgba(255,255,255,0.10);

    backdrop-filter:blur(10px);
}

.btn-secondary i{
    color:var(--gold);
}

.btn-secondary:hover{
    background:rgba(255,255,255,0.12);

    transform:translateY(-2px);
}

/* =========================================================
   SECTIONS
========================================================= */

.section{
    padding:110px 0;
}

.bg-light{
    background:#ffffff;
}

.section-header{
    text-align:center;

    max-width:840px;

    margin:0 auto 70px;
}

.section-header span{
    display:inline-flex;

    align-items:center;

    gap:8px;

    background:rgba(250,204,21,0.12);

    color:#b45309;

    padding:10px 18px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

    margin-bottom:22px;
}

.section-header span i{
    color:var(--gold);
}

.section-header h2{
    font-size:clamp(32px,5vw,52px);

    line-height:1.15;

    color:var(--primary);

    margin-bottom:20px;

    font-weight:800;

    letter-spacing:-1.5px;
}

.section-header p{
    color:var(--muted);

    font-size:18px;

    line-height:1.9;
}

/* =========================================================
   CARDS
========================================================= */

.cards-grid{
    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:28px;
}

.card,
.explore-card,
.info-box{
    position:relative;

    background:#fff;

    border-radius:28px;

    padding:38px;

    border:1px solid rgba(15,23,42,0.06);

    transition:var(--transition);

    overflow:hidden;

    box-shadow:
    0 10px 30px rgba(15,23,42,0.04);
}

.card::before,
.explore-card::before,
.info-box::before{
    content:'';

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:
    linear-gradient(
        90deg,
        var(--gold),
        #f59e0b
    );

    opacity:0;

    transition:var(--transition);
}

.card:hover,
.explore-card:hover,
.info-box:hover{
    transform:translateY(-8px);

    box-shadow:
    0 20px 40px rgba(15,23,42,0.10);
}

.card:hover::before,
.explore-card:hover::before,
.info-box:hover::before{
    opacity:1;
}

.card i,
.explore-card i,
.info-icon{
    width:74px;
    height:74px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:22px;

    margin-bottom:24px;

    background:
    linear-gradient(
        135deg,
        rgba(250,204,21,0.16),
        rgba(251,191,36,0.10)
    );

    color:#d97706;

    font-size:28px;

    box-shadow:
    inset 0 0 0 1px rgba(250,204,21,0.12);
}

.card h3,
.explore-card h3,
.info-box h3{
    font-size:24px;

    color:var(--primary);

    margin-bottom:14px;

    font-weight:700;
}

.card p,
.explore-card p,
.info-box p{
    color:var(--muted);

    line-height:1.9;

    font-size:15px;
}

.explore-card{
    text-decoration:none;
}

/* =========================================================
   GRID 2
========================================================= */

.grid-2{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;
}

/* =========================================================
   TAGS
========================================================= */

.tags{
    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:16px;
}

.tags span{
    display:inline-flex;

    align-items:center;

    gap:10px;

    background:#fff;

    border:1px solid rgba(15,23,42,0.06);

    border-radius:999px;

    padding:16px 22px;

    font-size:15px;

    font-weight:700;

    color:var(--primary);

    transition:var(--transition);

    box-shadow:
    0 6px 20px rgba(15,23,42,0.04);
}

.tags span::before{
    content:'✦';

    color:var(--gold);

    font-size:15px;
}

.tags span:hover{
    transform:translateY(-4px);

    background:var(--primary);

    color:#fff;
}

/* =========================================================
   FOOTER
========================================================= */

.footer{
    background:
    linear-gradient(
        135deg,
        #020617 0%,
        #0f172a 100%
    );

    color:#cbd5e1;

    margin-top:auto;

    position:relative;

    overflow:hidden;
}

.footer::before{
    content:'';

    position:absolute;

    top:-120px;
    right:-120px;

    width:260px;
    height:260px;

    background:rgba(250,204,21,0.04);

    border-radius:50%;

    filter:blur(40px);
}

.footer-grid{
    display:grid;

    grid-template-columns:
    2fr
    1fr
    1fr
    1.2fr;

    gap:50px;

    padding:70px 0;

    position:relative;
    z-index:2;
}

.footer-brand h3{
    color:#fff;

    font-size:20px;

    margin-bottom:10px;

    line-height:1.4;
}

.footer-brand p{
    color:#94a3b8;
}

.footer-description{
    margin-top:18px;

    line-height:1.8;

    max-width:420px;
}

.footer-logo{
    width:62px;
    height:62px;

    object-fit:contain;

    margin-bottom:18px;

    background:#fff;

    padding:8px;

    border-radius:16px;

    box-shadow:
    0 6px 20px rgba(0,0,0,0.25);
}

.footer h4{
    color:#fff;

    margin-bottom:18px;

    font-size:17px;

    position:relative;
}

.footer h4::after{
    content:'';

    display:block;

    width:42px;
    height:3px;

    background:var(--gold);

    border-radius:20px;

    margin-top:8px;
}

.footer-links a{
    display:flex;

    align-items:center;

    gap:10px;

    color:#94a3b8;

    text-decoration:none;

    margin-bottom:12px;

    transition:var(--transition);
}

.footer-links a i{
    color:var(--gold);

    font-size:13px;
}

.footer-links a:hover{
    color:#fff;

    transform:translateX(4px);
}

.footer-values ul{
    list-style:none;
}

.footer-values li{
    display:flex;

    align-items:center;

    gap:10px;

    color:#94a3b8;

    margin-bottom:12px;
}

.footer-values li i{
    color:var(--gold);
}

.footer-contact p{
    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:14px;

    color:#94a3b8;
}

.footer-contact i{
    color:var(--gold);
}

.footer-member-btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    margin-top:14px;

    background:
    linear-gradient(
        135deg,
        var(--gold),
        var(--gold-dark)
    );

    color:#111;

    text-decoration:none;

    padding:12px 18px;

    border-radius:14px;

    font-weight:700;

    transition:var(--transition);

    box-shadow:
    0 6px 18px rgba(250,204,21,0.25);
}

.footer-member-btn i{
    color:#111;
}

.footer-member-btn:hover{
    transform:translateY(-2px);

    box-shadow:
    0 10px 24px rgba(250,204,21,0.35);
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,0.06);

    padding:22px 0;

    text-align:center;

    color:#64748b;

    font-size:14px;

    position:relative;
    z-index:2;
}

.footer-legal{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    justify-content:center;
    margin-top:10px;
}

.footer-legal a{
    text-decoration:none;
}

.footer-contact address{
    font-style:normal;
}

.footer-contact a{
    word-break:break-word;
}




/* =========================================================
   RESPONSIVO
========================================================= */

@media(max-width:992px){

    .logo-text h1,
    .logo-text h2{
        font-size:24px;
    }

    .logo-text span{
        max-width:240px;
    }

    .nav a{
        padding:10px 10px;
        font-size:13px;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

    .grid-2{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:768px){

    .menu-toggle{
        display:flex;

        align-items:center;
        justify-content:center;
    }

    .navbar{
        min-height:82px;
    }

    .nav{
        display:none;

        position:absolute;

        top:82px;
        left:0;

        width:100%;

        flex-direction:column;

        align-items:flex-start;

        background:rgba(255,255,255,0.97);

        backdrop-filter:blur(20px);

        padding:22px;

        border-top:1px solid rgba(15,23,42,0.05);

        box-shadow:
        0 20px 40px rgba(15,23,42,0.08);
    }

    .nav.active{
        display:flex;
    }

    .nav a{
        width:100%;
    }

    .btn-login{
        width:100%;

        justify-content:center;

        margin-top:8px;

        margin-left:0;
    }

    .admin-link{
        margin-top:10px;
    }

    .topbar-inner{
        flex-direction:column;
        text-align:center;
        gap:8px;
    }

    .logo{
        max-width:calc(100% - 60px);
    }

    .logo-image{
        width:58px;
        height:58px;
    }

    .logo img{
        width:40px;
        height:40px;
    }

    .logo-text h1,
    .logo-text h2{
        font-size:22px;
    }

    .logo-text span{
        display:none;
    }

    .hero{
        min-height:auto;

        padding:110px 20px 90px;
    }

    .hero-subtitle{
        font-size:17px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .btn-primary,
    .btn-secondary{
        width:100%;

        justify-content:center;
    }

    .section{
        padding:80px 0;
    }

    .section-header{
        margin-bottom:50px;
    }

    .footer-grid{
        grid-template-columns:1fr;

        gap:40px;

        padding:55px 0;
    }

    .footer-brand{
        text-align:center;
    }

    .footer-description{
        margin:auto;
        margin-top:18px;
    }

    .footer-logo{
        margin:auto;
        margin-bottom:18px;
    }

    .footer h4{
        margin-top:10px;
    }
}

/* =========================================================
   EXTRA SMALL
========================================================= */

@media(max-width:480px){

    .container{
        padding:0 16px;
    }

    .logo-text h1,
    .logo-text h2{
        font-size:20px;
    }

    .logo-image{
        width:52px;
        height:52px;
    }

    .logo img{
        width:36px;
        height:36px;
    }

    .topbar-inner{
        padding:12px 0;
    }

    .hero h1{
        font-size:52px;
    }

    .section-header h2{
        font-size:34px;
    }

    .card,
    .explore-card,
    .info-box{
        padding:28px;
    }
}
.table-responsive{
    overflow-x:auto;
    width:100%;
}
/* =========================================================
   GOLD STATS PREMIUM
========================================================= */

.hero-stats.gold-stats{
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:24px;
    flex-wrap:wrap;
    margin-top:50px;
}

/* CARD */

.hero-stats.gold-stats .stat-item{
    position:relative;

    min-width:220px;

    padding:32px 28px;

    border-radius:28px;

    text-align:center;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.10),
            rgba(255,255,255,0.04)
        );

    backdrop-filter:blur(18px);

    border:1px solid rgba(250,204,21,0.22);

    box-shadow:
        0 20px 40px rgba(0,0,0,0.25),
        inset 0 1px 0 rgba(255,255,255,0.08);

    transition:all .35s ease;
}

/* GOLD BORDER TOP */

.hero-stats.gold-stats .stat-item::after{
    content:'';

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:
        linear-gradient(
            90deg,
            #facc15,
            #fde047,
            #fbbf24,
            #facc15
        );

    background-size:300% 100%;

    animation:goldBorder 4s linear infinite;
}

/* SHINE */

.hero-stats.gold-stats .stat-item::before{
    content:'';

    position:absolute;

    top:0;
    left:-120%;

    width:70%;
    height:100%;

    background:
        linear-gradient(
            120deg,
            transparent,
            rgba(255,255,255,0.30),
            transparent
        );

    transform:skewX(-25deg);

    transition:.8s;
}

.hero-stats.gold-stats .stat-item:hover::before{
    left:140%;
}

/* ICON */

.hero-stats.gold-stats .stat-icon{
    width:64px;
    height:64px;

    margin:0 auto 18px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            rgba(250,204,21,0.30),
            rgba(251,191,36,0.15)
        );

    border:1px solid rgba(250,204,21,0.25);

    color:#facc15;

    font-size:24px;

    box-shadow:
        0 10px 25px rgba(250,204,21,0.18);

    transition:.35s ease;
}

/* NUMBER */

.hero-stats.gold-stats h3{
    color:#fff;

    font-size:34px;

    font-weight:900;

    letter-spacing:-1px;

    margin-bottom:8px;

    text-shadow:
        0 0 20px rgba(250,204,21,0.25);
}

/* LABEL */

.hero-stats.gold-stats span{
    color:#cbd5e1;

    font-size:14px;

    font-weight:600;

    letter-spacing:0.4px;
}

/* HOVER */

.hero-stats.gold-stats .stat-item:hover{

    transform:
        translateY(-10px)
        scale(1.03);

    border-color:
        rgba(250,204,21,0.45);

    box-shadow:
        0 25px 60px rgba(0,0,0,0.35),
        0 0 40px rgba(250,204,21,0.12);
}

.hero-stats.gold-stats .stat-item:hover .stat-icon{

    transform:
        scale(1.10)
        rotate(4deg);

    box-shadow:
        0 0 25px rgba(250,204,21,0.35),
        0 12px 30px rgba(250,204,21,0.22);
}

/* GOLD ANIMATION */

@keyframes goldBorder{

    0%{
        background-position:0% 50%;
    }

    100%{
        background-position:300% 50%;
    }
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media(max-width:768px){

    .hero-stats.gold-stats{
        gap:16px;
    }

    .hero-stats.gold-stats .stat-item{
        width:100%;
        min-width:100%;
        padding:26px;
    }

    .hero-stats.gold-stats h3{
        font-size:28px;
    }
}

@media(max-width:480px){

    .hero-stats.gold-stats .stat-item{
        padding:22px;
    }

    .hero-stats.gold-stats .stat-icon{
        width:54px;
        height:54px;
        font-size:20px;
    }
}
/* =========================================================
   ERP / ADMIN
========================================================= */

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin-bottom:30px;
}

.small-card{
    background:#fff;
    border-radius:20px;
    padding:25px;
    text-align:center;
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 10px 25px rgba(15,23,42,.05);
    transition:.3s;
}

.small-card:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(15,23,42,.08);
}

.small-card h2{
    font-size:34px;
    color:var(--primary);
    margin-bottom:8px;
}

.small-card p{
    color:var(--muted);
    font-weight:600;
}

/* =========================================================
   TABLES
========================================================= */

table{
    width:100%;
    border-collapse:collapse;
    min-width:700px;
}

.table-responsive{
    overflow-x:auto;
    border-radius:18px;
}

table th{
    background:#0f172a;
    color:#fff;
    padding:14px;
    text-align:left;
    font-size:14px;
}

table td{
    padding:14px;
    border-bottom:1px solid #e5e7eb;
}

table tr:hover{
    background:#f8fafc;
}

/* =========================================================
   FORMULÁRIOS
========================================================= */

form{
    width:100%;
}

input,
select,
textarea{
    width:100%;
    padding:12px 14px;
    border:1px solid #dbe2ea;
    border-radius:12px;
    font-size:14px;
    font-family:'Poppins',sans-serif;
    background:#fff;
    transition:.25s;
}

input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:#facc15;
    box-shadow:0 0 0 4px rgba(250,204,21,.15);
}

textarea{
    resize:vertical;
    min-height:120px;
}

button{
    cursor:pointer;
}

/* =========================================================
   BOTÕES ERP
========================================================= */

.btn,
button[type="submit"]{
    background:#0f172a;
    color:#fff;
    border:none;
    padding:12px 18px;
    border-radius:12px;
    font-weight:600;
    transition:.3s;
}

.btn:hover,
button[type="submit"]:hover{
    background:#1e293b;
    transform:translateY(-2px);
}

/* =========================================================
   BADGES
========================================================= */

.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}

.badge-success{
    background:#dcfce7;
    color:#166534;
}

.badge-warning{
    background:#fef9c3;
    color:#854d0e;
}

.badge-danger{
    background:#fee2e2;
    color:#991b1b;
}

.badge-info{
    background:#dbeafe;
    color:#1d4ed8;
}

/* =========================================================
   ALERTAS
========================================================= */

.alert{
    padding:14px 18px;
    border-radius:14px;
    margin-bottom:20px;
    font-weight:600;
}

.alert-success{
    background:#dcfce7;
    color:#166534;
}

.alert-danger{
    background:#fee2e2;
    color:#991b1b;
}

.alert-warning{
    background:#fef9c3;
    color:#854d0e;
}

.alert-info{
    background:#dbeafe;
    color:#1d4ed8;
}

/* =========================================================
   ADMIN CARDS
========================================================= */

.card h1,
.card h2,
.card h3{
    color:var(--primary);
    margin-bottom:15px;
}

.card{
    margin-bottom:25px;
}

/* =========================================================
   LINKS AÇÃO
========================================================= */

.action-link{
    color:#2563eb;
    text-decoration:none;
    font-weight:600;
}

.action-link:hover{
    text-decoration:underline;
}

.action-danger{
    color:#dc2626;
}

/* =========================================================
   MOBILE TABLES
========================================================= */

@media(max-width:768px){

    table{
        min-width:650px;
    }

    .grid{
        grid-template-columns:1fr;
    }

    .small-card h2{
        font-size:28px;
    }
}
.menu-toggle.active{
    background:var(--gold);
    color:#111;
    transform:rotate(90deg);
}
.card-icon{
    width:74px;
    height:74px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:22px;

    margin-bottom:24px;

    background:
        linear-gradient(
            135deg,
            rgba(250,204,21,0.16),
            rgba(251,191,36,0.10)
        );

    color:#d97706;

    font-size:28px;

    box-shadow:
        inset 0 0 0 1px rgba(250,204,21,0.12);
}

.card-icon i{
    color:#d97706;
}
.finance-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:24px;
    margin-bottom:30px;
}

.finance-card{
    background:#fff;
    border-radius:22px;
    padding:30px;
    text-align:center;
    box-shadow:0 10px 30px rgba(15,23,42,.08);
    border:1px solid rgba(15,23,42,.05);
    transition:.3s;
}

.finance-card:hover{
    transform:translateY(-6px);
}

.finance-card h2{
    font-size:34px;
    color:#0f172a;
    margin-bottom:10px;
}

.finance-card p{
    color:#64748b;
    font-weight:600;
}
.login-card{
    max-width:500px;
    margin:auto;
}

.login-card input{
    width:100%;
    padding:12px 15px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:15px;
}

.login-card input:focus{
    outline:none;
    border-color:#c89b3c;
    box-shadow:0 0 0 3px rgba(200,155,60,.15);
}

.login-card .btn-primary{
    width:100%;
}
.btn{
    padding:8px 12px;
    border-radius:6px;
    text-decoration:none;
    color:#fff;
    background:#1e40af;
    font-size:13px;
    display:inline-block;
    cursor:pointer;
    position:relative;
    z-index:100;
}
/* =========================
   COOKIE BANNER
========================= */

.cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: min(900px, 92%);
    background: #0f172a; /* azul escuro institucional */
    color: #fff;
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.35);
    z-index: 9999;

    display: none;
}

.cookie-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.cookie-text h4 {
    margin: 0 0 6px 0;
    font-size: 16px;
    color: #facc15; /* dourado educativo */
}

.cookie-text p {
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #e2e8f0;
    max-width: 600px;
}

.cookie-actions {
    display: flex;
    gap: 10px;
}

.cookie-btn {
    border: none;
    padding: 10px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    transition: 0.2s ease;
}

/* aceitar */
.cookie-btn.accept {
    background: #16a34a;
    color: white;
}

.cookie-btn.accept:hover {
    background: #15803d;
}

/* rejeitar */
.cookie-btn.reject {
    background: #334155;
    color: white;
}

.cookie-btn.reject:hover {
    background: #1e293b;
}

/* responsivo */
@media (max-width: 600px) {
    .cookie-content {
        flex-direction: column;
        align-items: flex-start;
    }

    .cookie-actions {
        width: 100%;
    }

    .cookie-btn {
        flex: 1;
    }
}
/* ===================================
   FOOTER
=================================== */

.footer {
    background: #0f172a;
    color: #ffffff;
}

.footer h3,
.footer h4,
.footer p,
.footer li,
.footer address,
.footer span {
    color: #ffffff;
}

.footer a {
    color: #ffffff;
    text-decoration: none;
    transition: all .3s ease;
}

.footer a:hover {
    color: #facc15;
}

.footer-contact address {
    font-style: normal;
}

.footer-contact address p {
    color: #ffffff;
}

.footer-contact address a {
    color: #ffffff;
}

.footer-contact address a:hover {
    color: #facc15;
}

/* Links legais */
.footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.footer-legal a {
    color: #ffffff;
    font-size: 0.95rem;
}

.footer-legal a:hover {
    color: #facc15;
}

/* Navegação */
.footer-links a {
    display: block;
    color: #ffffff;
    margin-bottom: 8px;
}

.footer-links a:hover {
    color: #facc15;
}

/* Botão área de sócio */
.footer-member-btn {
    display: inline-block;
    background: #facc15;
    color: #0f172a !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 600;
    margin-top: 15px;
    text-decoration: none;
}

.footer-member-btn:hover {
    background: #eab308;
    color: #0f172a !important;
}

/* Rodapé inferior */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.15);
    margin-top: 30px;
    padding-top: 20px;
}

.footer-bottom p {
    color: #ffffff;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

@media (max-width: 768px) {

    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
    }

    .footer-legal {
        justify-content: center;
    }

}
/* ==========================================
   FOOTER - FORÇAR CORES
========================================== */

.footer,
.footer * {
    color: #ffffff;
}

.footer a,
.footer a:link,
.footer a:visited,
.footer a:active {
    color: #ffffff !important;
    text-decoration: none;
}

.footer a:hover {
    color: #facc15 !important;
}

.footer-contact p,
.footer-contact address,
.footer-contact span,
.footer-contact a {
    color: #ffffff !important;
}

.footer-links a,
.footer-legal a {
    color: #ffffff !important;
}

.footer-links a:hover,
.footer-legal a:hover {
    color: #facc15 !important;
}
.table-header th{
    background: linear-gradient(90deg, #d4af37, #f5d76e);
    color: #111;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px;
}
<div class="topbar-justify">

    <!-- CAIXA TEXTO LONGO (mantido igual) -->
    <span class="topbar-badge">
        Associação de Pais e Encarregados de Educação das Escolas do Coucinheiro e Bracara Augusta
    </span>

    <!-- APEECOBA + R FORA DA CAIXA -->
    <div class="topbar-title" style="display:flex; align-items:center; gap:6px;">

        <p style="margin:0; font-weight:600;">
            APEECOBA
        </p>

        <!-- R pequeno e subtil -->
        <a href="<?= $basePath ?>auth/login.php"
           title="Área Reservada"
           style="
               font-size:10px;
               font-weight:700;
               color:#d4af37;
               text-decoration:none;
               position:relative;
               top:-3px;
               opacity:0.8;
           ">
            R
        </a>

    </div>

</div>