/* Shared navigation and visual rhythm. Financial rules remain server-side. */
.capivara { --canvas:#f4f6f3; --line:#dce5df; --radius:18px; }
.capivara .container-wide { width:min(1240px,calc(100% - 64px)); }
.capivara .surface { box-shadow:0 3px 14px #12312b04; }
.capivara .btn { min-height:48px; border-radius:12px; font-weight:700; }
.capivara .form-control,.capivara .form-select { min-height:50px; border-radius:10px; }
.capivara .page-heading { margin-bottom:28px; }
.capivara .page-heading h1 { font-size:clamp(1.8rem,3.5vw,2.5rem); margin-top:6px; }
.capivara .section-heading { padding:22px 24px; }
.capivara .form-actions { gap:12px; }
.capivara .row-action { min-height:44px; }
.capivara .table-responsive { overscroll-behavior-inline:contain; }
.capivara .app-table th { color:#526c5f; font-weight:700; }
.capivara .app-table tbody tr:hover { background:#f8faf6; }
.capivara .section-footnote,.capivara .count-label { color:#586e60; }
.capivara .wallet-card { border-radius:18px; }

/* A compact top bar for guests; a clear second row for the signed-in customer. */
.capivara .shell-header { position:sticky; top:0; z-index:60; background:#12312b; border-bottom:1px solid #365347; box-shadow:0 4px 20px #071d1410; }
.capivara .shell-header .site-header-inner { width:min(1320px,calc(100% - 64px)); min-height:82px; padding:12px 0; gap:28px; flex-wrap:nowrap; }
.capivara .shell-header .brand-window { width:210px; }
.capivara .shell-header .site-nav { margin:0 auto; gap:24px; width:auto; order:0; }
.capivara .shell-header .site-nav a { padding:16px 0; border-bottom-width:2px; font-weight:600; }
.shell-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-left:auto; flex-shrink:0; }
.capivara .shell-actions .btn { min-height:44px; margin:0; padding:10px 18px; font-size:.875rem; gap:8px; }
.capivara .shell-login { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 18px; border:1px solid #8fa992; border-radius:12px; color:#f6fbf5; font-size:.875rem; font-weight:700; }
.capivara .shell-login:hover { border-color:var(--lime); color:var(--lime); background:#203f36; }
.shell-member-bar { border-top:1px solid #345146; background:#193d32; }
.shell-member-inner { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:58px; padding-block:9px; }
.shell-greeting { min-width:0; font-size:.9375rem; color:#d9e8dc; overflow-wrap:anywhere; }
.shell-greeting strong { color:#fff; font-weight:700; }
.capivara .shell-balance { display:flex; align-items:center; justify-content:flex-end; gap:12px; min-height:40px; padding:6px 12px; border-radius:10px; background:#254b3d; color:#fff; text-align:right; flex-shrink:0; }
.shell-balance span,.shell-balance small { color:#d3e3d5; font-size:.75rem; line-height:1.3; }
.shell-balance strong { font-size:1.0625rem; font-weight:750; line-height:1.3; font-variant-numeric:tabular-nums; }
.capivara .shell-balance:hover { background:#305a48; }
.shell-account { position:relative; }
.shell-account-toggle { display:flex; align-items:center; justify-content:center; gap:9px; min-width:44px; height:44px; padding:0 12px; list-style:none; border:1px solid #496752; border-radius:12px; background:#264939; color:#e9f5e3; cursor:pointer; }
.shell-account-caption { font-size:.8125rem; font-weight:650; }
.shell-account-toggle>.fa-chevron-down { font-size:.625rem; }
.shell-account-heading { padding:10px 12px 14px; margin-bottom:6px; border-bottom:1px solid var(--line); }
.shell-account-heading strong { display:block; font-size:1rem; }
.shell-account-heading span { display:block; font-size:.75rem; color:#60756a; margin-top:3px; }
.shell-account-toggle::-webkit-details-marker { display:none; }
.shell-account[open] .shell-account-toggle { color:var(--lime); border-color:var(--lime); }
.shell-account-menu { position:absolute; top:calc(100% + 14px); right:0; z-index:80; width:280px; max-width:calc(100vw - 32px); padding:10px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:#fff; box-shadow:0 18px 50px #071d1438; max-height:calc(100dvh - 105px); overflow-y:auto; overscroll-behavior:contain; }
.capivara .shell-account-menu nav { display:flex; flex-direction:column; align-items:stretch; gap:2px; padding:0; margin:0; width:100%; font-size:.9375rem; }
.shell-account-menu a,.shell-account-menu button { display:flex; align-items:center; gap:12px; width:100%; min-height:46px; padding:10px 12px; border-radius:9px; font:600 .875rem/1.4 "Segoe UI",Arial,sans-serif; border:0; text-align:left; background:transparent; color:var(--ink); }
.shell-account-menu a>i,.shell-account-menu button>i { width:20px; text-align:center; color:#5b7661; }
.capivara .shell-account-menu a:hover,.shell-account-menu button:hover { background:#eef4e9; }
.capivara .shell-account-menu a[aria-current] { background:#edf5e5; color:#244b33; text-decoration:none; }
.shell-account-menu form { margin:6px 0 0; padding-top:6px; border-top:1px solid var(--line); }
.capivara .shell-account-menu .shell-account-secondary { margin-top:6px; padding-top:6px; border-top:1px solid var(--line); }
.shell-account-menu .shell-menu-label { display:block; padding:9px 12px; font-size:.6875rem; color:#60756a; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.capivara .public-main { padding-top:32px; }
.capivara .public-main,.capivara .public-main [id] { scroll-margin-top:180px; }
.capivara .market-ticket-summary { top:180px; }
.capivara .site-footer { color:#607166; gap:14px; }
.capivara .site-footer a { min-height:44px; display:inline-flex; align-items:center; }
.capivara .shell-header :focus-visible { outline-color:var(--lime); }

/* Master workspace: the same visual language, grouped by task. */
.capivara .admin-sidebar { width:252px; padding:24px 16px 16px; overflow-y:auto; overscroll-behavior:contain; }
.capivara .admin-sidebar .sidebar-label { margin:22px 14px 8px; }
.capivara .admin-sidebar nav { gap:4px; }
.shell-nav-section { display:flex; flex-direction:column; gap:3px; }
.shell-nav-label { display:block; padding:18px 14px 6px; font-size:.625rem; font-weight:750; letter-spacing:.14em; color:#a3bba8; text-transform:uppercase; }
.capivara .shell-nav-section>a { display:flex; gap:12px; align-items:center; min-height:46px; padding:10px 14px; border-radius:10px; color:#d1dfd2; font-size:.875rem; }
.shell-nav-section>a>i { width:20px; text-align:center; color:#a0b898; }
.capivara .shell-nav-section>a:hover { background:#214737; }
.capivara .shell-nav-section>a[aria-current] { color:#d9f5ba; background:#2b503a; font-weight:700; }
.shell-nav-section>a[aria-current]>i { color:var(--lime); }
.capivara .admin-menu-group>summary { min-height:46px; padding:10px 14px; font-size:.875rem; }
.capivara .admin-menu-group>summary,.capivara .admin-submenu>a { color:#d1dfd2; }
.capivara .admin-sidebar .sidebar-bottom { margin-top:18px; padding:18px 14px 0; border-top:1px solid #365448; gap:8px; }
.sidebar-bottom>a { display:inline-flex; min-height:44px; align-items:center; }
.capivara .admin-workspace { margin-left:252px; }
.capivara .admin-topbar { min-height:78px; height:auto; padding:14px 32px; }
.capivara .admin-main { padding:30px 32px; }
.capivara .admin-topbar .icon-button { width:44px; height:44px; }
.capivara .admin-topbar .account-avatar { background:#edf5e6; color:#315a39; }
.shell-sidebar-close { display:none; }
.shell-sidebar-brand { display:flex; align-items:center; justify-content:space-between; padding:0 8px; }
.shell-sidebar-brand .brand-window { width:190px; }
.shell-page-context { display:flex; flex-direction:column; gap:1px; }
.shell-page-context small { font-size:.6875rem; letter-spacing:.04em; color:#61766a; }
.shell-page-context strong { font-size:.9375rem; color:#173b2c; }
.shell-backdrop { display:none; }
.capivara .auth-main { padding-block:48px; }
.capivara .auth-main .login-card { max-width:440px; }
.capivara .auth-side { background:#12312b; }

@media (min-width:761px) and (max-width:1100px) {
    .capivara .shell-header .site-header-inner { gap:18px; flex-wrap:wrap; }
    .capivara .shell-header .site-nav { order:3; width:100%; justify-content:center; margin:0; gap:36px; }
    .capivara .shell-header .site-nav a { padding:8px 0; }
    .capivara .market-ticket-summary { top:220px; }
    .capivara .public-main,.capivara .public-main [id] { scroll-margin-top:220px; }
    .capivara .admin-topbar,.capivara .admin-main { padding-inline:24px; }
}
@media (max-width:760px) {
    .capivara .container-wide { width:calc(100% - 32px); }
    .capivara .shell-header { border-radius:0; }
    .capivara .shell-header .site-header-inner { width:calc(100% - 32px); min-height:56px; padding:6px 0; gap:10px; flex-wrap:nowrap; }
    .capivara .shell-header .brand-window { width:clamp(112px,34vw,170px); }
    .capivara .shell-header .site-nav { display:none; }
    .shell-actions { gap:8px; }
    .capivara .shell-actions .btn,.capivara .shell-login { padding:10px 12px; font-size:.8125rem; min-height:44px; border-radius:11px; }
    .capivara .shell-actions .btn.shell-deposit { min-height:40px; padding:8px; }
    .capivara .shell-register>i { display:none; }
    .shell-account-toggle { min-width:40px; width:40px; height:40px; padding:0; border-radius:50%; }
    .shell-account-caption,.shell-account-toggle>.fa-chevron-down { display:none; }
    .shell-member-bar { border-radius:0; }
    .shell-member-inner { min-height:36px; gap:12px; padding:0; }
    .shell-greeting { font-size:.875rem; line-height:1.4; }
    .capivara .shell-balance { flex-direction:column; align-items:flex-end; justify-content:center; gap:0; min-height:36px; padding:4px 8px; max-width:62%; }
    .shell-balance span,.shell-balance small { font-size:.625rem; }
    .shell-balance strong { font-size:.9375rem; overflow-wrap:anywhere; max-width:100%; }
    .shell-balance>i { display:none; }
    .shell-account-menu { top:calc(100% + 10px); }
    .capivara .public-main { padding-top:24px; }
    .capivara .public-main,.capivara .public-main [id] { scroll-margin-top:132px; }
    .capivara .page-heading { gap:16px; margin-bottom:22px; }
    .capivara .page-heading p { font-size:.875rem; line-height:1.55; }
    .capivara .section-heading { padding:18px; }
    .capivara .form-surface { padding:22px 18px; }
    .capivara .form-grid { gap:0; }
    .capivara .app-form .field { margin-bottom:20px; }
    .capivara .app-form label { font-size:.875rem; }
    .capivara .form-control,.capivara .form-select { font-size:16px; min-height:52px; }
    .capivara input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="range"]),.capivara select,.capivara textarea { font-size:16px; }
    .capivara .form-actions { flex-wrap:wrap; }
    .capivara .form-actions>.btn { flex:1 1 130px; }
    .capivara .wallet-grid { gap:18px; }
    .capivara #depositar .btn { width:100%; }
    .capivara .mobile-navigation { min-height:70px; background:#fff; border-top:1px solid #d9e3dc; box-shadow:0 -5px 24px #12312b0a; z-index:55; padding-top:4px; }
    .capivara .mobile-navigation a { color:#566c5f; font-size:.6875rem; font-weight:650; min-height:62px; gap:5px; padding:7px 2px 9px; position:relative; }
    .capivara .mobile-navigation a>i { display:flex; align-items:center; justify-content:center; width:48px; margin:0; padding:5px 0; border-radius:20px; font-size:1.1rem; text-align:center; }
    .capivara .mobile-navigation a>span { width:100%; text-align:center; }
    .capivara .mobile-navigation a[aria-current] { color:#1c4733; }
    .capivara .mobile-navigation a[aria-current]>i { background:#e7f4d6; color:#265a37; }
    .capivara .mobile-navigation a:focus-visible { outline-offset:-4px; }
    .capivara .admin-workspace { margin-left:0; }
    .capivara .admin-topbar { min-height:72px; height:72px; padding:10px 16px; gap:8px; z-index:70; }
    .capivara .admin-main { padding:24px 16px; }
    .capivara .admin-topbar .topbar-leading { min-width:0; gap:8px; }
    .admin-topbar .topbar-leading>span:not(.chip) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:40vw; }
    .capivara .admin-topbar .account strong { max-width:95px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .capivara .admin-sidebar { top:72px; bottom:0; width:min(300px,calc(100% - 44px)); z-index:69; padding-top:18px; }
    .capivara .admin-sidebar>.brand { max-width:calc(100% - 40px); }
    .shell-sidebar-brand .brand-window { width:180px; }
    .shell-page-context { max-width:40vw; }
    .shell-page-context strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8125rem; }
    .shell-sidebar-close { display:flex; position:absolute; top:14px; right:8px; width:40px; height:44px; align-items:center; justify-content:center; border:0; background:transparent; color:#dfeddb; border-radius:8px; }
    .shell-backdrop { position:fixed; inset:72px 0 0; border:0; background:#061b13a8; z-index:68; }
    .admin-app.menu-open .shell-backdrop { display:block; }
    .admin-app.menu-open { overflow:hidden; }
    .admin-app:not(.shell-enhanced) .admin-sidebar { position:static; transform:none; visibility:visible; width:100%; box-shadow:none; }
    .admin-app:not(.shell-enhanced) .menu-toggle,.admin-app:not(.shell-enhanced) .shell-sidebar-close { display:none; }
    .capivara .admin-footer { padding:18px 16px; }
    .capivara .auth-brand-side { padding:22px 24px; border-radius:0 0 22px 22px; }
    .capivara .auth-brand-side .brand-window { width:190px; }
    .capivara .auth-main { padding:26px 20px; }
    .capivara .auth-main>.back-link { margin-bottom:24px; min-height:44px; }
    .capivara .auth-main .login-card { margin-top:0; }
}
@media (max-width:360px) {
    .capivara .shell-header .brand-window { width:110px; }
    .capivara .shell-actions .btn,.capivara .shell-login { padding-inline:10px; font-size:.75rem; }
    .shell-actions { gap:6px; }
    .shell-greeting { font-size:.8125rem; }
}
@media (prefers-reduced-motion:reduce) {
    .capivara .shell-header,.capivara .shell-account-menu { scroll-behavior:auto; }
}
