/* BET Legal · interfaz unificada · 18/10/2026 */
[hidden]{display:none!important}
:root{--bet-radius:9px;--bet-radius-small:7px;--bet-line:#dce1e8;--bet-focus:0 0 0 3px #cba65425;--bet-ease:180ms ease;--bet-sidebar:288px}
button{border-radius:var(--bet-radius-small)}
.report-toolbar a,.report-toolbar button,.client-report-toolbar a,.client-report-toolbar button,.ticket-toolbar a,.ticket-toolbar button{border-radius:var(--bet-radius-small)}
/* Anchors and native buttons share the same dimensions and interaction. */
.primary-button,.secondary-button,.table-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:42px;max-width:100%;padding:11px 17px;border-radius:var(--bet-radius-small);font-family:inherit;font-size:.82rem;font-weight:750;line-height:1.35;text-align:center;text-decoration:none!important;vertical-align:middle;white-space:normal;cursor:pointer;transition:background var(--bet-ease),border-color var(--bet-ease),box-shadow var(--bet-ease),transform var(--bet-ease)}
body:not(.login-page) .primary-button{width:auto;margin:0;border:1px solid #ad8435;background:linear-gradient(135deg,#9c742a,#b58c3c);color:#fff;box-shadow:0 5px 13px #ad84351c}
body:not(.login-page) .secondary-button{background:#fff;color:#293445;border:1px solid #d1d8e2;box-shadow:0 2px 4px #17202c04}
body:not(.login-page) .table-button{min-height:34px;padding:7px 11px;background:#263243;color:#fff;border:1px solid #263243;font-size:.75rem}
.primary-button:hover,.secondary-button:hover,.table-button:hover{transform:translateY(-1px);box-shadow:0 5px 14px #17202c15}
.secondary-button:hover{border-color:#ba9854!important;background:#fffdf7!important}
.primary-button:active,.secondary-button:active,.table-button:active{transform:translateY(0);box-shadow:0 2px 5px #17202c12}
button:disabled,input:disabled,select:disabled{cursor:not-allowed}button:disabled{opacity:.56;transform:none!important;box-shadow:none!important}
:where(a,button,summary,input,select,textarea):focus-visible{outline:2px solid #ae873d;outline-offset:3px}
/* Slightly rounded cards, dialogs and controls across all modules. */
.data-panel,.expense-card,.dashboard-panel,.document-card,.document-summary,.credential-card,.activity-card,.welcome-card,.billing-filter-card,.billing-panel,.report-filter-panel,.requirement-card,.stage-card,.stage-form,.recorder-box,.assistant-card,.assistant-answer,.assistant-form,.library-card,.client-report-shell,.annual-table-card,.collection-alerts,.annual-chart,.executive-report,.modal-card,.login-card,.treasury-ticket,.expense-confirm,.expense-item,.expense-review,.portal-readonly,.upload-drop,.billing-actions-panel,.executive-kpis article,.expense-summary article,.kpi-grid article,.billing-kpis article{border-radius:var(--bet-radius)!important}
.data-panel,.expense-card,.dashboard-panel,.billing-panel,.document-card,.requirement-card{box-shadow:0 7px 24px #1b263508;transition:box-shadow var(--bet-ease),border-color var(--bet-ease)}
.kpi-grid article,.billing-kpis article{transition:transform var(--bet-ease),box-shadow var(--bet-ease)}
@media(hover:hover){.kpi-grid article:hover,.billing-kpis article:hover{transform:translateY(-2px);box-shadow:0 10px 26px #1b263511}}
.alert,.success-message,.bet-alert-banner,.ticket-paid,.ticket-total,.report-note{border-radius:var(--bet-radius-small)}
body:not(.login-page) :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]),select,textarea){font:inherit;font-size:.85rem;min-height:42px;padding:11px 12px;color:#273245;background:#fcfcfe;border:1px solid var(--bet-line);border-radius:var(--bet-radius-small);max-width:100%;transition:border-color var(--bet-ease),box-shadow var(--bet-ease),background var(--bet-ease)}
body:not(.login-page) :where(input,select,textarea):focus{border-color:#b7954c;box-shadow:var(--bet-focus)}
input[type=checkbox],input[type=radio]{accent-color:#a98132}
input[type=file]{font:inherit;font-size:.82rem;max-width:100%;padding:9px;border:1px dashed #c6cdd8;border-radius:var(--bet-radius-small);background:#fcfcfd}
input[type=file]::file-selector-button{border:1px solid #d1d7df;border-radius:5px;background:#fff;color:#364152;font:inherit;font-weight:700;padding:8px 12px;margin-right:12px;cursor:pointer}
.table-wrap{border:1px solid #e5e9ef;border-radius:8px;scrollbar-width:thin;scrollbar-color:#c5cbd4 transparent}
.table-wrap th{background:#f7f8fb}.table-wrap tbody tr{transition:background 140ms ease}.table-wrap tbody tr:hover{background:#fbf9f3}
.expense-actions,.topbar-actions,.row-actions{gap:10px}.expense-actions>a,.topbar-actions>a{flex-shrink:0}
.expense-card .expense-confirm,.expense-confirm{border-radius:10px!important}.expense-card input,.expense-card select,.expense-card textarea{width:100%}.expense-card input[type=checkbox],.expense-card input[type=radio]{width:auto}
/* Navigation: native accordion sections, local SVG icons, independent scrolling. */
body.app-page{grid-template-columns:var(--bet-sidebar) minmax(0,1fr);transition:grid-template-columns 220ms ease}
body.app-page>.bet-sidebar{position:fixed;inset:0 auto 0 0;width:var(--bet-sidebar);height:100vh;height:100dvh;padding:25px 16px 15px;background:linear-gradient(170deg,#242d3b,#161e2a 65%,#121924);border-right:1px solid #ffffff0b;box-shadow:8px 0 26px #1018270a;display:flex;gap:19px;overflow:hidden!important;z-index:1000;transition:transform 220ms ease,visibility 220ms ease}
body.app-page>.content{grid-column:2;min-width:0}
body.app-page.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
body.app-page.sidebar-collapsed>.bet-sidebar{transform:translateX(-100%);visibility:hidden}
body.app-page.sidebar-collapsed>.content{grid-column:2;padding-left:44px}
.bet-sidebar .bet-brand{display:flex;align-items:center;gap:11px;padding:0 9px 20px;border:0;border-bottom:1px solid #ffffff12;border-radius:0;background:none;color:#e3ca90}
.bet-sidebar .bet-brand:hover{background:none;border-left-color:transparent}
.bet-sidebar .sidebar-logo{width:108px;max-height:60px;object-fit:contain;margin:0}
.bet-brand>span{font-size:.58rem;font-weight:800;letter-spacing:.14em;line-height:1.8}.bet-brand small{display:block;color:#9ea9b9;font-size:.54rem;font-weight:400;letter-spacing:.015em}
.bet-sidebar .bet-navigation{display:flex;flex-direction:column;gap:9px;min-height:0;flex:1;overflow:auto;padding:0 2px 12px;scrollbar-width:thin;scrollbar-color:#ffffff23 transparent}
.bet-sidebar .bet-nav-link{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid transparent;border-left:1px solid transparent;border-radius:7px;margin:2px 0;padding:10px 12px;min-height:40px;color:#bbc5d3;font-size:.78rem;line-height:1.45;font-weight:500;text-decoration:none;transition:background var(--bet-ease),border-color var(--bet-ease),color var(--bet-ease),transform var(--bet-ease)}
.bet-icon{display:block;width:19px;height:19px;flex:0 0 19px;pointer-events:none}
.bet-sidebar .bet-nav-link>.bet-icon{color:#97a5ba;width:18px;height:18px}
.bet-sidebar .bet-nav-link:hover{color:#fff;background:#ffffff07;border-color:#ffffff0a;transform:translateX(2px)}
.bet-sidebar .bet-nav-link.active{color:#f3d896;border-color:#cba65435;background:linear-gradient(100deg,#cba65418,#cba65408);box-shadow:inset 2px 0 0 #cba654}
.bet-sidebar .bet-nav-link.active>.bet-icon{color:#d9b667}.bet-sidebar .bet-home{background:#ffffff04;margin-bottom:6px}
.bet-nav-group{border:1px solid transparent;border-radius:8px;flex-shrink:0}
.bet-nav-group[open]{background:#0c142017;border-color:#ffffff0b}
.bet-nav-group>summary{display:flex;gap:11px;align-items:center;min-height:44px;padding:11px 10px;list-style:none;cursor:pointer;color:#d1d9e4;font-size:.76rem;font-weight:750;line-height:1.4;border-radius:7px;transition:background var(--bet-ease),color var(--bet-ease);user-select:none}
.bet-nav-group>summary::-webkit-details-marker{display:none}.bet-nav-group>summary::marker{content:''}
.bet-nav-group>summary>.bet-icon{color:#c3a66a}.bet-nav-group>summary>span:first-of-type{flex:1}
.bet-nav-group>summary:hover{background:#ffffff06;color:#fff}
.bet-nav-group[open]>summary{color:#e1c892}.bet-nav-arrow{display:flex;margin-left:auto;transition:transform var(--bet-ease);color:#77859a}.bet-nav-arrow .bet-icon{width:14px;height:14px}
.bet-nav-group[open]>summary>.bet-nav-arrow{transform:rotate(90deg)}
.bet-nav-links{padding:1px 5px 7px 8px}.bet-nav-group[open]>.bet-nav-links{animation:bet-nav-in 160ms ease-out}
.bet-sidebar .bet-nav-links>.bet-nav-link{padding:10px 9px;margin:1px 0}
.bet-sidebar .bet-alert-count{font-size:.63rem;min-width:20px;height:20px;padding:0 5px;border-radius:5px;line-height:1;letter-spacing:0}
.bet-sidebar-footer{padding:12px 5px 0;border-top:1px solid #ffffff10;flex-shrink:0}.bet-sidebar-footer>span{display:block;font-size:.63rem;color:#8391a6;padding:0 10px 9px;letter-spacing:.05em}
.bet-sidebar .bet-sidebar-footer .logout{margin:0;color:#d1b77f;background:#ffffff03}.bet-sidebar .bet-sidebar-footer .logout>.bet-icon{color:#c3a66a}
body.app-page>.bet-sidebar-toggle{position:fixed;top:21px;left:calc(var(--bet-sidebar) - 20px);width:36px;height:36px;padding:0;display:grid;place-items:center;z-index:1100;background:#273244;color:#e3c887;border:1px solid #b08d4b80;border-radius:50%;box-shadow:0 4px 15px #121a2730;transform:rotate(180deg);transition:left 220ms ease,transform 220ms ease,background var(--bet-ease)}
body.app-page>.bet-sidebar-toggle:hover{background:#34425a}body.app-page.sidebar-collapsed>.bet-sidebar-toggle{left:14px;transform:rotate(0)}
.bet-sidebar-toggle .bet-icon{width:16px;height:16px}.bet-nav-backdrop{display:none}
@keyframes bet-nav-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.topbar{gap:18px;flex-wrap:wrap}.topbar-actions{display:flex;flex-wrap:wrap}}
@media(max-width:900px){body.app-page{display:block!important}.bet-nav-enhanced body.app-page>.bet-sidebar{width:min(300px,86vw);box-shadow:12px 0 35px #0b142540;transform:translateX(-100%);visibility:hidden}.bet-nav-enhanced body.app-page.nav-mobile-open>.bet-sidebar{transform:translateX(0);visibility:visible}.bet-nav-enhanced body.app-page>.bet-sidebar-toggle{left:14px;transform:rotate(0)}.bet-nav-enhanced body.app-page.nav-mobile-open>.bet-sidebar-toggle{left:min(calc(86vw - 20px),280px);transform:rotate(180deg)}body.app-page>.content,body.app-page.sidebar-collapsed>.content{width:100%;padding:28px 20px}.bet-nav-enhanced body.app-page.nav-mobile-open>.bet-nav-backdrop{display:block;position:fixed;inset:0;z-index:999;border:0;border-radius:0;background:#10182770;backdrop-filter:blur(2px);cursor:pointer}html:not(.bet-nav-enhanced) body.app-page>.bet-sidebar{position:static;width:100%;height:auto;visibility:visible;transform:none}html:not(.bet-nav-enhanced) .bet-sidebar-toggle{display:none!important}.topbar{padding-left:35px}.bet-sidebar .bet-brand{padding-top:8px}}
@media(max-width:600px){.primary-button,.secondary-button{min-height:42px;padding:10px 14px;font-size:.8rem}.expense-actions{align-items:stretch}.expense-actions>.primary-button,.expense-actions>.secondary-button{flex:1 1 auto}.content .data-panel{padding:18px}.kpi-grid article{padding:20px}.modal-card{border-radius:9px!important}.ticket-toolbar{padding:0 12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){body.app-page,.bet-sidebar,.bet-sidebar-toggle,.bet-nav-link,.bet-nav-arrow,.primary-button,.secondary-button,.table-button,.kpi-grid article,.billing-kpis article{transition:none!important}.bet-nav-links{animation:none!important}}
@media print{.bet-sidebar,.bet-sidebar-toggle,.bet-nav-backdrop{display:none!important}body.app-page{display:block!important}.data-panel,.expense-card,.dashboard-panel,.executive-report,.treasury-ticket{box-shadow:none!important}.content{margin:0!important;padding:0!important}.topbar{padding-left:0}.table-wrap{border:0;overflow:visible}}
