html { scroll-behavior: smooth; }

body.futibas-public-home,
body.futibas-public-privacy,
body.futibas-management {
    margin: 0 !important;
    padding: 0 !important;
    background: #f2f5f2;
    color: #17211b;
}

body.futibas-public-home #wpadminbar,
body.futibas-public-privacy #wpadminbar,
body.futibas-management #wpadminbar {
    display: none !important;
}

.futibas-product {
    --g950:#091f14;
    --g900:#0f2d1d;
    --g800:#15462e;
    --g700:#176f42;
    --g600:#17874f;
    --g100:#e5f4eb;
    --g50:#f3f9f5;
    --ink:#17211b;
    --muted:#6f7a73;
    --line:#dce5df;
    --red:#b43c43;
    --shadow:0 18px 50px rgba(14,42,28,.08);
    --shadow-soft:0 8px 24px rgba(14,42,28,.06);
    min-height: 100vh;
    background:
        radial-gradient(circle at 8% 0%, rgba(32,165,94,.07), transparent 28rem),
        #f2f5f2;
    color: var(--ink);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.futibas-product *,
.futibas-product *:before,
.futibas-product *:after,
.futibas-auth-experience *,
.futibas-auth-experience *:before,
.futibas-auth-experience *:after { box-sizing: border-box; }

.futibas-product a,
.futibas-auth-experience a {
    transition: color .18s, background-color .18s, border-color .18s, transform .18s;
}

.futibas-product-mark {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    flex:0 0 43px;
    border-radius:13px;
    background:linear-gradient(145deg,#1a9958,#155035);
    color:#fff;
    font-size:13px;
    font-weight:850;
    letter-spacing:.07em;
    box-shadow:0 9px 22px rgba(23,110,66,.20);
}

.fp-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:22px 0;
}

.fp-brand,.fm-brand {
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:var(--ink);
    text-decoration:none;
}

.fp-brand > span:last-child,
.fm-brand > span:last-child { display:grid; gap:1px; }

.fp-brand strong,.fm-brand strong { color:var(--ink); font-size:14px; font-weight:760; }
.fp-brand small,.fm-brand small { color:var(--muted); font-size:10px; }

.fp-header nav { display:flex; align-items:center; gap:22px; }
.fp-header nav a { color:#4f5b54; font-size:12px; font-weight:700; text-decoration:none; }
.fp-header nav a:hover { color:var(--g700); }

.fp-header .fp-nav-cta {
    border:1px solid var(--g700);
    border-radius:10px;
    background:var(--g700);
    padding:9px 13px;
    color:#fff;
}

.fp-hero {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
    gap:18px;
    width:min(1180px,calc(100% - 40px));
    margin:26px auto 0;
}

.fp-hero-copy {
    display:flex;
    min-height:540px;
    flex-direction:column;
    justify-content:center;
    padding:52px 44px;
    border:1px solid var(--line);
    border-radius:28px;
    background:rgba(255,255,255,.88);
    box-shadow:var(--shadow);
}

.fp-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:fit-content;
    color:var(--g600);
    font-size:10px;
    font-weight:850;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.fp-eyebrow:before {
    width:6px;
    height:6px;
    border-radius:50%;
    background:currentColor;
    box-shadow:0 0 0 4px rgba(32,165,94,.09);
    content:"";
}

.fp-hero h1 {
    max-width:760px;
    margin:17px 0;
    color:var(--ink);
    font-size:clamp(48px,6.2vw,78px);
    font-weight:610;
    line-height:.98;
    letter-spacing:-.058em;
}

.fp-hero-copy > p {
    max-width:680px;
    margin:0;
    color:var(--muted);
    font-size:17px;
    line-height:1.65;
}

.fp-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:26px; }

.fp-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    border:1px solid transparent;
    border-radius:11px;
    padding:0 17px;
    font-size:12px;
    font-weight:760;
    text-decoration:none;
    cursor:pointer;
}

.fp-button-primary {
    border-color:var(--g700);
    background:var(--g700);
    color:#fff;
    box-shadow:0 9px 22px rgba(23,111,66,.16);
}

.fp-button-primary:hover { background:var(--g800); color:#fff; transform:translateY(-1px); }

.fp-button-secondary {
    border-color:#c9d7ce;
    background:#fff;
    color:var(--g800);
}

.fp-button-secondary:hover { background:var(--g50); color:var(--g950); }

.fp-proof { display:flex; gap:8px; flex-wrap:wrap; margin-top:28px; }
.fp-proof span {
    border:1px solid var(--line);
    border-radius:999px;
    background:#f8faf8;
    padding:6px 10px;
    color:#647168;
    font-size:10px;
    font-weight:700;
}

.fp-hero-panel {
    display:flex;
    min-height:540px;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;
    padding:42px;
    border-radius:28px;
    background:
        radial-gradient(circle at 80% 10%,rgba(68,208,128,.25),transparent 28%),
        linear-gradient(145deg,var(--g950),var(--g900) 54%,#123a27);
    color:#fff;
    box-shadow:0 24px 65px rgba(10,32,21,.17);
}

.fp-hero-panel .fp-eyebrow,.fm-next-game-card .fp-eyebrow { color:#76dfa4; }

.fp-game-date,.fm-game-date { display:inline-grid; width:fit-content; margin:17px 0; text-align:center; }
.fp-game-date strong,.fm-game-date strong { color:#fff; font-size:68px; font-weight:620; line-height:.9; letter-spacing:-.05em; }
.fp-game-date span,.fm-game-date span { margin-top:5px; color:#87e5ae; font-size:11px; font-weight:850; letter-spacing:.15em; }

.fp-hero-panel h2 { margin:7px 0; color:#fff; font-size:33px; font-weight:630; letter-spacing:-.035em; }
.fp-hero-panel p { margin:0; color:rgba(237,247,241,.68); }

.fp-game-status {
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:fit-content;
    margin-top:20px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    padding:7px 10px;
    color:rgba(255,255,255,.82);
    font-size:10px;
    font-weight:760;
}

.fp-game-status span { width:6px; height:6px; border-radius:50%; background:#74dfa4; }

.fp-section {
    width:min(1180px,calc(100% - 40px));
    margin:92px auto 0;
}

.fp-section-heading { max-width:720px; }
.fp-section-heading h2 {
    margin:11px 0;
    font-size:clamp(34px,4.4vw,52px);
    font-weight:620;
    line-height:1.05;
    letter-spacing:-.045em;
}
.fp-section-heading p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }

.fp-feature-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
    margin-top:30px;
}

.fp-feature-grid article {
    min-height:225px;
    padding:26px;
    border:1px solid var(--line);
    border-radius:19px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.fp-feature-grid article > span { color:var(--g600); font-size:11px; font-weight:850; }
.fp-feature-grid h3 { margin:45px 0 8px; font-size:22px; font-weight:650; }
.fp-feature-grid p { margin:0; color:var(--muted); line-height:1.6; }

.fp-dark-section {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:32px;
    width:min(1180px,calc(100% - 40px));
    margin:92px auto 0;
    padding:44px;
    border-radius:26px;
    background:
        radial-gradient(circle at 92% 4%,rgba(54,184,106,.18),transparent 28%),
        var(--g950);
    color:#fff;
}

.fp-dark-section .fp-eyebrow { color:#75dfa4; }
.fp-dark-section h2 { margin:12px 0 0; color:#fff; font-size:clamp(32px,4vw,48px); font-weight:620; letter-spacing:-.04em; }
.fp-dark-section > div:last-child { display:grid; gap:8px; align-content:center; }
.fp-dark-section > div:last-child span {
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    background:rgba(255,255,255,.055);
    padding:14px 15px;
    color:rgba(255,255,255,.80);
    font-size:12px;
    font-weight:680;
}

.fp-transparency-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
    margin-top:24px;
}

.fp-transparency-grid > div {
    padding:22px;
    border:1px solid var(--line);
    border-radius:17px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.fp-transparency-grid span,.fp-transparency-grid strong { display:block; }
.fp-transparency-grid span { color:var(--muted); font-size:10px; font-weight:760; text-transform:uppercase; }
.fp-transparency-grid strong { margin-top:8px; font-size:29px; font-weight:650; }

.fp-cta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    width:min(1180px,calc(100% - 40px));
    margin:92px auto 0;
    padding:37px 40px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--shadow);
}

.fp-cta h2 { margin:8px 0 7px; font-size:32px; font-weight:630; letter-spacing:-.03em; }
.fp-cta p { margin:0; color:var(--muted); }
.fp-cta .fp-actions { margin-top:0; }

.fp-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:min(1180px,calc(100% - 40px));
    margin:82px auto 0;
    padding:24px 0 30px;
    border-top:1px solid var(--line);
}
.fp-footer > div:last-child { display:flex; gap:18px; }
.fp-footer a { color:var(--muted); font-size:11px; font-weight:680; text-decoration:none; }

.fp-simple-page {
    width:min(940px,calc(100% - 40px));
    margin:54px auto 0;
    padding:48px;
    border:1px solid var(--line);
    border-radius:25px;
    background:#fff;
    box-shadow:var(--shadow);
}

.fp-back { display:inline-flex; margin-bottom:38px; color:var(--g700); font-size:12px; font-weight:730; text-decoration:none; }
.fp-simple-page h1 { max-width:760px; margin:12px 0; font-size:clamp(40px,5.8vw,62px); font-weight:610; line-height:1; letter-spacing:-.05em; }
.fp-lead { color:var(--muted); font-size:16px; line-height:1.7; }

.fp-policy-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:32px;
}

.fp-policy-grid article {
    padding:22px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8faf8;
}
.fp-policy-grid h2 { margin:0 0 8px; font-size:17px; }
.fp-policy-grid p,.fp-policy-note p { margin:0; color:var(--muted); line-height:1.65; }

.fp-policy-note {
    margin-top:12px;
    padding:22px;
    border-radius:16px;
    background:var(--g950);
    color:#fff;
}
.fp-policy-note p { color:rgba(255,255,255,.72); }

.fm-topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:74px;
    padding:0 26px;
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.94);
}

.fm-user { display:flex; align-items:center; gap:13px; }
.fm-user > span { display:grid; gap:1px; text-align:right; }
.fm-user strong { font-size:12px; }
.fm-user small { color:var(--muted); font-size:10px; }
.fm-user > a { border:1px solid var(--line); border-radius:9px; padding:7px 10px; color:var(--g800); font-size:10px; font-weight:730; text-decoration:none; }

.fm-layout { display:grid; grid-template-columns:230px minmax(0,1fr); min-height:calc(100vh - 74px); }

.fm-sidebar {
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:24px 15px;
    border-right:1px solid var(--line);
    background:#fff;
}

.fm-sidebar a {
    border-radius:10px;
    padding:10px 12px;
    color:#647168;
    font-size:11px;
    font-weight:720;
    text-decoration:none;
}

.fm-sidebar a:hover { background:var(--g50); color:var(--g800); }
.fm-sidebar a.is-active { background:var(--g900); color:#fff; }
.fm-sidebar-divider { height:1px; margin:10px 0; background:var(--line); }

.fm-main { width:min(1260px,100%); padding:38px; }

.fm-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}

.fm-heading h1 { margin:9px 0 7px; font-size:clamp(32px,4vw,46px); font-weight:620; line-height:1.03; letter-spacing:-.045em; }
.fm-heading p { max-width:690px; margin:0; color:var(--muted); line-height:1.6; }
.fm-period { border:1px solid var(--line); border-radius:999px; background:#fff; padding:8px 12px; color:#66716a; font-size:10px; font-weight:740; }

.fm-metrics {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}

.fm-metric {
    position:relative;
    overflow:hidden;
    min-height:118px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:17px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.fm-metric:before { position:absolute; top:0; right:0; left:0; height:4px; background:var(--g600); content:""; }
.fm-metric span,.fm-metric strong { display:block; }
.fm-metric span { margin-bottom:10px; color:var(--muted); font-size:10px; font-weight:780; text-transform:uppercase; }
.fm-metric strong { font-size:27px; font-weight:650; letter-spacing:-.03em; }
.fm-metric.is-danger { border-color:#efc9cc; background:#fffafa; }
.fm-metric.is-danger:before { background:var(--red); }
.fm-metric.is-danger strong { color:var(--red); }
.fm-metric.is-neutral:before { background:#b69248; }
.fm-metric.is-dark:before { background:var(--g950); }

.fm-grid { display:grid; gap:12px; }
.fm-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }

.fm-card {
    margin-bottom:12px;
    padding:23px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.fm-card h2 { margin:8px 0; font-size:23px; font-weight:640; letter-spacing:-.025em; }
.fm-card p { color:var(--muted); line-height:1.6; }

.fm-next-game-card {
    min-height:250px;
    background:
        radial-gradient(circle at 88% 5%,rgba(80,205,132,.20),transparent 27%),
        linear-gradient(145deg,var(--g950),#123725);
    color:#fff;
}
.fm-next-game-card h2 { color:#fff; font-size:30px; }
.fm-next-game-card p { color:rgba(255,255,255,.70); }

.fm-game-date.small { width:56px; flex:0 0 56px; margin:0; border-radius:12px; background:var(--g950); padding:9px; }
.fm-game-date.small strong { font-size:26px; }

.fm-split-stats {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin:18px 0;
}
.fm-split-stats > div { border:1px solid var(--line); border-radius:12px; background:#f8faf8; padding:15px; }
.fm-split-stats strong,.fm-split-stats span { display:block; }
.fm-split-stats strong { font-size:24px; }
.fm-split-stats span { margin-top:3px; color:var(--muted); font-size:10px; }

.fm-text-link { color:var(--g700); font-size:11px; font-weight:740; text-decoration:none; }
.fm-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }

.fm-overdue-list { display:grid; gap:7px; margin-top:16px; }
.fm-overdue-list > div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8faf8;
    padding:12px 14px;
}
.fm-overdue-list > div > span { display:grid; gap:3px; }
.fm-overdue-list small { color:var(--muted); }

.fm-empty { margin-top:14px; border:1px dashed #ced8d1; border-radius:12px; background:#fafcfb; padding:22px; color:var(--muted); text-align:center; }

.fm-action-strip {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    padding:17px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}
.fm-action-strip > div:not(.fm-action-buttons) { min-width:145px; }
.fm-action-strip strong,.fm-action-strip span { display:block; }
.fm-action-strip strong { font-size:21px; }
.fm-action-strip span { color:var(--muted); font-size:10px; }
.fm-action-buttons { display:flex; gap:8px; flex-wrap:wrap; margin-left:auto; }

.fm-game-list { display:grid; gap:8px; }
.fm-game-list article {
    display:flex;
    align-items:center;
    gap:15px;
    padding:13px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}
.fm-game-main { display:grid; min-width:0; flex:1; gap:3px; }
.fm-game-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-game-main span,.fm-game-meta { color:var(--muted); font-size:10px; }
.fm-game-meta { display:flex; align-items:center; gap:10px; }
.fm-badge { border-radius:999px; background:var(--g100); padding:5px 8px; color:var(--g700); font-weight:760; }

.fm-settings-form { display:grid; gap:12px; }
.fm-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.fm-field { display:grid; gap:6px; margin-top:13px; }
.fm-field > span { color:var(--muted); font-size:10px; font-weight:750; }
.fm-field input,.fm-field textarea {
    width:100%;
    border:1px solid #cbd8cf;
    border-radius:10px;
    background:#fff;
    padding:10px 11px;
    color:var(--ink);
    font:inherit;
}
.fm-field input { min-height:42px; }
.fm-field input:focus,.fm-field textarea:focus { border-color:var(--g600); box-shadow:0 0 0 3px rgba(23,135,79,.10); outline:none; }

.fm-toggle {
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-top:13px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#f8faf8;
    padding:14px;
}
.fm-toggle > span { display:grid; gap:3px; }
.fm-toggle strong { font-size:12px; }
.fm-toggle small { color:var(--muted); line-height:1.5; }
.fm-form-actions { display:flex; gap:8px; flex-wrap:wrap; }

.fm-notice { margin-bottom:14px; border-radius:11px; padding:12px 14px; font-size:11px; }
.fm-notice.is-success { border:1px solid #badfc8; background:#edf8f1; color:#1c7143; }
.fm-notice.is-error { border:1px solid #edc5c8; background:#fff1f2; color:#a03339; }

.fm-login-screen {
    display:grid;
    min-height:100vh;
    place-items:center;
    padding:30px 18px;
    background:
        radial-gradient(circle at 12% 0%,rgba(32,165,94,.10),transparent 28rem),
        #eef2ef;
}

.fm-login-brand {
    position:fixed;
    top:24px;
    left:28px;
    display:inline-flex;
    align-items:center;
    gap:11px;
}
.fm-login-brand > span:last-child { display:grid; }
.fm-login-brand strong { font-size:13px; }
.fm-login-brand small { color:var(--muted); font-size:10px; }

.fm-login-card {
    width:min(430px,100%);
    padding:34px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--shadow);
}
.fm-login-card h1 { margin:9px 0; font-size:35px; font-weight:620; letter-spacing:-.04em; }
.fm-login-card > p { margin:0 0 20px; color:var(--muted); line-height:1.6; }
.fm-login-card form { display:grid; gap:12px; }
.fm-login-card form > label:not(.fm-checkbox) { display:grid; gap:6px; }
.fm-login-card label > span { color:var(--muted); font-size:10px; font-weight:740; }
.fm-login-card input[type="text"],.fm-login-card input[type="password"] {
    min-height:44px;
    border:1px solid #cad7cf;
    border-radius:10px;
    padding:0 11px;
    font:inherit;
}
.fm-checkbox { display:flex; align-items:center; gap:7px; }
.fm-back-home { display:inline-flex; margin-top:18px; color:var(--g700); font-size:10px; font-weight:730; text-decoration:none; }

body.futibas-auth-experience {
    min-height:100vh;
    margin:0 !important;
    background:
        radial-gradient(circle at 8% 0%,rgba(32,165,94,.09),transparent 28rem),
        #eef2ef !important;
    color:#17211b;
}

body.futibas-auth-experience .site-header,
body.futibas-auth-experience #masthead,
body.futibas-auth-experience .site-footer,
body.futibas-auth-experience #colophon,
body.futibas-auth-experience header.wp-block-template-part,
body.futibas-auth-experience footer.wp-block-template-part,
body.futibas-auth-experience .wp-site-blocks > header,
body.futibas-auth-experience .wp-site-blocks > footer {
    display:none !important;
}

.futibas-auth-brandbar {
    width:min(1080px,calc(100% - 32px));
    margin:0 auto;
    padding:22px 0 12px;
}
.futibas-auth-brandbar > a { display:inline-flex; align-items:center; gap:11px; color:#17211b; text-decoration:none; }
.futibas-auth-brandbar > a > span:last-child { display:grid; }
.futibas-auth-brandbar strong { font-size:13px; }
.futibas-auth-brandbar small { color:#6f7a73; font-size:10px; }

body.futibas-auth-experience main,
body.futibas-auth-experience .site-main,
body.futibas-auth-experience .wp-site-blocks > main {
    width:min(520px,calc(100% - 30px)) !important;
    max-width:520px !important;
    margin:30px auto 70px !important;
}

body.futibas-auth-experience main > article,
body.futibas-auth-experience .entry-content,
body.futibas-auth-experience .wp-block-post-content {
    border:1px solid #dce5df;
    border-radius:22px;
    background:#fff;
    padding:30px !important;
    box-shadow:0 18px 50px rgba(14,42,28,.08);
}

body.futibas-auth-experience input[type="text"],
body.futibas-auth-experience input[type="tel"],
body.futibas-auth-experience input[type="email"],
body.futibas-auth-experience input[type="password"] {
    width:100%;
    min-height:44px;
    border:1px solid #cad7cf;
    border-radius:10px;
    background:#fff;
    padding:0 11px;
}

body.futibas-auth-experience button,
body.futibas-auth-experience input[type="submit"] {
    min-height:44px;
    border:1px solid #176f42;
    border-radius:10px;
    background:#176f42;
    padding:0 16px;
    color:#fff;
    font-weight:760;
}

.futibas-auth-product-footer {
    display:flex;
    justify-content:center;
    gap:8px;
    margin:-45px auto 28px;
    color:#7a847e;
    font-size:10px;
}
.futibas-auth-product-footer a { color:#176f42; text-decoration:none; }

@media (max-width:1000px) {
    .fp-hero { grid-template-columns:1fr; }
    .fp-hero-copy,.fp-hero-panel { min-height:440px; }
    .fp-feature-grid { grid-template-columns:1fr; }
    .fp-feature-grid article { min-height:0; }
    .fp-feature-grid h3 { margin-top:28px; }
    .fp-dark-section { grid-template-columns:1fr; }
    .fm-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fm-grid-2 { grid-template-columns:1fr; }
}

@media (max-width:760px) {
    .fp-header { align-items:flex-start; width:calc(100% - 28px); gap:18px; }
    .fp-header nav > a:not(.fp-nav-cta) { display:none; }
    .fp-hero,.fp-section,.fp-dark-section,.fp-cta,.fp-footer { width:calc(100% - 28px); }
    .fp-hero { margin-top:12px; }
    .fp-hero-copy { min-height:0; padding:34px 24px; border-radius:22px; }
    .fp-hero h1 { font-size:clamp(43px,13vw,62px); }
    .fp-hero-panel { min-height:410px; padding:30px 24px; border-radius:22px; }
    .fp-section,.fp-dark-section,.fp-cta { margin-top:62px; }
    .fp-dark-section { padding:30px 24px; border-radius:21px; }
    .fp-transparency-grid { grid-template-columns:1fr; }
    .fp-cta { align-items:flex-start; flex-direction:column; padding:28px 24px; }
    .fp-footer { align-items:flex-start; flex-direction:column; gap:18px; }
    .fp-simple-page { width:calc(100% - 28px); margin-top:22px; padding:28px 22px; }
    .fp-policy-grid { grid-template-columns:1fr; }

    .fm-topbar { padding:0 14px; }
    .fm-layout { display:block; }
    .fm-sidebar {
        position:sticky;
        top:0;
        z-index:20;
        flex-direction:row;
        overflow-x:auto;
        padding:8px 10px;
        border-right:0;
        border-bottom:1px solid var(--line);
    }
    .fm-sidebar-divider { display:none; }
    .fm-sidebar a { flex:0 0 auto; white-space:nowrap; }
    .fm-main { padding:24px 14px 50px; }
    .fm-heading { flex-direction:column; }
    .fm-metrics { grid-template-columns:1fr; }
    .fm-action-strip { align-items:stretch; flex-direction:column; }
    .fm-action-buttons { margin-left:0; }
    .fm-form-grid { grid-template-columns:1fr; }
    .fm-login-brand { position:static; width:min(430px,100%); margin-bottom:14px; }
    .fm-login-screen { display:flex; align-items:center; flex-direction:column; justify-content:center; }
}

@media (max-width:480px) {
    .fp-brand small,.fm-brand small,.fm-user small { display:none; }
    .fp-actions { align-items:stretch; flex-direction:column; }
    .fp-button { width:100%; }
    .fm-user > span { display:none; }
    .fm-card { padding:18px; }
    .fm-card-heading,.fm-overdue-list > div,.fm-game-list article { align-items:stretch; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .futibas-product *,.futibas-auth-experience * { transition:none !important; }
}

/* FUTIBAS-DARK-SYSTEM-100RC1:BEGIN */
/*
 * DARK PRODUCT SYSTEM
 * Visual only. No business rules.
 */

:root {
    color-scheme: dark;
}

body.futibas-public-home,
body.futibas-public-privacy,
body.futibas-management {
    background:
        radial-gradient(circle at 12% 0%, rgba(39, 201, 118, .09), transparent 30rem),
        radial-gradient(circle at 92% 18%, rgba(197, 158, 77, .05), transparent 26rem),
        #07110c !important;
    color: #eef5f0 !important;
}

body.futibas-public-home,
body.futibas-public-privacy,
body.futibas-management,
body.futibas-auth-experience {
    scrollbar-color: #345443 #08110c;
}

.futibas-product {
    --g950: #050d09;
    --g900: #091710;
    --g800: #10271b;
    --g700: #198a50;
    --g600: #24b96b;
    --g100: #143522;
    --g50: #0d2016;
    --ink: #f1f6f3;
    --muted: #a7b5ac;
    --line: rgba(180, 211, 192, .14);
    --red: #ef7278;
    --shadow: 0 24px 70px rgba(0, 0, 0, .26);
    --shadow-soft: 0 12px 34px rgba(0, 0, 0, .19);
    background:
        radial-gradient(circle at 7% 0%, rgba(39, 201, 118, .08), transparent 29rem),
        #07110c !important;
    color: var(--ink) !important;
}

.fp-header {
    border-bottom: 1px solid rgba(177, 210, 190, .08);
}

.fp-brand,
.fm-brand,
.fp-brand strong,
.fm-brand strong,
.fp-header nav a {
    color: #eaf2ed !important;
}

.fp-brand small,
.fm-brand small {
    color: #8fa197 !important;
}

.fp-header nav a:hover {
    color: #61db98 !important;
}

.fp-header .fp-nav-cta {
    border-color: #22975a !important;
    background: #188a50 !important;
    color: #fff !important;
    box-shadow: 0 9px 24px rgba(24, 138, 80, .20);
}

.fp-header .fp-nav-cta:hover {
    background: #1ca45e !important;
}

.fp-hero-copy,
.fp-feature-grid article,
.fp-cta,
.fp-simple-page,
.fp-transparency-grid > div {
    border-color: rgba(181, 214, 194, .13) !important;
    background:
        linear-gradient(145deg, rgba(16, 35, 25, .98), rgba(11, 25, 18, .98)) !important;
    color: #edf5f0 !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .22) !important;
}

.fp-hero-copy {
    position: relative;
    overflow: hidden;
}

.fp-hero-copy:after {
    position: absolute;
    top: -130px;
    right: -130px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(62, 190, 119, .08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.fp-hero h1,
.fp-section-heading h2,
.fp-feature-grid h3,
.fp-cta h2,
.fp-simple-page h1,
.fp-policy-grid h2,
.fp-transparency-grid strong {
    color: #f2f7f4 !important;
}

.fp-hero-copy > p,
.fp-section-heading p,
.fp-feature-grid p,
.fp-cta p,
.fp-lead,
.fp-policy-grid p,
.fp-policy-note p {
    color: #a7b5ac !important;
}

.fp-eyebrow {
    color: #47d58c !important;
}

.fp-button-primary {
    border-color: #1c9d5a !important;
    background: #1b9656 !important;
    color: #fff !important;
}

.fp-button-primary:hover {
    background: #21ae64 !important;
}

.fp-button-secondary {
    border-color: rgba(181, 214, 194, .18) !important;
    background: #10231a !important;
    color: #dce9e1 !important;
}

.fp-button-secondary:hover {
    border-color: rgba(84, 216, 145, .35) !important;
    background: #153123 !important;
    color: #fff !important;
}

.fp-proof span {
    border-color: rgba(181, 214, 194, .13) !important;
    background: #0d2117 !important;
    color: #9eaea4 !important;
}

.fp-hero-panel,
.fp-dark-section,
.fp-policy-note,
.fm-next-game-card {
    border: 1px solid rgba(87, 204, 139, .12) !important;
    background:
        radial-gradient(circle at 82% 10%, rgba(57, 205, 123, .16), transparent 28%),
        linear-gradient(145deg, #06160d, #0a2416 56%, #0c301c) !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .30) !important;
}

.fp-dark-section > div:last-child span {
    border-color: rgba(208, 230, 216, .11) !important;
    background: rgba(255, 255, 255, .045) !important;
    color: #cbd9d0 !important;
}

.fp-footer {
    border-top-color: rgba(181, 214, 194, .11) !important;
}

.fp-footer a {
    color: #9eaea4 !important;
}

.fp-footer a:hover {
    color: #54d890 !important;
}

.fp-policy-grid article {
    border-color: rgba(181, 214, 194, .12) !important;
    background: #0d2016 !important;
}

.fm-topbar {
    border-bottom-color: rgba(181, 214, 194, .11) !important;
    background: rgba(7, 17, 12, .96) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

.fm-user strong {
    color: #eef5f0 !important;
}

.fm-user small {
    color: #8fa197 !important;
}

.fm-user > a {
    border-color: rgba(181, 214, 194, .14) !important;
    background: #0f2118 !important;
    color: #dce9e1 !important;
}

.fm-layout {
    background: #08120d !important;
}

.fm-sidebar {
    border-right-color: rgba(181, 214, 194, .10) !important;
    background: #09150f !important;
}

.fm-sidebar a {
    color: #9fb0a5 !important;
}

.fm-sidebar a:hover {
    background: #10251a !important;
    color: #edf5f0 !important;
}

.fm-sidebar a.is-active {
    background: linear-gradient(135deg, #123522, #0f2b1c) !important;
    color: #fff !important;
    box-shadow: inset 3px 0 #29c975;
}

.fm-sidebar-divider {
    background: rgba(181, 214, 194, .10) !important;
}

.fm-main {
    background:
        radial-gradient(circle at 72% 3%, rgba(33, 150, 87, .055), transparent 25rem),
        #08120d !important;
}

.fm-heading h1,
.fm-card h2,
.fm-metric strong,
.fm-split-stats strong,
.fm-game-main strong {
    color: #eef5f0 !important;
}

.fm-heading p,
.fm-card p,
.fm-metric span,
.fm-split-stats span,
.fm-game-main span,
.fm-game-meta,
.fm-overdue-list small {
    color: #9dada3 !important;
}

.fm-period,
.fm-card,
.fm-metric,
.fm-action-strip,
.fm-game-list article {
    border-color: rgba(181, 214, 194, .12) !important;
    background:
        linear-gradient(145deg, #0f2118, #0b1a13) !important;
    color: #eaf3ed !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .18) !important;
}

.fm-metric:before {
    background: #28c575 !important;
}

.fm-metric.is-neutral:before {
    background: #c8a85f !important;
}

.fm-metric.is-dark:before {
    background: #4a6a59 !important;
}

.fm-metric.is-danger {
    border-color: rgba(239, 114, 120, .22) !important;
    background: linear-gradient(145deg, #241416, #171111) !important;
}

.fm-split-stats > div,
.fm-overdue-list > div {
    border-color: rgba(181, 214, 194, .10) !important;
    background: #0a1811 !important;
}

.fm-empty {
    border-color: rgba(181, 214, 194, .15) !important;
    background: #0a1811 !important;
    color: #93a49a !important;
}

.fm-badge {
    background: #143824 !important;
    color: #58dc96 !important;
}

.fm-field > span,
.fm-toggle small {
    color: #9dada3 !important;
}

.fm-field input,
.fm-field textarea,
.fm-login-card input[type="text"],
.fm-login-card input[type="password"] {
    border-color: rgba(181, 214, 194, .16) !important;
    background: #08150e !important;
    color: #edf5f0 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02) !important;
}

.fm-field input:focus,
.fm-field textarea:focus,
.fm-login-card input:focus {
    border-color: #2cc97a !important;
    box-shadow: 0 0 0 3px rgba(44, 201, 122, .12) !important;
}

.fm-toggle {
    border-color: rgba(181, 214, 194, .11) !important;
    background: #0b1a13 !important;
}

.fm-toggle strong {
    color: #eaf3ed !important;
}

.fm-login-screen {
    background:
        radial-gradient(circle at 18% 0%, rgba(35, 189, 108, .12), transparent 30rem),
        radial-gradient(circle at 90% 90%, rgba(197, 158, 77, .06), transparent 25rem),
        #06100b !important;
}

.fm-login-brand strong {
    color: #edf5f0 !important;
}

.fm-login-card {
    border-color: rgba(181, 214, 194, .13) !important;
    background:
        linear-gradient(145deg, #102219, #0a1811) !important;
    color: #edf5f0 !important;
    box-shadow: 0 30px 85px rgba(0, 0, 0, .34) !important;
}

.fm-login-card h1 {
    color: #f2f7f4 !important;
}

.fm-login-card > p,
.fm-login-card label > span {
    color: #9faea5 !important;
}

body.futibas-auth-experience {
    background:
        radial-gradient(circle at 14% 0%, rgba(36, 185, 105, .12), transparent 29rem),
        radial-gradient(circle at 90% 94%, rgba(195, 156, 75, .055), transparent 23rem),
        #06100b !important;
    color: #edf5f0 !important;
}

.futibas-auth-brandbar > a,
.futibas-auth-brandbar strong {
    color: #edf5f0 !important;
}

.futibas-auth-brandbar small {
    color: #91a299 !important;
}

body.futibas-auth-experience main > article,
body.futibas-auth-experience .entry-content,
body.futibas-auth-experience .wp-block-post-content {
    border-color: rgba(181, 214, 194, .14) !important;
    background:
        linear-gradient(145deg, #102219, #0b1912) !important;
    color: #edf5f0 !important;
    box-shadow: 0 30px 85px rgba(0, 0, 0, .33) !important;
}

body.futibas-auth-experience h1,
body.futibas-auth-experience h2,
body.futibas-auth-experience h3,
body.futibas-auth-experience label,
body.futibas-auth-experience strong {
    color: #eef5f0 !important;
}

body.futibas-auth-experience p,
body.futibas-auth-experience small {
    color: #9dada3 !important;
}

body.futibas-auth-experience input[type="text"],
body.futibas-auth-experience input[type="tel"],
body.futibas-auth-experience input[type="email"],
body.futibas-auth-experience input[type="password"] {
    border-color: rgba(181, 214, 194, .17) !important;
    background: #07140d !important;
    color: #edf5f0 !important;
}

body.futibas-auth-experience input::placeholder {
    color: #65786c !important;
}

body.futibas-auth-experience button,
body.futibas-auth-experience input[type="submit"] {
    border-color: #1f9f5c !important;
    background: #1b9656 !important;
    color: #fff !important;
}

body.futibas-auth-experience button:hover,
body.futibas-auth-experience input[type="submit"]:hover {
    background: #21ad64 !important;
}

.futibas-auth-product-footer {
    color: #75887c !important;
}

.futibas-auth-product-footer a {
    color: #46d087 !important;
}

@media (max-width: 760px) {
    .fm-sidebar {
        border-bottom-color: rgba(181, 214, 194, .10) !important;
        background: rgba(7, 17, 12, .97) !important;
        backdrop-filter: blur(14px);
    }
}
/* FUTIBAS-DARK-SYSTEM-100RC1:END */

/* FUTIBAS-TYPOGRAPHY-100RC1:BEGIN */
/*
 * TYPOGRAPHY & DENSITY POLISH 1.0 RC
 * Visual only. No business logic.
 */

.futibas-product {
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.fp-brand strong,
.fm-brand strong {
    font-size: 15px !important;
}

.fp-brand small,
.fm-brand small {
    font-size: 11.5px !important;
    line-height: 1.35;
}

.fp-header nav a {
    font-size: 13.5px !important;
    letter-spacing: -.01em;
}

.fp-header .fp-nav-cta {
    min-height: 40px;
    padding: 0 15px !important;
    font-size: 13px !important;
}

.fp-eyebrow {
    font-size: 11.5px !important;
    line-height: 1.35;
}

.fp-hero-copy > p,
.fp-section-heading p,
.fp-feature-grid p,
.fp-cta p,
.fp-lead,
.fp-policy-grid p,
.fp-policy-note p {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
}

.fp-button {
    min-height: 46px !important;
    padding: 0 18px !important;
    font-size: 13.5px !important;
}

.fp-proof span {
    padding: 7px 11px !important;
    font-size: 11.5px !important;
}

.fp-game-status {
    padding: 8px 11px !important;
    font-size: 11.5px !important;
}

.fp-feature-grid article > span {
    font-size: 12px !important;
}

.fp-dark-section > div:last-child span {
    font-size: 13.5px !important;
    line-height: 1.45;
}

.fp-transparency-grid span {
    font-size: 11.5px !important;
}

.fp-footer a {
    font-size: 12.5px !important;
}

.fp-back {
    font-size: 13px !important;
}

.fm-topbar {
    min-height: 78px !important;
}

.fm-user strong {
    font-size: 13.5px !important;
}

.fm-user small {
    font-size: 11.5px !important;
}

.fm-user > a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px !important;
    font-size: 12px !important;
}

/*
 * Main correction requested:
 * sidebar labels were too small at notebook/desktop widths.
 */
.fm-sidebar {
    width: 250px;
    padding: 25px 15px !important;
}

.fm-layout {
    grid-template-columns: 250px minmax(0, 1fr) !important;
}

.fm-sidebar a {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 10px 13px !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    letter-spacing: -.005em;
}

.fm-sidebar-divider {
    margin: 12px 0 !important;
}

.fm-main {
    padding: 40px 38px !important;
}

.fm-heading p {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
}

.fm-period {
    padding: 9px 13px !important;
    font-size: 12px !important;
}

.fm-metric {
    min-height: 128px !important;
    padding: 21px !important;
}

.fm-metric span {
    margin-bottom: 12px !important;
    font-size: 11.5px !important;
    line-height: 1.35;
}

.fm-metric strong {
    font-size: 30px !important;
}

.fm-card {
    padding: 25px !important;
}

.fm-card p {
    font-size: 14.5px !important;
}

.fm-split-stats span,
.fm-action-strip span,
.fm-game-main span,
.fm-game-meta,
.fm-overdue-list small {
    font-size: 12px !important;
    line-height: 1.45;
}

.fm-text-link {
    font-size: 12.5px !important;
}

.fm-action-strip {
    padding: 19px !important;
}

.fm-action-strip strong {
    font-size: 23px !important;
}

.fm-game-list article {
    min-height: 76px;
    padding: 15px !important;
}

.fm-game-main strong {
    font-size: 14px !important;
}

.fm-badge {
    padding: 6px 9px !important;
    font-size: 11.5px !important;
}

.fm-field > span,
.fm-toggle small {
    font-size: 12px !important;
}

.fm-field input,
.fm-field textarea {
    font-size: 14px !important;
}

.fm-toggle strong {
    font-size: 13.5px !important;
}

.fm-notice {
    font-size: 13px !important;
}

.fm-login-brand strong {
    font-size: 14px !important;
}

.fm-login-brand small {
    font-size: 11.5px !important;
}

.fm-login-card > p {
    font-size: 14.5px !important;
}

.fm-login-card label > span {
    font-size: 12px !important;
}

.fm-login-card input[type="text"],
.fm-login-card input[type="password"] {
    min-height: 47px !important;
    font-size: 14.5px !important;
}

.fm-back-home {
    font-size: 12px !important;
}

.futibas-auth-brandbar strong {
    font-size: 14px !important;
}

.futibas-auth-brandbar small {
    font-size: 11.5px !important;
}

body.futibas-auth-experience input[type="text"],
body.futibas-auth-experience input[type="tel"],
body.futibas-auth-experience input[type="email"],
body.futibas-auth-experience input[type="password"] {
    min-height: 47px !important;
    font-size: 15px !important;
}

body.futibas-auth-experience button,
body.futibas-auth-experience input[type="submit"] {
    min-height: 47px !important;
    font-size: 14px !important;
}

.futibas-auth-product-footer {
    font-size: 11.5px !important;
}

@media (max-width: 1000px) and (min-width: 761px) {
    .fm-sidebar {
        width: 225px;
    }

    .fm-layout {
        grid-template-columns: 225px minmax(0, 1fr) !important;
    }

    .fm-sidebar a {
        font-size: 13px !important;
    }

    .fm-main {
        padding: 34px 26px !important;
    }
}

@media (max-width: 760px) {
    .fm-sidebar {
        width: auto;
        padding: 9px 10px !important;
    }

    .fm-layout {
        display: block !important;
    }

    .fm-sidebar a {
        min-height: 40px;
        padding: 9px 12px !important;
        font-size: 13px !important;
    }

    .fm-main {
        padding: 25px 14px 52px !important;
    }

    .fm-metric strong {
        font-size: 28px !important;
    }
}

@media (max-width: 480px) {
    .fp-brand strong,
    .fm-brand strong {
        font-size: 14px !important;
    }

    .fp-eyebrow,
    .fm-metric span,
    .fp-transparency-grid span {
        font-size: 11px !important;
    }
}
/* FUTIBAS-TYPOGRAPHY-100RC1:END */

/* FUTIBAS-MANAGEMENT-BRIDGE-100RC1:BEGIN */
/*
 * MANAGEMENT STANDALONE BRIDGE 1.0 RC
 *
 * Adapts existing Futibas operational renderers to the /gestao/
 * dark product shell. No business logic.
 */

.fm-main:has(.fm-legacy-host) {
    width: min(1440px, 100%);
}

.fm-legacy-host {
    width: 100%;
    min-width: 0;
    color: #e9f2ec;
}

.fm-legacy-host > .wrap,
.fm-legacy-host .wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #e9f2ec !important;
}

.fm-legacy-host .wrap > h1,
.fm-legacy-host .wrap > h2,
.fm-legacy-host .wrap h1,
.fm-legacy-host .wrap h2,
.fm-legacy-host .wrap h3 {
    color: #f1f6f3 !important;
}

.fm-legacy-host .wrap > h1:first-child {
    margin-top: 0 !important;
    font-size: clamp(30px, 3.3vw, 43px) !important;
    font-weight: 630 !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
}

.fm-legacy-host .futibas-header,
.fm-legacy-host .futibas-fi-header,
.fm-legacy-host [class*="header"] {
    border-color: rgba(181, 214, 194, .10) !important;
}

.fm-legacy-host .futibas-header {
    margin-top: 0 !important;
}

.fm-legacy-host .card,
.fm-legacy-host .postbox,
.fm-legacy-host .futibas-card,
.fm-legacy-host [class*="-card"],
.fm-legacy-host [class*="-panel"] {
    border-color: rgba(181, 214, 194, .12) !important;
    background:
        linear-gradient(
            145deg,
            #0f2118,
            #0a1912
        ) !important;
    color: #e9f2ec !important;
    box-shadow:
        0 12px 34px rgba(0, 0, 0, .18) !important;
}

.fm-legacy-host table,
.fm-legacy-host .widefat,
.fm-legacy-host .wp-list-table {
    width: 100% !important;
    border-color: rgba(181, 214, 194, .12) !important;
    border-radius: 13px !important;
    overflow: hidden;
    background: #0c1c14 !important;
    color: #e7f0ea !important;
    box-shadow:
        0 10px 30px rgba(0, 0, 0, .16) !important;
}

.fm-legacy-host table thead th,
.fm-legacy-host table tfoot th,
.fm-legacy-host .widefat thead th,
.fm-legacy-host .widefat tfoot th {
    border-color: rgba(181, 214, 194, .09) !important;
    background: #12281d !important;
    color: #b2c1b8 !important;
    font-size: 12px !important;
    font-weight: 760 !important;
}

.fm-legacy-host table td,
.fm-legacy-host table th,
.fm-legacy-host .widefat td,
.fm-legacy-host .widefat th {
    border-color: rgba(181, 214, 194, .075) !important;
    color: #dce7e0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.fm-legacy-host table tbody tr,
.fm-legacy-host .widefat tbody tr {
    background: #0b1a13 !important;
}

.fm-legacy-host table tbody tr:nth-child(even),
.fm-legacy-host .widefat tbody tr:nth-child(even) {
    background: #0d1e15 !important;
}

.fm-legacy-host table tbody tr:hover,
.fm-legacy-host .widefat tbody tr:hover {
    background: #12271c !important;
}

.fm-legacy-host label,
.fm-legacy-host .description,
.fm-legacy-host p,
.fm-legacy-host small {
    color: #9fafA5 !important;
}

.fm-legacy-host input[type="text"],
.fm-legacy-host input[type="search"],
.fm-legacy-host input[type="date"],
.fm-legacy-host input[type="time"],
.fm-legacy-host input[type="number"],
.fm-legacy-host input[type="tel"],
.fm-legacy-host input[type="email"],
.fm-legacy-host input[type="password"],
.fm-legacy-host input[type="month"],
.fm-legacy-host select,
.fm-legacy-host textarea {
    min-height: 42px !important;
    border: 1px solid rgba(181, 214, 194, .16) !important;
    border-radius: 9px !important;
    background: #07150e !important;
    color: #edf5f0 !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.fm-legacy-host textarea {
    min-height: 96px !important;
    padding: 10px 11px !important;
}

.fm-legacy-host input:focus,
.fm-legacy-host select:focus,
.fm-legacy-host textarea:focus {
    border-color: #2bc778 !important;
    box-shadow:
        0 0 0 3px rgba(43, 199, 120, .11) !important;
    outline: none !important;
}

.fm-legacy-host select option {
    background: #0c1c14 !important;
    color: #edf5f0 !important;
}

.fm-legacy-host .button,
.fm-legacy-host button,
.fm-legacy-host input[type="submit"] {
    min-height: 40px !important;
    border: 1px solid rgba(181, 214, 194, .16) !important;
    border-radius: 9px !important;
    background: #10251a !important;
    padding: 0 13px !important;
    color: #dfe9e3 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.fm-legacy-host .button:hover,
.fm-legacy-host button:hover,
.fm-legacy-host input[type="submit"]:hover {
    border-color: rgba(80, 216, 143, .30) !important;
    background: #153222 !important;
    color: #fff !important;
}

.fm-legacy-host .button-primary,
.fm-legacy-host button.button-primary,
.fm-legacy-host input.button-primary[type="submit"] {
    border-color: #1f9f5c !important;
    background: #198a50 !important;
    color: #fff !important;
}

.fm-legacy-host .button-primary:hover,
.fm-legacy-host button.button-primary:hover {
    background: #20aa62 !important;
}

.fm-legacy-host .notice {
    margin: 0 0 14px !important;
    border: 1px solid rgba(181, 214, 194, .12) !important;
    border-left: 4px solid #2bc778 !important;
    border-radius: 10px !important;
    background: #0d2016 !important;
    color: #dce8e1 !important;
    box-shadow:
        0 9px 26px rgba(0, 0, 0, .16) !important;
}

.fm-legacy-host .notice-error {
    border-left-color: #ef747a !important;
}

.fm-legacy-host .notice-warning {
    border-left-color: #c1a15a !important;
}

.fm-legacy-host .tablenav,
.fm-legacy-host .subsubsub,
.fm-legacy-host .pagination-links {
    color: #9fafA5 !important;
}

.fm-legacy-host a {
    color: #4fd78f;
}

.fm-legacy-host a:hover {
    color: #7ce8ad;
}

.fm-legacy-host .nav-tab-wrapper,
.fm-legacy-host [class*="tabs"] {
    border-color: rgba(181, 214, 194, .11) !important;
}

.fm-legacy-host .nav-tab {
    border-color: rgba(181, 214, 194, .10) !important;
    background: #0b1c13 !important;
    color: #9fb0a6 !important;
}

.fm-legacy-host .nav-tab-active,
.fm-legacy-host .nav-tab-active:hover {
    border-bottom-color: #1d9d5a !important;
    background: #143522 !important;
    color: #fff !important;
}

.fm-legacy-host .futibas-fi-header {
    margin: 0 0 15px !important;
    border-radius: 18px !important;
    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(55, 196, 116, .15),
            transparent 29%
        ),
        linear-gradient(
            135deg,
            #06160d,
            #0a2416
        ) !important;
    box-shadow:
        0 20px 52px rgba(0, 0, 0, .22) !important;
}

.fm-legacy-host .futibas-fi-header h1,
.fm-legacy-host .futibas-fi-header p {
    color: #fff !important;
}

.fm-legacy-host .futibas-fi-header p {
    color: #a9bcb0 !important;
}

.fm-legacy-host .futibas-fi-version {
    border-color: rgba(181, 214, 194, .13) !important;
    background: rgba(255, 255, 255, .055) !important;
    color: #dce8e1 !important;
}

.fm-legacy-host .futibas-fi-version span {
    color: #66dda0 !important;
}

.fm-legacy-host .wp-list-table .row-actions {
    color: #72877a !important;
}

.fm-legacy-host .wp-list-table .row-actions a {
    color: #56d993 !important;
}

.fm-legacy-host .search-box {
    display: flex;
    align-items: center;
    gap: 7px;
}

.fm-legacy-host .search-box input[type="search"] {
    min-width: 220px;
}

.fm-legacy-host .form-table {
    border-collapse: separate;
    border-spacing: 0 8px;
}

.fm-legacy-host .form-table th {
    color: #b5c3ba !important;
    font-size: 13px !important;
}

.fm-legacy-host .form-table td {
    color: #dce7e0 !important;
}

.fm-legacy-host .submit {
    margin-bottom: 0 !important;
}

@media (max-width: 900px) {
    .fm-legacy-host table,
    .fm-legacy-host .widefat,
    .fm-legacy-host .wp-list-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .fm-legacy-host .futibas-header,
    .fm-legacy-host [class*="header"] {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .fm-legacy-host .search-box {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .fm-legacy-host .search-box input[type="search"] {
        width: 100%;
        min-width: 0;
    }
}
/* FUTIBAS-MANAGEMENT-BRIDGE-100RC1:END */

/* FUTIBAS-MANAGEMENT-COLOR-FIX-100RC1:BEGIN */
/*
 * FUTIBAS MANAGEMENT LEGACY COLOR FIX 1.0 RC
 *
 * Scoped to operational screens embedded inside /gestao/.
 * COLOR ONLY: no layout, routing, permissions or business rules.
 */

/* ------------------------------------------------------------
   Palette
   ------------------------------------------------------------ */

.fm-legacy-host {
    --fl-bg: #07120c;
    --fl-surface: #0d1f16;
    --fl-surface-2: #10261a;
    --fl-surface-3: #0a1811;
    --fl-surface-hover: #142d20;
    --fl-line: rgba(184, 218, 197, .13);
    --fl-line-strong: rgba(184, 218, 197, .20);
    --fl-text: #eef5f0;
    --fl-text-soft: #d7e3db;
    --fl-muted: #94a89b;
    --fl-muted-2: #71877a;
    --fl-green: #4fd78f;
    --fl-green-strong: #24b96b;
    --fl-green-surface: #123522;
    --fl-gold: #d0b46d;
    --fl-gold-surface: #302816;
    --fl-red: #ff8b91;
    --fl-red-surface: #331719;
    color: var(--fl-text) !important;
}

/* ------------------------------------------------------------
   Kill the remaining white/light surfaces
   ------------------------------------------------------------ */

.fm-legacy-host .card,
.fm-legacy-host .postbox,
.fm-legacy-host .widefat,
.fm-legacy-host .wp-list-table,
.fm-legacy-host fieldset,
.fm-legacy-host [class*="card"],
.fm-legacy-host [class*="metric"],
.fm-legacy-host [class*="stat"],
.fm-legacy-host [class*="summary"],
.fm-legacy-host [class*="counter"],
.fm-legacy-host [class*="overview"],
.fm-legacy-host [class*="step"],
.fm-legacy-host [class*="tile"],
.fm-legacy-host [class*="box"],
.fm-legacy-host [class*="panel"],
.fm-legacy-host [class*="totals"],
.fm-legacy-host [class*="total"],
.fm-legacy-host [class*="kpi"],
.fm-legacy-host form[class*="filter"],
.fm-legacy-host form[class*="toolbar"],
.fm-legacy-host [class*="filters"],
.fm-legacy-host [class*="toolbar"] {
    border-color: var(--fl-line) !important;
    background:
        linear-gradient(
            145deg,
            var(--fl-surface),
            #0a1912
        ) !important;
    color: var(--fl-text) !important;
    box-shadow:
        0 10px 30px rgba(0, 0, 0, .16) !important;
}

/*
 * Many legacy widgets are anonymous children inside summary/flow
 * containers. These selectors remove the white cards visible in
 * Finance Operations and Games without touching layout.
 */
.fm-legacy-host [class*="summary"] > div,
.fm-legacy-host [class*="summary"] > article,
.fm-legacy-host [class*="metrics"] > div,
.fm-legacy-host [class*="metrics"] > article,
.fm-legacy-host [class*="stats"] > div,
.fm-legacy-host [class*="stats"] > article,
.fm-legacy-host [class*="steps"] > div,
.fm-legacy-host [class*="steps"] > article,
.fm-legacy-host [class*="flow"] > div,
.fm-legacy-host [class*="flow"] > article,
.fm-legacy-host [class*="cycle"] > div,
.fm-legacy-host [class*="cycle"] > article,
.fm-legacy-host [class*="cash"] > div,
.fm-legacy-host [class*="cash"] > article,
.fm-legacy-host [class*="receivable"] > div,
.fm-legacy-host [class*="receivable"] > article {
    border-color: var(--fl-line) !important;
    background: var(--fl-surface-3) !important;
    color: var(--fl-text) !important;
    box-shadow: none !important;
}

/* Games summary and filter blocks */
.fm-legacy-host [class*="game"][class*="summary"],
.fm-legacy-host [class*="games"][class*="summary"],
.fm-legacy-host [class*="game"][class*="filter"],
.fm-legacy-host [class*="games"][class*="filter"],
.fm-legacy-host [class*="game"][class*="toolbar"],
.fm-legacy-host [class*="games"][class*="toolbar"] {
    border-color: var(--fl-line) !important;
    background: var(--fl-surface) !important;
    color: var(--fl-text) !important;
}

/* ------------------------------------------------------------
   Financial operation-specific leftovers
   ------------------------------------------------------------ */

.fm-legacy-host [class*="financial"] [class*="metric"],
.fm-legacy-host [class*="finance"] [class*="metric"],
.fm-legacy-host [class*="operation"] [class*="metric"],
.fm-legacy-host [class*="operation"] [class*="summary"],
.fm-legacy-host [class*="operation"] [class*="step"],
.fm-legacy-host [class*="operation"] [class*="box"],
.fm-legacy-host [class*="operation"] [class*="tile"] {
    border-color: var(--fl-line) !important;
    background:
        linear-gradient(
            145deg,
            #10241a,
            #0b1b13
        ) !important;
    color: var(--fl-text) !important;
}

.fm-legacy-host [class*="financial"] [class*="metric"] strong,
.fm-legacy-host [class*="finance"] [class*="metric"] strong,
.fm-legacy-host [class*="operation"] [class*="metric"] strong,
.fm-legacy-host [class*="operation"] [class*="summary"] strong {
    color: #f4f8f5 !important;
}

.fm-legacy-host [class*="financial"] [class*="metric"] span,
.fm-legacy-host [class*="finance"] [class*="metric"] span,
.fm-legacy-host [class*="operation"] [class*="metric"] span,
.fm-legacy-host [class*="operation"] [class*="summary"] span {
    color: #a7b8ad !important;
}

/* ------------------------------------------------------------
   Version/schema pill
   ------------------------------------------------------------ */

.fm-legacy-host [class*="version"],
.fm-legacy-host [class*="schema"],
.fm-legacy-host [class*="meta-badge"] {
    border-color: var(--fl-line-strong) !important;
    background: var(--fl-surface-2) !important;
    color: #b9cabf !important;
    box-shadow: none !important;
}

.fm-legacy-host [class*="version"] span,
.fm-legacy-host [class*="schema"] span {
    border-color: rgba(79, 215, 143, .18) !important;
    background: var(--fl-green-surface) !important;
    color: #72e4a5 !important;
}

/* ------------------------------------------------------------
   Typography color
   ------------------------------------------------------------ */

.fm-legacy-host h1,
.fm-legacy-host h2,
.fm-legacy-host h3,
.fm-legacy-host h4,
.fm-legacy-host strong,
.fm-legacy-host b {
    color: var(--fl-text) !important;
}

.fm-legacy-host p,
.fm-legacy-host small,
.fm-legacy-host label,
.fm-legacy-host .description,
.fm-legacy-host [class*="muted"],
.fm-legacy-host [class*="subtitle"],
.fm-legacy-host [class*="caption"],
.fm-legacy-host [class*="hint"],
.fm-legacy-host [class*="help"] {
    color: var(--fl-muted) !important;
}

.fm-legacy-host [class*="kicker"],
.fm-legacy-host [class*="eyebrow"],
.fm-legacy-host [class*="section-label"] {
    color: var(--fl-green) !important;
}

/* ------------------------------------------------------------
   Tables
   ------------------------------------------------------------ */

.fm-legacy-host table,
.fm-legacy-host .widefat,
.fm-legacy-host .wp-list-table {
    border-color: var(--fl-line) !important;
    background: var(--fl-surface-3) !important;
    color: var(--fl-text-soft) !important;
}

.fm-legacy-host table thead th,
.fm-legacy-host table tfoot th,
.fm-legacy-host .widefat thead th,
.fm-legacy-host .widefat tfoot th,
.fm-legacy-host .wp-list-table thead th,
.fm-legacy-host .wp-list-table tfoot th {
    border-color: rgba(184, 218, 197, .09) !important;
    background: #102d1f !important;
    color: #b8c9be !important;
}

.fm-legacy-host table tbody tr,
.fm-legacy-host .widefat tbody tr,
.fm-legacy-host .wp-list-table tbody tr {
    background: #091811 !important;
    color: var(--fl-text-soft) !important;
}

.fm-legacy-host table tbody tr:nth-child(even),
.fm-legacy-host .widefat tbody tr:nth-child(even),
.fm-legacy-host .wp-list-table tbody tr:nth-child(even) {
    background: #0c1d15 !important;
}

.fm-legacy-host table tbody tr:hover,
.fm-legacy-host .widefat tbody tr:hover,
.fm-legacy-host .wp-list-table tbody tr:hover {
    background: var(--fl-surface-hover) !important;
}

.fm-legacy-host table td,
.fm-legacy-host table th,
.fm-legacy-host .widefat td,
.fm-legacy-host .widefat th,
.fm-legacy-host .wp-list-table td,
.fm-legacy-host .wp-list-table th {
    border-color: rgba(184, 218, 197, .075) !important;
    color: var(--fl-text-soft) !important;
}

/* ------------------------------------------------------------
   Inputs, search and filters
   ------------------------------------------------------------ */

.fm-legacy-host input[type="text"],
.fm-legacy-host input[type="search"],
.fm-legacy-host input[type="date"],
.fm-legacy-host input[type="time"],
.fm-legacy-host input[type="month"],
.fm-legacy-host input[type="number"],
.fm-legacy-host input[type="tel"],
.fm-legacy-host input[type="email"],
.fm-legacy-host input[type="password"],
.fm-legacy-host select,
.fm-legacy-host textarea {
    border-color: var(--fl-line-strong) !important;
    background: #07150e !important;
    color: #edf5f0 !important;
    box-shadow: none !important;
}

.fm-legacy-host input::placeholder,
.fm-legacy-host textarea::placeholder {
    color: #687d70 !important;
    opacity: 1 !important;
}

.fm-legacy-host select option {
    background: #0b1b13 !important;
    color: #edf5f0 !important;
}

.fm-legacy-host input:focus,
.fm-legacy-host select:focus,
.fm-legacy-host textarea:focus {
    border-color: #35cc7e !important;
    box-shadow:
        0 0 0 3px rgba(53, 204, 126, .11) !important;
    outline: none !important;
}

/* ------------------------------------------------------------
   Buttons
   ------------------------------------------------------------ */

.fm-legacy-host .button,
.fm-legacy-host button,
.fm-legacy-host input[type="submit"] {
    border-color: var(--fl-line-strong) !important;
    background: #10261a !important;
    color: #e1ebe4 !important;
    box-shadow: none !important;
}

.fm-legacy-host .button:hover,
.fm-legacy-host button:hover,
.fm-legacy-host input[type="submit"]:hover {
    border-color: rgba(79, 215, 143, .34) !important;
    background: #163524 !important;
    color: #fff !important;
}

.fm-legacy-host .button-primary,
.fm-legacy-host button.button-primary,
.fm-legacy-host input.button-primary[type="submit"] {
    border-color: #229f5d !important;
    background:
        linear-gradient(
            135deg,
            #1e9d59,
            #17864a
        ) !important;
    color: #fff !important;
}

.fm-legacy-host .button-primary:hover,
.fm-legacy-host button.button-primary:hover {
    background:
        linear-gradient(
            135deg,
            #25b969,
            #1b9955
        ) !important;
}

/* ------------------------------------------------------------
   Tabs
   ------------------------------------------------------------ */

.fm-legacy-host .nav-tab-wrapper,
.fm-legacy-host [class*="tabs"] {
    border-color: var(--fl-line) !important;
}

.fm-legacy-host .nav-tab,
.fm-legacy-host [class*="tabs"] a {
    border-color: transparent !important;
    background: transparent !important;
    color: #84998c !important;
}

.fm-legacy-host .nav-tab:hover,
.fm-legacy-host [class*="tabs"] a:hover {
    color: #dbe8e0 !important;
}

.fm-legacy-host .nav-tab-active,
.fm-legacy-host .nav-tab-active:hover,
.fm-legacy-host [class*="tabs"] a.is-active,
.fm-legacy-host [class*="tabs"] .active a {
    border-bottom-color: var(--fl-green-strong) !important;
    background: transparent !important;
    color: var(--fl-green) !important;
}

/* ------------------------------------------------------------
   Status / badges
   ------------------------------------------------------------ */

.fm-legacy-host .badge,
.fm-legacy-host [class*="badge"],
.fm-legacy-host span[class*="status"],
.fm-legacy-host strong[class*="status"] {
    border-color: rgba(79, 215, 143, .18) !important;
    background: var(--fl-green-surface) !important;
    color: #72e4a5 !important;
    box-shadow: none !important;
}

.fm-legacy-host [class*="danger"],
.fm-legacy-host [class*="overdue"],
.fm-legacy-host [class*="vencido"] {
    border-color: rgba(255, 139, 145, .20) !important;
    background: var(--fl-red-surface) !important;
    color: var(--fl-red) !important;
}

.fm-legacy-host [class*="warning"],
.fm-legacy-host [class*="partial"],
.fm-legacy-host [class*="parcial"] {
    border-color: rgba(208, 180, 109, .20) !important;
    background: var(--fl-gold-surface) !important;
    color: var(--fl-gold) !important;
}

/* ------------------------------------------------------------
   Notices / empty states
   ------------------------------------------------------------ */

.fm-legacy-host .notice,
.fm-legacy-host [class*="notice"] {
    border-color: var(--fl-line) !important;
    background: var(--fl-surface) !important;
    color: var(--fl-text-soft) !important;
}

.fm-legacy-host [class*="empty"] {
    border-color: var(--fl-line) !important;
    background: #08160f !important;
    color: #81958a !important;
}

/* ------------------------------------------------------------
   Links
   ------------------------------------------------------------ */

.fm-legacy-host a {
    color: #57dc96;
}

.fm-legacy-host a:hover {
    color: #85e9b2;
}

/* ------------------------------------------------------------
   WordPress default light helpers that can leak into embedded UI
   ------------------------------------------------------------ */

.fm-legacy-host .alternate,
.fm-legacy-host .striped > tbody > :nth-child(odd),
.fm-legacy-host .form-table,
.fm-legacy-host .form-table tbody,
.fm-legacy-host .form-table tr,
.fm-legacy-host .form-table td,
.fm-legacy-host .form-table th {
    background: transparent !important;
    color: var(--fl-text-soft) !important;
}

/* ------------------------------------------------------------
   Final safety net for named Futibas legacy surfaces
   ------------------------------------------------------------ */

.fm-legacy-host [class^="futibas-"][style*="background"],
.fm-legacy-host [class*=" futibas-"][style*="background"] {
    border-color: var(--fl-line) !important;
}

/*
 * Do not force a background on every element with inline styling.
 * Only known card-like elements receive the dark surface.
 */
.fm-legacy-host [class*="card"][style],
.fm-legacy-host [class*="metric"][style],
.fm-legacy-host [class*="summary"][style],
.fm-legacy-host [class*="step"][style],
.fm-legacy-host [class*="panel"][style],
.fm-legacy-host [class*="filter"][style] {
    background: var(--fl-surface) !important;
    color: var(--fl-text) !important;
}
/* FUTIBAS-MANAGEMENT-COLOR-FIX-100RC1:END */

/* FUTIBAS-NO-WHITE-100RC1:BEGIN */
/*
 * FUTIBAS MANAGEMENT - NO WHITE SURFACES
 * 1.0.0-rc1
 *
 * Final color harmonization for legacy operational screens rendered
 * inside /gestao/. Presentation only. No layout or business logic.
 */

/* ============================================================
   01. Canonical dark palette
   ============================================================ */

.fm-legacy-host {
    --fnw-bg: #07120c;
    --fnw-surface: #0d1f16;
    --fnw-surface-2: #10261a;
    --fnw-surface-3: #091810;
    --fnw-surface-4: #122b1e;
    --fnw-line: rgba(184, 218, 197, .13);
    --fnw-line-strong: rgba(184, 218, 197, .20);
    --fnw-text: #eef5f0;
    --fnw-text-soft: #d7e3db;
    --fnw-muted: #96a99d;
    --fnw-muted-2: #71877a;
    --fnw-green: #4fd78f;
    --fnw-green-bg: #123522;
    --fnw-gold: #d0b46d;
    --fnw-red: #ff8b91;
}

/* ============================================================
   02. Athlete administration
   Exact classes from the legacy athlete renderer.
   ============================================================ */

.fm-legacy-host .futibas-admin {
    color: var(--fnw-text) !important;
}

.fm-legacy-host .futibas-admin .futibas-summary {
    border-color: var(--fnw-line) !important;
    background:
        linear-gradient(
            145deg,
            #0e2117,
            #0a1912
        ) !important;
    color: var(--fnw-text) !important;
    box-shadow:
        0 10px 28px rgba(0, 0, 0, .16) !important;
}

.fm-legacy-host .futibas-admin .futibas-summary strong {
    color: #f2f7f4 !important;
}

.fm-legacy-host .futibas-admin .futibas-summary span {
    color: #a5b6ab !important;
}

.fm-legacy-host .futibas-admin .futibas-search,
.fm-legacy-host form.futibas-search {
    border-color: var(--fnw-line) !important;
    background:
        linear-gradient(
            145deg,
            #0d1f16,
            #0a1912
        ) !important;
    color: var(--fnw-text) !important;
    box-shadow: none !important;
}

/*
 * Some previous style layers apply a light background to the search
 * container with greater specificity. These rules deliberately match
 * the exact form + wrapper combinations used by Atletas.
 */
.fm-legacy-host .wrap.futibas-admin form.futibas-search,
.fm-legacy-host .futibas-admin form.futibas-search {
    background: #0d1f16 !important;
    border-color: var(--fnw-line) !important;
}

.fm-legacy-host .futibas-admin .status-pre_cadastrado {
    border-color: rgba(141, 168, 151, .18) !important;
    background: #18271e !important;
    color: #b2c1b8 !important;
}

.fm-legacy-host .futibas-admin .status-ativo {
    border-color: rgba(79, 215, 143, .18) !important;
    background: #123522 !important;
    color: #75e4a7 !important;
}

.fm-legacy-host .futibas-admin .status-inativo {
    border-color: rgba(208, 180, 109, .20) !important;
    background: #302816 !important;
    color: #ddc37f !important;
}

.fm-legacy-host .futibas-admin .status-bloqueado {
    border-color: rgba(255, 139, 145, .20) !important;
    background: #331719 !important;
    color: #ff969b !important;
}

/* ============================================================
   03. Generic legacy search/filter bars
   ============================================================ */

.fm-legacy-host .futibas-search,
.fm-legacy-host .futibas-filter,
.fm-legacy-host .futibas-filters,
.fm-legacy-host .futibas-toolbar,
.fm-legacy-host [class$="-search"],
.fm-legacy-host [class$="-filter"],
.fm-legacy-host [class$="-filters"],
.fm-legacy-host [class$="-toolbar"],
.fm-legacy-host form[class*="search"],
.fm-legacy-host form[class*="filter"],
.fm-legacy-host form[class*="toolbar"] {
    border-color: var(--fnw-line) !important;
    background: #0d1f16 !important;
    color: var(--fnw-text) !important;
    box-shadow: none !important;
}

/* ============================================================
   04. Remaining KPI / money cards
   Handles the two white Entrada/Saida cards visible in Caixa.
   ============================================================ */

/*
 * Legacy finance cards use small semantic blocks containing a direct
 * label/value pair. :has() is scoped only to the embedded Futibas
 * renderer, so it does not affect the outer /gestao/ shell.
 */
.fm-legacy-host div:has(> span):has(> strong),
.fm-legacy-host article:has(> span):has(> strong),
.fm-legacy-host section:has(> span):has(> strong) {
    border-color: var(--fnw-line) !important;
    color: var(--fnw-text) !important;
}

/*
 * Direct KPI blocks that are not themselves section containers.
 * The :not() clauses avoid repainting large wrapper sections.
 */
.fm-legacy-host div:has(> span):has(> strong):not(.futibas-header):not(.futibas-fi-header) {
    background:
        linear-gradient(
            145deg,
            #0f2218,
            #0a1912
        ) !important;
}

/*
 * Cash / totals / balances / overview blocks.
 */
.fm-legacy-host [class*="cash"] > div,
.fm-legacy-host [class*="cash"] > article,
.fm-legacy-host [class*="caixa"] > div,
.fm-legacy-host [class*="caixa"] > article,
.fm-legacy-host [class*="balance"] > div,
.fm-legacy-host [class*="balance"] > article,
.fm-legacy-host [class*="totals"] > div,
.fm-legacy-host [class*="totals"] > article,
.fm-legacy-host [class*="metrics"] > div,
.fm-legacy-host [class*="metrics"] > article,
.fm-legacy-host [class*="summary"] > div,
.fm-legacy-host [class*="summary"] > article,
.fm-legacy-host [class*="overview"] > div,
.fm-legacy-host [class*="overview"] > article {
    border-color: var(--fnw-line) !important;
    background:
        linear-gradient(
            145deg,
            #10241a,
            #0a1912
        ) !important;
    color: var(--fnw-text) !important;
    box-shadow: none !important;
}

.fm-legacy-host [class*="cash"] > div span,
.fm-legacy-host [class*="cash"] > article span,
.fm-legacy-host [class*="caixa"] > div span,
.fm-legacy-host [class*="caixa"] > article span,
.fm-legacy-host [class*="totals"] > div span,
.fm-legacy-host [class*="metrics"] > div span {
    color: var(--fnw-muted) !important;
}

.fm-legacy-host [class*="cash"] > div strong,
.fm-legacy-host [class*="cash"] > article strong,
.fm-legacy-host [class*="caixa"] > div strong,
.fm-legacy-host [class*="caixa"] > article strong,
.fm-legacy-host [class*="totals"] > div strong,
.fm-legacy-host [class*="metrics"] > div strong {
    color: #f1f7f3 !important;
}

/* ============================================================
   05. Flow/step cards
   ============================================================ */

.fm-legacy-host [class*="steps"] > div,
.fm-legacy-host [class*="steps"] > article,
.fm-legacy-host [class*="flow"] > div,
.fm-legacy-host [class*="flow"] > article,
.fm-legacy-host [class*="cycle"] > div,
.fm-legacy-host [class*="cycle"] > article,
.fm-legacy-host [class*="ciclo"] > div,
.fm-legacy-host [class*="ciclo"] > article {
    border-color: var(--fnw-line) !important;
    background: #0a1912 !important;
    color: var(--fnw-text) !important;
    box-shadow: none !important;
}

/* ============================================================
   06. Cards / boxes / panels missed by older themes
   ============================================================ */

.fm-legacy-host [class*="card"],
.fm-legacy-host [class*="box"],
.fm-legacy-host [class*="tile"],
.fm-legacy-host [class*="panel"],
.fm-legacy-host [class*="stat"],
.fm-legacy-host [class*="metric"],
.fm-legacy-host [class*="summary"] {
    border-color: var(--fnw-line) !important;
    color: var(--fnw-text) !important;
}

.fm-legacy-host div[class*="card"],
.fm-legacy-host article[class*="card"],
.fm-legacy-host div[class*="box"],
.fm-legacy-host article[class*="box"],
.fm-legacy-host div[class*="tile"],
.fm-legacy-host article[class*="tile"],
.fm-legacy-host div[class*="stat"],
.fm-legacy-host article[class*="stat"],
.fm-legacy-host div[class*="metric"],
.fm-legacy-host article[class*="metric"] {
    background:
        linear-gradient(
            145deg,
            #0f2118,
            #0a1912
        ) !important;
}

/* ============================================================
   07. WordPress default white surfaces
   ============================================================ */

.fm-legacy-host .card,
.fm-legacy-host .postbox,
.fm-legacy-host .inside,
.fm-legacy-host .stuffbox,
.fm-legacy-host .metabox-holder,
.fm-legacy-host .widefat,
.fm-legacy-host .wp-list-table {
    border-color: var(--fnw-line) !important;
    background: var(--fnw-surface) !important;
    color: var(--fnw-text-soft) !important;
}

.fm-legacy-host .alternate,
.fm-legacy-host .striped > tbody > :nth-child(odd) {
    background: #091810 !important;
}

.fm-legacy-host .striped > tbody > :nth-child(even) {
    background: #0c1d15 !important;
}

/* ============================================================
   08. Tables
   ============================================================ */

.fm-legacy-host table,
.fm-legacy-host .widefat,
.fm-legacy-host .wp-list-table {
    border-color: var(--fnw-line) !important;
    background: #091810 !important;
    color: var(--fnw-text-soft) !important;
}

.fm-legacy-host table thead th,
.fm-legacy-host table tfoot th,
.fm-legacy-host .widefat thead th,
.fm-legacy-host .widefat tfoot th,
.fm-legacy-host .wp-list-table thead th,
.fm-legacy-host .wp-list-table tfoot th {
    border-color: rgba(184, 218, 197, .09) !important;
    background: #102d1f !important;
    color: #bdccc3 !important;
}

.fm-legacy-host table tbody tr,
.fm-legacy-host .widefat tbody tr,
.fm-legacy-host .wp-list-table tbody tr {
    background: #091810 !important;
    color: var(--fnw-text-soft) !important;
}

.fm-legacy-host table tbody tr:nth-child(even),
.fm-legacy-host .widefat tbody tr:nth-child(even),
.fm-legacy-host .wp-list-table tbody tr:nth-child(even) {
    background: #0c1d15 !important;
}

.fm-legacy-host table tbody tr:hover,
.fm-legacy-host .widefat tbody tr:hover,
.fm-legacy-host .wp-list-table tbody tr:hover {
    background: #132b1e !important;
}

.fm-legacy-host table td,
.fm-legacy-host table th,
.fm-legacy-host .widefat td,
.fm-legacy-host .widefat th,
.fm-legacy-host .wp-list-table td,
.fm-legacy-host .wp-list-table th {
    border-color: rgba(184, 218, 197, .075) !important;
    color: var(--fnw-text-soft) !important;
}

/* ============================================================
   09. Form controls
   ============================================================ */

.fm-legacy-host input[type="text"],
.fm-legacy-host input[type="search"],
.fm-legacy-host input[type="date"],
.fm-legacy-host input[type="time"],
.fm-legacy-host input[type="month"],
.fm-legacy-host input[type="number"],
.fm-legacy-host input[type="tel"],
.fm-legacy-host input[type="email"],
.fm-legacy-host input[type="password"],
.fm-legacy-host select,
.fm-legacy-host textarea {
    border-color: var(--fnw-line-strong) !important;
    background: #07150e !important;
    color: #edf5f0 !important;
    box-shadow: none !important;
}

.fm-legacy-host input::placeholder,
.fm-legacy-host textarea::placeholder {
    color: #697f71 !important;
    opacity: 1 !important;
}

.fm-legacy-host select option {
    background: #0b1b13 !important;
    color: #edf5f0 !important;
}

.fm-legacy-host input:focus,
.fm-legacy-host select:focus,
.fm-legacy-host textarea:focus {
    border-color: #35cc7e !important;
    box-shadow:
        0 0 0 3px rgba(53, 204, 126, .11) !important;
    outline: none !important;
}

/* ============================================================
   10. Buttons
   ============================================================ */

.fm-legacy-host .button,
.fm-legacy-host button,
.fm-legacy-host input[type="submit"] {
    border-color: var(--fnw-line-strong) !important;
    background: #10261a !important;
    color: #e3ece6 !important;
    box-shadow: none !important;
}

.fm-legacy-host .button:hover,
.fm-legacy-host button:hover,
.fm-legacy-host input[type="submit"]:hover {
    border-color: rgba(79, 215, 143, .34) !important;
    background: #163524 !important;
    color: #fff !important;
}

.fm-legacy-host .button-primary,
.fm-legacy-host button.button-primary,
.fm-legacy-host input.button-primary[type="submit"] {
    border-color: #229f5d !important;
    background:
        linear-gradient(
            135deg,
            #1e9d59,
            #17864a
        ) !important;
    color: #fff !important;
}

/* ============================================================
   11. Status badges
   ============================================================ */

.fm-legacy-host .badge,
.fm-legacy-host [class*="badge"],
.fm-legacy-host span[class*="status"],
.fm-legacy-host strong[class*="status"] {
    border-color: rgba(79, 215, 143, .18) !important;
    background: #123522 !important;
    color: #72e4a5 !important;
    box-shadow: none !important;
}

/* ============================================================
   12. Notices / empty states / version pill
   ============================================================ */

.fm-legacy-host .notice,
.fm-legacy-host [class*="notice"] {
    border-color: var(--fnw-line) !important;
    background: #0d1f16 !important;
    color: var(--fnw-text-soft) !important;
}

.fm-legacy-host [class*="empty"] {
    border-color: var(--fnw-line) !important;
    background: #08160f !important;
    color: #81958a !important;
}

.fm-legacy-host [class*="version"],
.fm-legacy-host [class*="schema"],
.fm-legacy-host [class*="meta-badge"] {
    border-color: var(--fnw-line-strong) !important;
    background: #10261a !important;
    color: #c2d0c7 !important;
    box-shadow: none !important;
}

/* ============================================================
   13. Text
   ============================================================ */

.fm-legacy-host h1,
.fm-legacy-host h2,
.fm-legacy-host h3,
.fm-legacy-host h4,
.fm-legacy-host strong,
.fm-legacy-host b {
    color: var(--fnw-text) !important;
}

.fm-legacy-host p,
.fm-legacy-host small,
.fm-legacy-host label,
.fm-legacy-host .description,
.fm-legacy-host [class*="muted"],
.fm-legacy-host [class*="hint"],
.fm-legacy-host [class*="caption"] {
    color: var(--fnw-muted) !important;
}

.fm-legacy-host [class*="kicker"],
.fm-legacy-host [class*="eyebrow"] {
    color: var(--fnw-green) !important;
}

/* ============================================================
   14. Explicit anti-white fallback
   Scoped to common Futibas legacy wrappers only.
   ============================================================ */

.fm-legacy-host .futibas-admin form,
.fm-legacy-host .futibas-admin .futibas-search,
.fm-legacy-host .futibas-admin .futibas-summary,
.fm-legacy-host [class*="financial"] [class*="summary"],
.fm-legacy-host [class*="financial"] [class*="metric"],
.fm-legacy-host [class*="operation"] [class*="summary"],
.fm-legacy-host [class*="operation"] [class*="metric"],
.fm-legacy-host [class*="operation"] [class*="cash"],
.fm-legacy-host [class*="operation"] [class*="caixa"] {
    background-color: #0d1f16 !important;
    background-image: none !important;
}

/*
 * Final direct-value safety net.
 * This catches legacy Entrada/Saida cards whose class name does not
 * contain a semantic keyword, but whose markup is label + value.
 */
.fm-legacy-host div:has(> span:first-child):has(> strong:last-child) {
    border-color: var(--fnw-line) !important;
    background-color: #0f2118 !important;
    background-image: none !important;
    color: var(--fnw-text) !important;
}

.fm-legacy-host div:has(> span:first-child):has(> strong:last-child) > span {
    color: var(--fnw-muted) !important;
}

.fm-legacy-host div:has(> span:first-child):has(> strong:last-child) > strong {
    color: #f2f7f4 !important;
}
/* FUTIBAS-NO-WHITE-100RC1:END */

/* FUTIBAS-UI-ALIGN-101:BEGIN */
/*
 * FUTIBAS 1.0.1 - UI alignment patch
 *
 * Visual only:
 * - centers labels vertically and horizontally;
 * - neutralizes WordPress legacy line-height on buttons;
 * - keeps links styled as buttons without underline;
 * - preserves existing colors, borders and business behavior.
 */

/* Product shell buttons and top-bar actions. */
.futibas-product .fp-button,
.futibas-product .fm-user > a,
.futibas-product .fm-action-buttons > a,
.futibas-product .fm-action-buttons > button {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px;
    line-height: 1.15 !important;
    text-align: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
}

/* Legacy admin screens embedded inside /gestao/. */
.fm-legacy-host a.button,
.fm-legacy-host button,
.fm-legacy-host button.button,
.fm-legacy-host .button-primary,
.fm-legacy-host a.button-primary {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px;
    min-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    white-space: nowrap;
}

/* Native submit/button inputs cannot be flex containers reliably. */
.fm-legacy-host input[type="submit"],
.fm-legacy-host input[type="button"] {
    box-sizing: border-box !important;
    min-height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* Icons inside actions follow the same vertical center. */
.fm-legacy-host .button .dashicons,
.fm-legacy-host button .dashicons,
.futibas-product .fp-button .dashicons {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto;
    height: auto;
    margin: 0 !important;
    line-height: 1 !important;
}

/* Prevent inherited underline from the surrounding shell. */
.fm-legacy-host a.button:hover,
.fm-legacy-host a.button:focus,
.fm-legacy-host a.button-primary:hover,
.fm-legacy-host a.button-primary:focus,
.futibas-product .fp-button:hover,
.futibas-product .fp-button:focus,
.futibas-product .fm-user > a:hover,
.futibas-product .fm-user > a:focus {
    text-decoration: none !important;
}
/* FUTIBAS-UI-ALIGN-101:END */
