:root{--green:#a9fe03;--bg:#070a08;--panel:#111611;--panel2:#171d18;--text:#f5f7f5;--muted:#9aa69d;--border:#29322b;--danger:#ff5c5c}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 85% 0,#20310c 0,transparent 28%),var(--bg);color:var(--text);font-family:Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:20;height:72px;background:rgba(7,10,8,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 4vw}
.brand{display:flex;align-items:center;gap:12px;font:700 18px "Roboto Condensed"}.brand img{height:34px;width:auto}.brand span{padding-left:12px;border-left:1px solid #4a574c;color:var(--green);letter-spacing:.18em}.topbar nav{display:flex;gap:22px;align-items:center;font-size:14px}.topbar nav a:hover{color:var(--green)}.hello{color:var(--muted)}
main{min-height:calc(100vh - 140px)}footer{border-top:1px solid var(--border);padding:28px 4vw;color:var(--muted);display:flex;justify-content:space-between}footer span{color:var(--green);font-weight:700}
.container{width:min(1180px,92vw);margin:0 auto;padding:42px 0}.hero{padding:80px 0 50px}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--green);font:700 13px "Roboto Condensed";letter-spacing:.15em;text-transform:uppercase}.eyebrow:before{content:"";width:26px;height:2px;background:var(--green)}
h1,h2,h3{font-family:"Roboto Condensed",sans-serif;margin:0 0 12px}h1{font-size:clamp(40px,6vw,76px);line-height:.95;max-width:900px}h2{font-size:32px}.lead{color:var(--muted);font-size:18px;max-width:720px;line-height:1.6}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 12px 40px rgba(0,0,0,.2)}.card:hover{border-color:#45513f}.card .meta{color:var(--muted);font-size:13px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:10px;border:1px solid var(--border);background:#1a201b;color:#fff;font-weight:700;cursor:pointer}.btn:hover{border-color:var(--green)}.btn-primary{background:var(--green);color:#071000;border-color:var(--green)}.btn-danger{background:#301616;border-color:#5a2828}.actions{display:flex;gap:10px;flex-wrap:wrap}
form.stack{display:grid;gap:15px;max-width:760px}.field{display:grid;gap:7px}.field label{font-size:13px;color:#c8d0ca;font-weight:600}.input,select,textarea,input{width:100%;background:#0e130f;color:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 13px;min-height:46px;outline:none}.input:focus,select:focus,textarea:focus,input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(169,254,3,.09)}textarea{min-height:110px}
.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:24px 0}.toolbar .field{min-width:160px}.badge{display:inline-flex;border:1px solid var(--border);border-radius:99px;padding:5px 9px;font-size:12px}.badge.ok{color:var(--green);border-color:#456514}.badge.warn{color:#ffd166}.badge.danger{color:#ff8e8e}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}tr:last-child td{border-bottom:0}
.notice{padding:13px 15px;border:1px solid #4d5c30;background:#17200d;border-radius:10px}.error{padding:13px 15px;border:1px solid #6d3030;background:#251111;border-radius:10px;color:#ffb1b1}.search-hero{padding:64px 0 24px}.searchbox{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;padding:12px;background:#0e130f;border:1px solid var(--border);border-radius:16px}
.slot-grid{display:flex;gap:9px;flex-wrap:wrap}.slot{background:#131a14;border:1px solid #354038;border-radius:9px;padding:10px 12px;cursor:pointer}.slot:hover,.slot.active{border-color:var(--green);color:var(--green)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.kpi{padding:20px;border-radius:15px;background:var(--panel);border:1px solid var(--border)}.kpi strong{display:block;font:700 30px "Roboto Condensed";color:var(--green)}.muted{color:var(--muted)}.auth{width:min(460px,92vw);margin:7vh auto}.auth .card{padding:30px}.auth h1{font-size:38px}
@media(max-width:800px){.grid,.grid2,.kpis{grid-template-columns:1fr}.searchbox{grid-template-columns:1fr}.topbar nav a:not(:last-child),.hello{display:none}h1{font-size:46px}.container{padding-top:28px}}


/* VAR.AGENDA - ambiente do espaço */
.topbar-left{display:flex;align-items:center;gap:12px}.sidebar-toggle{display:none;background:#151b16;color:#fff;border:1px solid var(--border);border-radius:9px;min-width:42px;height:42px;font-size:20px;cursor:pointer}
.space-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 72px)}
.space-sidebar{position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto;background:#0b0f0c;border-right:1px solid var(--border);padding:22px 14px;z-index:18}
.sidebar-title{padding:0 10px 18px;display:grid;gap:3px}.sidebar-title span{font-size:10px;letter-spacing:.16em;color:var(--green);font-weight:700}.sidebar-title strong{font-family:"Roboto Condensed";font-size:18px}
.sidebar-nav{display:grid;gap:4px}.sidebar-nav>a{display:grid;grid-template-columns:28px 1fr;align-items:center;min-height:44px;padding:0 12px;border-radius:9px;color:#c9d0cb;font-size:14px}.sidebar-nav>a>span{color:#87928a;font-weight:700}.sidebar-nav>a:hover,.sidebar-nav>a.active{background:#182016;color:#fff}.sidebar-nav>a.active{box-shadow:inset 3px 0 0 var(--green)}.sidebar-nav>a.active>span{color:var(--green)}
.sidebar-sep{font-size:10px;color:#69736b;letter-spacing:.12em;padding:18px 12px 7px;font-weight:700}.space-content{min-width:0;background:#0b0e14}.sidebar-backdrop{display:none}
.auth-links{margin-top:16px;justify-content:space-between}.auth-links a{color:var(--green);font-size:14px}

/* agenda visual */
.agenda-page{padding:14px 16px 24px}.agenda-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.agenda-nav-left,.agenda-nav-right,.view-switch{display:flex;align-items:center;gap:8px}.agenda-period{font-family:"Roboto Condensed";font-size:16px;margin-left:2px}.btn-compact{min-height:38px;padding:0 13px;font-size:12px}.btn.active{background:#6557ff;border-color:#756aff}.icon-btn{width:34px;height:34px;display:inline-grid;place-items:center;background:#1c2230;border:1px solid #323a51;border-radius:7px;font-size:23px}
.agenda-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:2px 0 13px;color:#b5bdc8;font-size:11px}.agenda-legend span{display:inline-flex;align-items:center;gap:5px}.agenda-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.agenda-legend .legend-block{background:#ef4655}.agenda-legend .legend-pix{background:#7d8a9c}.agenda-legend .legend-receive{background:transparent;border-top:2px solid #9aa7b8;border-radius:0}.agenda-legend small{color:#919bae}
.calendar-shell{border:1px solid #283047;border-radius:11px;overflow:hidden;background:#171b27}.calendar-head{display:grid;grid-template-columns:58px repeat(var(--days,7),minmax(120px,1fr));background:#171b25;border-bottom:1px solid #323a50}.time-head{border-right:1px solid #323a50}.day-head{height:54px;border-right:1px solid #323a50;display:grid;place-items:center;align-content:center;gap:2px}.day-head:last-child{border-right:0}.day-head span{font-size:10px;color:#8d99ac}.day-head strong{font-size:13px}.day-head.today{background:#252d4c}.day-head.today strong{color:#7d83ff}
.calendar-scroll{max-height:calc(100vh - 220px);overflow:auto}.calendar-body{display:grid;grid-template-columns:58px minmax(780px,1fr);position:relative;min-height:var(--calendar-height)}.time-axis{position:relative;background:#151923;border-right:1px solid #323a50}.time-axis span{position:absolute;right:8px;transform:translateY(-50%);font-size:10px;color:#90a0b8}
.days-grid{display:grid;grid-template-columns:repeat(var(--days,7),minmax(120px,1fr));position:relative}.agenda-day{position:relative;border-right:1px solid #323a50;overflow:hidden}.agenda-day:last-child{border-right:0}.hour-line,.half-line{position:absolute;left:0;right:0;border-top:1px solid #30384c;z-index:0}.half-line{border-top-style:dashed;opacity:.33}.free-slot-layer{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;padding:0;z-index:1;cursor:crosshair}.free-slot-layer:hover{background:rgba(169,254,3,.018)}
.calendar-event{position:absolute;z-index:4;border-radius:5px;padding:5px 6px;overflow:hidden;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.25);border-left:4px solid var(--court-color);background:color-mix(in srgb,var(--court-color) 28%,#151923);font-size:10px;pointer-events:auto}.calendar-event strong,.calendar-event span,.calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{font-size:10px}.calendar-event span{opacity:.9;margin-top:2px}.calendar-event small{opacity:.75;margin-top:3px}.calendar-event.waiting-pix{filter:saturate(.45);background:#374151;border-left-color:#8b98a9}.calendar-event.receivable{box-shadow:inset 0 -2px 0 #a8b1c1,0 3px 10px rgba(0,0,0,.25)}.calendar-event.paid{background:color-mix(in srgb,var(--court-color) 36%,#151923)}.calendar-event.blocked{--court-color:#ef4655;background:repeating-linear-gradient(135deg,#451d24,#451d24 7px,#33181e 7px,#33181e 14px);border-left-color:#ef4655}
.court-title-row{display:flex;align-items:center;gap:10px}.court-title-row h2{margin:0}.court-color-dot{width:14px;height:14px;border-radius:4px;box-shadow:0 0 0 3px rgba(255,255,255,.05)}.court-config-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.color-form{display:flex;gap:8px;align-items:center}.color-form input[type=color]{width:48px;min-height:46px;padding:4px;cursor:pointer}

/* adapta a quantidade real de colunas da agenda */
.calendar-shell:has(.day-head:nth-child(2):last-child) .calendar-head,
.calendar-shell:has(.agenda-day:nth-child(1):last-child) .days-grid{--days:1}

@media(max-width:1050px){
  .space-shell{grid-template-columns:1fr}.space-sidebar{position:fixed;left:0;top:72px;width:270px;transform:translateX(-105%);transition:transform .2s ease}.space-sidebar.open{transform:translateX(0)}.sidebar-toggle{display:inline-grid;place-items:center}.sidebar-backdrop.open{display:block;position:fixed;inset:72px 0 0;background:rgba(0,0,0,.5);z-index:17}.agenda-toolbar{align-items:flex-start;flex-direction:column}.agenda-nav-right{width:100%;overflow:auto}
}
@media(max-width:800px){.space-app .topbar nav .hello,.space-app .topbar nav a:not(:last-child){display:none}.agenda-page{padding:10px}.calendar-body{grid-template-columns:50px minmax(760px,1fr)}.calendar-head{grid-template-columns:50px repeat(var(--days,7),minmax(108px,1fr))}}

/* clientes / financeiro / edição */
.client-suggestions{display:grid;gap:6px;margin-top:4px;max-height:260px;overflow:auto}
.client-suggestions .client-option{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px}
.client-suggestions .client-option small{color:var(--muted);font-weight:400}
.calendar-event[href]{text-decoration:none;color:inherit;cursor:pointer}
.calendar-event[href]:hover{filter:brightness(1.12);outline:1px solid rgba(255,255,255,.25)}
.btn-compact{min-height:34px;padding:0 12px;border-radius:8px;font-size:12px}


/* cadastro jogador */
.auth-wide{max-width:900px;margin:0 auto}
.cadastro-card{width:min(860px,calc(100vw - 28px))}
.validation-summary:empty{display:none}
.field-error{display:block;color:#ff7b86;font-size:12px;margin-top:5px;min-height:0}
.captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:7px 0 10px}
.captcha-row img{border:1px solid #323a51;border-radius:10px;background:#171b27;user-select:none}
.captcha-input{text-transform:uppercase;letter-spacing:.22em;font-weight:700;max-width:260px}
.legal-acceptance{display:grid;gap:10px;padding:14px;border:1px solid #2d3547;border-radius:10px;background:#111621}
.check-row{display:flex;align-items:flex-start;gap:9px;color:#d9deea;font-size:14px;line-height:1.45}
.check-row input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:1px;accent-color:var(--green)}
.link-button{border:0;background:transparent;color:var(--green);padding:0;font:inherit;text-decoration:underline;cursor:pointer}
.legal-dialog{width:min(820px,calc(100vw - 28px));max-height:82vh;border:1px solid #323a51;border-radius:14px;background:#111621;color:#eef2f8;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.legal-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
.legal-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #2d3547;background:#111621}
.legal-dialog-head h2{margin:3px 0 0}
.legal-dialog-content{padding:20px;line-height:1.6;overflow-wrap:anywhere}
.legal-dialog-content h1,.legal-dialog-content h2,.legal-dialog-content h3,.legal-dialog-content h4{color:#fff}
@media(max-width:650px){.cadastro-card .grid2{grid-template-columns:1fr}.captcha-row{align-items:flex-start;flex-direction:column}}

/* VAR.AGENDA - pagamento público */
.pagamento-publico{width:min(760px,94vw);margin:0 auto}
.payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.payment-summary>div{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.035)}
.payment-summary small{display:block;opacity:.62;margin-bottom:5px}
.payment-summary strong{display:block}
.pix-box{text-align:center;padding:22px 0 8px}
.pix-box h2{margin-bottom:6px}
.pix-qrcode{display:block;width:min(280px,72vw);height:auto;margin:18px auto;background:#fff;padding:10px;border-radius:14px}
.copy-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch}
.copy-row textarea{min-height:100px;resize:vertical}
@media(max-width:640px){
  .payment-summary{grid-template-columns:1fr}
  .copy-row{grid-template-columns:1fr}
}
.player-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
}

@media (max-width: 768px) {

    .topbar {
        position: relative;
        flex-wrap: wrap;
    }

    .player-menu-toggle {
        display: flex;
        margin-left: auto;
    }

    .topbar-nav {
        width: 100%;
    }

    body:not(.space-app) .topbar-nav {
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 0 4px;
    }

        body:not(.space-app) .topbar-nav.open {
            display: flex;
        }

        body:not(.space-app) .topbar-nav .hello {
            padding: 10px 14px;
            opacity: .7;
            border-bottom: 1px solid rgba(255,255,255,.08);
        }

        body:not(.space-app) .topbar-nav a {
            display: block;
            width: 100%;
            padding: 13px 14px;
            border-radius: 8px;
        }

            body:not(.space-app) .topbar-nav a:hover {
                background: rgba(169,254,3,.08);
            }
}
@media (max-width: 768px) {

    .topbar {
        position: relative;
        z-index: 1000;
        flex-wrap: nowrap;
    }

    .player-menu-toggle {
        display: flex;
        margin-left: auto;
        flex: 0 0 auto;
    }

    body:not(.space-app) .topbar-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        padding: 8px 10px 12px;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        background: #090d0a;
        border-top: 1px solid rgba(255,255,255,.08);
        border-bottom: 1px solid rgba(169,254,3,.18);
        box-shadow: 0 18px 30px rgba(0,0,0,.45);
        z-index: 9999;
    }

        body:not(.space-app) .topbar-nav.open {
            display: flex;
        }

        body:not(.space-app) .topbar-nav .hello {
            display: block;
            padding: 10px 12px 8px;
            font-size: .85rem;
            opacity: .65;
            border-bottom: 1px solid rgba(255,255,255,.08);
            margin-bottom: 4px;
        }

        body:not(.space-app) .topbar-nav a {
            display: flex;
            align-items: center;
            width: 100%;
            min-height: 44px;
            padding: 11px 12px;
            color: #fff;
            text-decoration: none;
            border-radius: 8px;
            border: 0;
        }

            body:not(.space-app) .topbar-nav a:hover,
            body:not(.space-app) .topbar-nav a:focus {
                background: rgba(169,254,3,.10);
                color: #a9fe03;
            }

            body:not(.space-app) .topbar-nav a + a {
                border-top: 1px solid rgba(255,255,255,.04);
            }
}
@media (max-width: 768px) {
    body:not(.space-app) main {
        position: relative;
        z-index: 1;
    }
}