:root{
--navy:#082b47;--navy2:#0d3a5d;--blue:#245a82;--orange:#ff7118;--orange2:#ff8a33;
--sand:#eee0c6;--sand2:#faf6ee;--white:#fff;--ink:#15283a;--muted:#667789;--line:#dce3e8;
--ok:#17855c;--danger:#b53a3a;--shadow:0 14px 40px rgba(11,43,71,.09)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topo{background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:30}.topo-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}.marca{display:flex;align-items:center;gap:15px;text-decoration:none;height:100%}.marca img{width:205px;max-width:205px;height:72px;max-height:72px;object-fit:contain;object-position:left center}.marca span{font-size:11px;font-weight:800;letter-spacing:.6px;color:rgba(255,255,255,.55);border-left:1px solid rgba(255,255,255,.22);padding-left:15px;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:27px}.main-nav a{color:#fff;text-decoration:none;font-weight:800;font-size:14px}.main-nav a:hover{color:var(--orange)}.main-nav .entrar{border:1px solid rgba(255,255,255,.45);padding:11px 20px;border-radius:999px}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:25px}
.hero{min-height:600px;background:linear-gradient(110deg,#0b3556 0%,#1d537c 65%,#3f6d91 100%);color:#fff;display:flex;align-items:center;position:relative;overflow:hidden;border-bottom:10px solid var(--sand)}.hero-court{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.88%,rgba(255,255,255,.07) 50%,transparent 50.12%),linear-gradient(0deg,transparent 66.5%,rgba(255,255,255,.06) 66.7%,transparent 66.9%)}.hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(238,224,198,.17);right:-110px;bottom:-260px}.hero-content{position:relative;z-index:2}.hero-tag,.eyebrow{display:inline-block;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}.hero-tag{border:1px solid rgba(255,113,24,.65);padding:8px 13px;border-radius:99px;margin-bottom:26px}.hero h1{font-size:clamp(58px,7vw,96px);line-height:.89;letter-spacing:-4px;margin:0;max-width:720px}.hero h1 span{color:var(--orange)}.hero p{font-size:20px;line-height:1.55;max-width:610px;color:rgba(255,255,255,.88);margin:28px 0 0}.hero-actions{display:flex;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:8px;text-decoration:none;font-size:14px;font-weight:900;cursor:pointer}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:#e95f07;transform:translateY(-1px)}.btn-secondary{background:var(--navy);color:#fff}.btn-outline{border:1px solid rgba(255,255,255,.48);color:#fff;background:transparent}.btn-ghost{background:#eef2f5;color:var(--ink)}.btn-block{width:100%}.btn-small{min-height:40px;padding:0 16px;font-size:12px}
.section{padding:78px 0}.section.sand{background:var(--sand2)}.section.navy{background:var(--navy);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-heading h2{font-size:clamp(30px,4vw,48px);margin:7px 0 0;color:var(--navy)}.section-heading>p{max-width:470px;color:var(--muted);line-height:1.6;margin:0}.section-heading.light h2{color:#fff}.text-link{font-weight:900;color:var(--navy);text-decoration:none}.light-link{color:#fff}
.feature-grid,.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card,.event-card{background:#fff;border:1px solid rgba(8,43,71,.08);border-radius:16px;padding:30px;text-decoration:none;box-shadow:var(--shadow);transition:.18s}.feature-card:hover,.event-card:hover{transform:translateY(-4px)}.feature-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--orange);color:#fff;font-weight:900;margin-bottom:22px}.feature-card h3,.event-card h3{font-size:23px;color:var(--navy);margin:0 0 10px}.feature-card p{color:var(--muted);line-height:1.55;margin:0}.event-card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:24px}.event-date{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.6px}.event-more{display:block;margin-top:25px;font-weight:900;color:var(--orange)}.dark-card{background:#103b5d;border-color:rgba(255,255,255,.08);box-shadow:none}.dark-card h3,.dark-card .event-more{color:#fff}.dark-card .event-date{color:rgba(255,255,255,.65)}
.pill{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border-radius:99px;background:#eef1f4;color:#5b6772;font-size:10px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}.pill.type{background:#fff0e5;color:#b74c08}.pill.ok{background:#e5f5ed;color:#137454}.pill.open{background:#e6f0fb;color:#1c5b8d}.pill.danger{background:#fdeaea;color:#a63232}.pill.pending{background:#fff2df;color:#a65c08}
.empty-card{padding:28px;border:1px dashed #c8d2d9;border-radius:14px;color:var(--muted);background:#fff}.empty-card.dark{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.65)}
.ranking-card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.ranking-card{overflow:hidden}.ranking-card-head,.ranking-row{display:grid;grid-template-columns:70px 1fr 120px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line)}.ranking-card-head{grid-template-columns:1fr auto;background:var(--navy);color:#fff}.rank-pos{font-weight:900;color:var(--orange);font-size:19px}
.footer{background:#041d30;color:#fff;padding:48px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer strong{color:var(--orange);font-size:20px}.footer p{color:rgba(255,255,255,.55)}.footer-links{display:flex;gap:20px;align-items:center}.footer-links a{color:#fff;text-decoration:none;font-size:13px}
.page-hero{background:linear-gradient(120deg,var(--navy),#174c73);color:#fff;padding:58px 0;border-bottom:7px solid var(--sand)}.page-hero h1{font-size:clamp(38px,5vw,62px);margin:8px 0 8px;letter-spacing:-2px}.page-hero p{margin:0;color:rgba(255,255,255,.72);font-size:17px}.page-section{padding-top:50px}.narrow{max-width:560px}.form-wide{max-width:900px}
.panel{padding:28px;margin-bottom:22px}.panel h2,.panel h3{margin-top:0;color:var(--navy)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.panel-head h2{margin:0}
.form-card label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:900;color:#4c5d6b;margin-bottom:17px}.form-card input,.form-card select,.form-card textarea,.filter-bar input,.filter-bar select{width:100%;border:1px solid #cbd5dc;border-radius:8px;background:#fff;padding:12px 13px;font:inherit;color:var(--ink);outline:none}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,113,24,.12)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.span-2{grid-column:span 2}.form-section{font-size:14px;font-weight:900;color:var(--navy);border-top:1px solid var(--line);padding-top:20px;margin:7px 0 18px}.form-error{background:#fdeaea;border:1px solid #f4c4c4;color:#912f2f;padding:14px 16px;border-radius:9px;margin-bottom:18px}.form-error ul{margin:7px 0 0}.form-foot{text-align:center;color:var(--muted);font-size:13px}.notice{background:#edf5fb;border-left:4px solid #4a88b5;color:#315b79;padding:14px 16px;border-radius:8px;margin-bottom:20px;line-height:1.5}
.flash-wrap{padding-top:16px}.flash{padding:13px 15px;border-radius:9px;font-weight:700;margin-bottom:8px}.flash.success{background:#e5f5ed;color:#126b4d}.flash.error{background:#fdeaea;color:#922f2f}.flash.info{background:#e9f2fb;color:#285d84}
.filter-tabs,.admin-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filter-tabs a,.admin-nav a{padding:10px 15px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:900;background:#eef2f5;color:var(--navy)}.filter-tabs a.active,.admin-nav a:hover{background:var(--orange);color:#fff}
.event-detail-grid,.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.sticky{position:sticky;top:20px}.meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:25px 0}.meta-grid div{background:#f5f7f8;border-radius:10px;padding:14px}.meta-grid small,.rank-stat small,.rank-points small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800;margin-bottom:5px}.prose{line-height:1.7;color:#536575}.category-row,.history-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.category-row>div{display:flex;flex-direction:column}.category-row span,.category-row small,.history-row span{font-size:12px;color:var(--muted)}.big-status{display:inline-flex;padding:10px 13px;border-radius:8px;font-size:12px;font-weight:900;margin-bottom:18px}.big-status.open,.big-status.ok{background:#e5f5ed;color:#137454}.big-status.pending{background:#fff2df;color:#a65c08}.big-status.danger{background:#fdeaea;color:#a63232}.pix-box{background:var(--sand2);border:1px solid #ead9bb;padding:16px;border-radius:10px;margin:16px 0;display:flex;flex-direction:column;gap:5px}.pix-box strong{font-size:17px;color:var(--navy);word-break:break-all}.pix-box.large{padding:22px;margin-bottom:25px}.pix-box.large strong{font-size:23px}
.filter-bar{display:flex;align-items:end;gap:13px;background:#f4f6f7;padding:16px;border-radius:12px;margin-bottom:22px}.filter-bar label{font-size:11px;font-weight:900;color:#526271;min-width:180px}.filter-bar label input,.filter-bar label select{margin-top:6px}.ranking-table{padding:0;overflow:hidden}.ranking-line{display:grid;grid-template-columns:65px minmax(0,1fr) 90px 90px 120px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.rank-badge{font-size:20px;font-weight:900;color:var(--orange)}.rank-name{display:flex;flex-direction:column}.rank-name small{color:var(--muted);margin-top:3px}.rank-stat{text-align:center}.rank-stat strong{font-size:17px}.rank-points{text-align:right;font-size:21px;font-weight:900;color:var(--navy)}.rank-points small{margin-top:2px}
.stack{display:flex;flex-direction:column;gap:12px}.participation{display:grid;grid-template-columns:1fr auto;gap:8px;background:#f7f8f9;border-radius:11px;padding:15px}.participation>div:first-child,.participation-right{display:flex;flex-direction:column;gap:5px}.participation a{text-decoration:none;color:var(--navy)}.participation span{font-size:12px;color:var(--muted)}.participation-right{align-items:end}.shirt-note{grid-column:1/-1;background:#fff0e5;color:#a94a0c;padding:7px 9px;border-radius:7px;font-size:11px;font-weight:900}.history-row>div{display:flex;flex-direction:column;gap:4px}.check-card{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;background:#f7f8f9;border:1px solid var(--line);padding:13px;border-radius:10px;cursor:pointer}.check-card input{width:auto!important}.check-card span{display:flex;flex-direction:column;gap:3px}.check-card small{color:var(--muted)}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.inline-check{display:flex!important;flex-direction:row!important;align-items:center!important}.inline-check input{width:auto!important}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#687887;background:#f6f8f9}.actions{display:flex;gap:10px;align-items:center}.actions form{display:flex;gap:8px}.link-btn{border:0;background:none;padding:0;cursor:pointer;text-decoration:underline;font-weight:800}.ok-text{color:var(--ok)}.danger-text{color:var(--danger)}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:var(--shadow)}.stat-card small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:900;margin-bottom:7px}.stat-card strong{font-size:25px;color:var(--navy)}.stat-card.alert{border-bottom:4px solid var(--orange)}.admin-columns{display:grid;grid-template-columns:1fr 1.3fr;gap:20px}
@media(max-width:900px){.marca span{display:none}.feature-grid,.event-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(3,1fr)}.event-detail-grid,.dashboard-grid,.admin-columns{grid-template-columns:1fr}.sticky{position:static}}
@media(max-width:760px){.container{width:min(100% - 26px,1180px)}.topo-inner{height:82px}.marca img{width:160px;max-width:160px;height:60px}.menu-btn{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--navy);padding:15px 20px 22px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:8px}.hero{min-height:540px}.hero h1{font-size:58px;letter-spacing:-3px}.hero p{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch;max-width:280px}.section{padding:55px 0}.section-heading{align-items:flex-start;flex-direction:column}.feature-grid,.event-grid{grid-template-columns:1fr}.form-grid,.check-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.meta-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar label{min-width:0}.ranking-line{grid-template-columns:48px 1fr 80px}.ranking-line .rank-stat{display:none}.ranking-line .rank-points{font-size:17px}.stats-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{flex-direction:column}.footer-links{flex-wrap:wrap}.participation{grid-template-columns:1fr}.participation-right{align-items:flex-start}.shirt-note{grid-column:1}}


/* ==========================================================
   HOME ESPECIAL - ARENA THM / BEACH TENNIS
   ========================================================== */


/* HERO MAIS CINEMATOGRÁFICO */

.hero {
    background:
        linear-gradient(
            110deg,
            rgba(5, 32, 54, .95) 0%,
            rgba(15, 65, 99, .87) 48%,
            rgba(35, 88, 125, .72) 100%
        ),
        url('/assets/img/home/hero.jpg')
        center center / cover no-repeat !important;

    position: relative;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            transparent 49.85%,
            rgba(255,255,255,.07) 50%,
            transparent 50.15%
        ),
        linear-gradient(
            0deg,
            transparent 68%,
            rgba(255,255,255,.055) 68.2%,
            transparent 68.4%
        );

    pointer-events: none;
}

.hero::after {
    content: "";
    position: absolute;

    width: 620px;
    height: 620px;

    right: -210px;
    bottom: -390px;

    border-radius: 50%;

    background:
        rgba(238,224,198,.19);

    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-tag {
    background: rgba(255,113,24,.16) !important;
    border-color: rgba(255,113,24,.55) !important;
}


/* ==========================================================
   EXPERIÊNCIA ARENA
   ========================================================== */

.special-highlight {
    padding: 82px 0;

    background:
        linear-gradient(
            180deg,
            #f0e2c9 0%,
            #f9f4ea 45%,
            #ffffff 100%
        );

    position: relative;
    overflow: hidden;
}

.special-highlight::before {
    content: "";

    position: absolute;

    width: 430px;
    height: 430px;

    left: -230px;
    bottom: -280px;

    border-radius: 50%;

    background:
        rgba(255,113,24,.07);
}


.special-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, .95fr);

    gap: 30px;

    position: relative;
    z-index: 2;
}


/* FOTO */

.special-photo {
    min-height: 460px;

    border-radius: 24px;

    position: relative;
    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            rgba(5,32,54,.05),
            rgba(5,32,54,.58)
        ),
        url('/assets/img/home/especial.jpg')
        center center / cover no-repeat,
        linear-gradient(
            135deg,
            #2e719d,
            #123d5c
        );

    box-shadow:
        0 22px 60px rgba(8,43,71,.18);
}

.special-photo::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            transparent 49.8%,
            rgba(255,255,255,.11) 50%,
            transparent 50.2%
        ),
        linear-gradient(
            0deg,
            transparent 68%,
            rgba(255,255,255,.08) 68.3%,
            transparent 68.6%
        );

    pointer-events: none;
}


.special-photo-label {
    position: absolute;

    left: 28px;
    bottom: 28px;

    color: white;

    display: flex;
    flex-direction: column;

    text-shadow:
        0 2px 20px rgba(0,0,0,.35);
}

.special-photo-label span {
    color: #ff8a33;

    font-size: 12px;
    font-weight: 900;

    letter-spacing: 1.5px;
}

.special-photo-label strong {
    font-size: 33px;

    margin-top: 5px;
}


/* TEXTO */

.special-card {
    border-radius: 24px;

    padding: 44px;

    background:
        rgba(255,255,255,.96);

    border:
        1px solid rgba(8,43,71,.08);

    box-shadow:
        0 22px 60px rgba(8,43,71,.12);

    display: flex;
    flex-direction: column;
    justify-content: center;
}


.special-card h2 {
    color: #082b47;

    font-size:
        clamp(32px, 4vw, 48px);

    line-height: 1.04;

    letter-spacing: -1.7px;

    margin:
        12px 0 20px;
}


.special-card p {
    color: #637481;

    line-height: 1.75;

    font-size: 16px;

    margin:
        0 0 16px;
}


.special-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 18px;
}


/* ==========================================================
   TRÊS CARDS PRINCIPAIS
   ========================================================== */

.feature-card {
    min-height: 275px !important;

    position: relative;

    overflow: hidden;

    border: 0 !important;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    color: white !important;

    box-shadow:
        0 18px 45px rgba(8,43,71,.13)
        !important;
}


.feature-card::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(5,32,54,.04) 0%,
            rgba(5,32,54,.28) 42%,
            rgba(5,32,54,.91) 100%
        );

    z-index: 0;
}


.feature-card > * {
    position: relative;
    z-index: 2;
}


.feature-card h3 {
    color: white !important;

    font-size: 25px !important;
}


.feature-card p {
    color:
        rgba(255,255,255,.78)
        !important;
}


.feature-card .feature-icon {
    background:
        rgba(255,113,24,.92)
        !important;

    box-shadow:
        0 8px 25px
        rgba(0,0,0,.15);
}


/* TORNEIOS */

.feature-card:nth-child(1) {
    background:
        url('/assets/img/home/torneios.jpg')
        center center / cover no-repeat,
        linear-gradient(
            135deg,
            #306f98,
            #174462
        );
}


/* CAMPEONATOS */

.feature-card:nth-child(2) {
    background:
        url('/assets/img/home/campeonatos.jpg')
        center center / cover no-repeat,
        linear-gradient(
            135deg,
            #486b43,
            #24462e
        );
}


/* RANKING */

.feature-card:nth-child(3) {
    background:
        url('/assets/img/home/ranking.jpg')
        center center / cover no-repeat,
        linear-gradient(
            135deg,
            #aa6123,
            #603817
        );
}


/* ==========================================================
   CARDS DE EVENTOS
   ========================================================== */

.event-card {
    border-radius: 19px !important;

    box-shadow:
        0 16px 45px
        rgba(8,43,71,.10)
        !important;
}

.event-card:hover {
    transform:
        translateY(-6px);
}


/* ==========================================================
   RANKING
   ========================================================== */

#ranking {
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f2f6f8
        );
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 950px) {

    .special-grid {
        grid-template-columns: 1fr;
    }

    .special-photo {
        min-height: 350px;
    }

}


@media (max-width: 760px) {

    .special-highlight {
        padding: 55px 0;
    }

    .special-photo {
        min-height: 300px;
    }

    .special-card {
        padding: 28px;
    }

    .special-card h2 {
        font-size: 32px;
    }

    .special-actions {
        flex-direction: column;
    }

    .feature-card {
        min-height: 235px !important;
    }

}
