/* CLUBES BY INDAJAUS · operational theme. Shared tokens also cover native dialogs. */
:root {
  color-scheme: light;
  --bg:#f5f6f7; --panel:#fff; --panel-2:#f0f2f4; --line:#d9dde3;
  --text:#222; --muted:#60646b; --brand:#fcce20; --brand-2:#e4b600;
  --danger:#b4232c; --warn:#946200; --ok:#326348;
  --shadow:0 12px 36px rgba(24,28,35,.12);
  --accent:#755900; --surface:#fff; --amber:#946200;
  --clubes-sidebar:240px; --clubes-header:68px;
}
body { background:var(--bg); color:var(--text); font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif; }
::selection { background:#fcce20; color:#222; }
input,textarea { caret-color:#755900; }
:focus-visible { outline:2px solid #755900!important; outline-offset:3px; }
* { scrollbar-color:#b8bdc5 #f0f2f4; scrollbar-width:thin; }
a { text-underline-offset:3px; }
#clubesShellRoot[hidden] { display:none; }
.clubes-header { position:fixed; inset:0 0 auto; height:var(--clubes-header); z-index:110; display:flex; align-items:center; gap:20px; padding:0 24px; background:#222; color:#fff; }
.clubes-company { width:192px; flex-shrink:0; display:flex; gap:18px; align-items:center; }
.clubes-company img { width:86px; height:50px; object-fit:contain; }
.clubes-company>span { font-size:13px; font-weight:600; color:#fcce20; white-space:nowrap; }
.clubes-header-site { font-size:13px; color:#d8dadd; }
.clubes-search { max-width:320px; flex:1; margin-left:auto; }
.clubes-search .ant-select { width:100%; }
.clubes-connection { display:flex; gap:7px; align-items:center; max-width:180px; font-size:12px; color:#e5e7eb; }
.clubes-connection>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.clubes-account.ant-btn { height:48px; padding:4px 6px; color:white; }
.clubes-account.ant-btn:hover { color:white!important; background:#383838!important; }
.clubes-account .ant-avatar { background:#fcce20; color:#222; }
.clubes-account-copy { display:grid; text-align:left; gap:2px; max-width:160px; }
.clubes-account-copy strong { overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.clubes-account-copy small { color:#d8dadd; font-size:11px; }
.clubes-sidebar { position:fixed; top:var(--clubes-header); left:0; bottom:0; width:var(--clubes-sidebar); padding:18px 12px; overflow:auto; background:#fff; border-right:1px solid var(--line); z-index:100; }
.clubes-site { display:flex; align-items:center; gap:12px; padding:0 12px 20px; margin-bottom:4px; border-bottom:1px solid #e8eaed; }
.clubes-site img { width:48px; height:48px; object-fit:contain; }
.clubes-site>div { display:grid; gap:2px; }
.clubes-site span { color:#60646b; font-size:11px; }
.clubes-site strong { color:#222; font-size:15px; }
.clubes-site small { color:#60646b; font-size:11px; }
.clubes-sidebar .ant-menu { border-inline-end:0!important; }
.clubes-sidebar .ant-menu-item-group-title,.clubes-drawer .ant-menu-item-group-title { padding:18px 16px 6px; font-size:11px; font-weight:600; }
.clubes-sidebar footer { border-top:1px solid #e8eaed; margin-top:24px; padding:20px 12px 6px; color:#60646b; font-size:10px; line-height:1.8; }
.clubes-sidebar footer span { font-size:11px; }
.clubes-location { position:absolute; left:var(--clubes-sidebar); right:0; top:var(--clubes-header); padding:18px 28px; display:flex; gap:10px; align-items:center; font-size:12px; color:#60646b; }
.clubes-location strong { font-weight:500; color:#222; }
.clubes-location-role { margin-left:auto; }
.clubes-mobile-toggle.ant-btn { display:none; color:#fff; }
.clubes-skip { position:fixed; top:-100px; left:12px; z-index:1300; background:#fcce20; color:#222; padding:12px 16px; }
.clubes-skip:focus { top:12px; }
body.clubes-shell-active>#tabs,body.clubes-shell-active>.topbar,body.clubes-shell-active>.mobile-dock,body.clubes-shell-active #mobileDock,body.clubes-shell-active #roleWorkspace,body.clubes-shell-active #workspaceModuleFinder { display:none!important; }
body.clubes-shell-active>#mainContent { margin:120px 0 0 var(--clubes-sidebar); padding:0 28px 40px; width:auto; max-width:none; min-height:calc(100vh - 120px); }
body.clubes-shell-active .view { color:var(--text); }
body.clubes-shell-active .section-head { margin:0 0 20px; padding:0; }
body.clubes-shell-active :is(h1,h2,h3,h4) { color:var(--text); letter-spacing:-.02em; }
body.clubes-shell-active h2 { font-size:26px; font-weight:650; }
body.clubes-shell-active h3 { font-size:18px; font-weight:600; }
body.clubes-shell-active :is(.eyebrow,.workspace-kicker) { display:none; }
body.clubes-shell-active :is(.card,.panel,.patient-directory,.patient-dossier-panel,.patient-directory-toolbar,.inventory-surface,.pos-panel,.dashboard-panel,.cash-panel,.table-wrap,.table-container) { background:#fff; border-color:var(--line); box-shadow:none; border-radius:8px; }
body.clubes-shell-active :is(input,textarea,select) { background:#fff; color:#222; border:1px solid #c4c9d1; box-shadow:none; border-radius:6px; min-height:38px; font:inherit; }
body.clubes-shell-active :is(input,textarea)::placeholder { color:#69707b; opacity:1; }
body.clubes-shell-active :is(input,textarea,select):focus { border-color:#8b6b00; box-shadow:0 0 0 2px #fcce2033; }
body.clubes-shell-active button:not([class*="ant-"]) { border-radius:6px; box-shadow:none; min-height:36px; font-weight:500; }
body.clubes-shell-active :is(button.primary,.btn-primary,.primary-button) { background:#fcce20; border-color:#fcce20; color:#222; }
body.clubes-shell-active :is(button.secondary,.btn-secondary,.ghost) { background:#fff; border-color:#c4c9d1; color:#333; }
body.clubes-shell-active button:disabled { opacity:.5; cursor:not-allowed; }
body.clubes-shell-active :is(table,thead,tbody,tr,td) { background:transparent; color:var(--text); border-color:#e4e7ec; }
body.clubes-shell-active table { font-size:13px; font-variant-numeric:tabular-nums; }
body.clubes-shell-active th { background:#f5f6f8; color:#4b5260; border-color:#e4e7ec; font-size:12px; font-weight:600; }
body.clubes-shell-active td { padding-top:12px; padding-bottom:12px; }
body.clubes-shell-active tbody tr:hover { background:#fffbec; }
body.clubes-shell-active :is(.muted,.help,.hint,.form-hint,.subtle,.stat-label,.metric-label) { color:var(--muted); }
body.clubes-shell-active :is(.metric,.stat-card,.kpi-card,.dashboard-kpi) { background:#fff; color:#222; border-color:var(--line); box-shadow:none; }
body.clubes-shell-active :is(.metric,.stat-card,.kpi-card,.dashboard-kpi) :is(strong,b) { color:#222; font-variant-numeric:tabular-nums; }
body.clubes-shell-active :is(.muted-box,.empty-state,.notice,.info-box) { background:#f4f5f7; color:#4b5260; border-color:#d9dde3; }
body.clubes-shell-active :is(.badge,.pill) { box-shadow:none; }
body.clubes-shell-active .badge.ok { background:#e9f3ec; color:#28583b; }
body.clubes-shell-active .badge.warn { background:#fff4d6; color:#805900; }
body.clubes-shell-active .badge.danger { background:#fcebed; color:#a51f2b; }
body.clubes-shell-active :is(.patient-avatar,.inventory-icon) { background:#f0f2f4; color:#4b5260; }
body.clubes-shell-active dialog { background:white; color:#222; border:1px solid #d9dde3; border-radius:10px; box-shadow:var(--shadow); }
body.clubes-shell-active dialog::backdrop { background:rgba(24,28,35,.45); }
/* Entry preserves the original authentication and invitation controls. */
.login-screen { background:#f5f6f7; }
.login-shell { background:#fff; border:1px solid #d9dde3; box-shadow:0 16px 45px #2222220f; }
.login-intro { background:#222; color:#fff; }
.login-intro :is(h1,strong) { color:#fff; }
.login-intro p { color:#d8dadd; }
.clubes-login-parent { width:155px; height:84px; object-fit:contain; margin-bottom:30px; }
.login-brand { border-top:1px solid #505050; padding-top:20px; }
.login-brand img { width:56px; height:56px; }
.login-brand span { color:#fcce20; }
.login-card { background:#fff; color:#222; }
.login-card :is(input,select) { background:#fff; color:#222; border-color:#c4c9d1; }
.login-card button[type=submit] { background:#fcce20; color:#222; border-color:#fcce20; }
.login-card label { color:#222; }
.login-card :is(.login-form-heading > span,.login-form-heading p,.login-security-note,.small) { color:#60646b; }
.login-card .login-security-note { border-top:1px solid #e4e7ec; }
.login-card .login-status { color:#60646b; }
.login-card .login-status[data-state=error] { color:#b4232c; }
.login-card input { background:#fff; color:#222; border-color:#b8bec7; }
.login-card input::placeholder { color:#69707b; opacity:1; }
.login-card input:focus { color:#222; border-color:#755900; box-shadow:0 0 0 2px #fcce2033; outline:2px solid #755900; outline-offset:2px; }
.login-card .login-submit { box-shadow:none; text-shadow:none; background:#fcce20; color:#222; }
.login-card .login-submit:hover { background:#eabe14; color:#222; }
.login-card button:disabled { background:#eceef1; border-color:#d9dde3; color:#60646b; box-shadow:none; }
.invite-card :is(h1,h2,strong,label) { color:#222; }
.invite-card :is(p,small,.small,.eyebrow) { color:#60646b; }
.login-flow { color:#e5e7eb; }
body.boot-loading { background:#f5f6f7; color:#222; }
body.boot-loading .boot-screen p { color:#60646b; }
.boot-bars span { background:#e4e7ec; }
/* Dedicated real cash report shares identity and tokens. */
body.clubes-cash .shell { color:#222; }
.clubes-cash-brand { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; padding:14px 20px; background:#222; color:white; border-radius:6px; }
.clubes-cash-brand img { width:104px; height:56px; object-fit:contain; }
.clubes-cash-brand span { color:#fcce20; font-size:14px; }
body.clubes-cash .action.primary,body.clubes-cash .report-tab[aria-selected=true] { background:#fcce20; color:#222; border-color:#fcce20; }
body.clubes-cash th { background:#f0f2f4; color:#4b5260; }
@media(min-width:1600px) { :root { --clubes-sidebar:256px; } body.clubes-shell-active>#mainContent { padding-left:36px; padding-right:36px; } }
@media(max-width:1100px) { .clubes-connection>span:last-child,.clubes-header-site { display:none; } .clubes-header { gap:14px; padding:0 16px; } .clubes-company { width:208px; } }
@media(max-width:820px) {
  :root { --clubes-sidebar:0px; --clubes-header:60px; }
  .clubes-sidebar { display:none; }
  .clubes-mobile-toggle.ant-btn { display:inline-flex; flex-shrink:0; }
  .clubes-header { gap:10px; padding:0 12px; }
  .clubes-company { width:auto; gap:10px; }
  .clubes-company img { width:68px; height:42px; }
  .clubes-company>span { display:none; }
  .clubes-search { margin-left:auto; max-width:240px; }
  .clubes-account-copy,.clubes-connection { display:none; }
  .clubes-location { padding:16px; }
  body.clubes-shell-active>#mainContent { margin-top:110px; margin-left:0; padding:0 16px 28px; }
  body.clubes-shell-active :is(input,select,textarea) { font-size:16px; }
  body.clubes-shell-active .section-head { flex-wrap:wrap; gap:12px; }
  body.clubes-shell-active h2 { font-size:23px; }
}
@media(max-width:420px) { .clubes-search { max-width:166px; } .clubes-location-role { display:none; } .clubes-header { gap:4px; } }
@media(prefers-reduced-motion:reduce) { #clubesShellRoot *, .clubes-drawer * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { #clubesShellRoot,.clubes-cash-brand { display:none!important; } body.clubes-shell-active>#mainContent { margin:0; padding:0; } }
/* Reviewed native surfaces: explicit readable pairs replace legacy dark treatments. */
body.clubes-shell-active .view :is(p,small,dt,label) { color:#60646b; }
body.clubes-shell-active .view .small { color:#60646b; }
body.clubes-shell-active :is(.patient-directory-code,.patient-directory-category,.patient-directory-date) { color:#4b5260; }
body.clubes-shell-active .patient-directory-code { color:#755900; }
body.clubes-shell-active .patient-directory-row::before { display:none; }
body.clubes-shell-active .patient-directory-row { background:#fff; }
body.clubes-shell-active .patient-directory-row:hover { background:#fffbec; }
body.clubes-shell-active .patient-directory-row.is-offboarded { opacity:1; }
body.clubes-shell-active .patient-category-tabs button[aria-pressed=true] { background:#fff4ca; color:#222; border-color:#c7ad55; }
body.clubes-shell-active :is(.patient-dossier,.patient-dossier-panel,.patient-dossier-hero,.patient-editor-card,.modal-card) { background:#fff; color:#222; border-color:#d9dde3; box-shadow:none; }
body.clubes-shell-active :is(.patient-dossier,.modal-card) :is(p,small,span,label) { color:#60646b; }
body.clubes-shell-active :is(.patient-dossier,.modal-card) :is(strong,h2,h3) { color:#222; }
body.clubes-shell-active .inventory-section-tabs { background:#e9edf1; border:1px solid #d9dde3; border-radius:8px; box-shadow:none; }
body.clubes-shell-active .inventory-section-tabs button { background:transparent; color:#4b5260; min-height:44px; border-radius:5px; }
body.clubes-shell-active .inventory-section-tabs button.is-active { background:#fcce20; color:#222; }
body.clubes-shell-active .inventory-section-tabs button small { color:inherit; opacity:1; }
body.clubes-shell-active #posView { --pos-surface:#fff; --pos-surface-soft:#f5f6f7; --pos-soft:#fff7d8; --pos-accent:#fcce20; --pos-accent-soft:#fff7d8; --pos-border:#d9dde3; }
body.clubes-shell-active #posView :is(.pos-stage,.pos-patient-empty,.pos-patient-card,.pos-next-action,.quote-total,.pos-stage-head) { background:#fff; color:#222; box-shadow:none; border-color:#d9dde3; border-radius:8px; }
body.clubes-shell-active #posView :is(.pos-next-action,.quote-total) { background:#fff7d8; color:#514000; border:1px solid #dfcf93; }
body.clubes-shell-active #posView .quote-total strong { color:#222; }
body.clubes-shell-active #posView .quote-total span { color:#514000; }
body.clubes-shell-active #posView .quote-total :is(.small,small,.pos-total-usd) { color:#514000; }
body.clubes-shell-active #posView .pos-patient-search small { color:#755900; }
body.clubes-shell-active #posView .pos-stage-head > span { background:#fcce20; color:#222; box-shadow:none; border-radius:6px; }
body.clubes-shell-active #posView .pos-stage-head > strong { color:#755900; }
body.clubes-shell-active #posView .pos-stepper { top:76px; background:#fff; border:1px solid #d9dde3; border-radius:8px; box-shadow:none; backdrop-filter:none; gap:4px; }
body.clubes-shell-active #posView .pos-stepper a { color:#4b5260; background:#fff; border-radius:5px; font-weight:500; }
body.clubes-shell-active #posView .pos-stepper a b { color:#4b5260; background:#f0f2f4; border-color:#d9dde3; }
body.clubes-shell-active #posView .pos-stepper a.is-complete { color:#222; background:#f5f6f7; }
body.clubes-shell-active #posView .pos-stepper a[aria-current=step] { color:#222; background:#fff4ca; }
body.clubes-shell-active #posView .pos-stepper a[aria-current=step] b { color:#222; background:#fcce20; border-color:#c7a41b; }
body.clubes-shell-active #posView .pos-stepper a[aria-disabled=true] { color:#69707b; background:#f8f9fa; cursor:not-allowed; }
body.clubes-shell-active #posView .pos-stepper a[aria-disabled=true] b { color:#69707b; background:#f0f2f4; }
body.clubes-shell-active .cash-session-row.is-open { background:#fff; border-color:#d9dde3; }
body.clubes-shell-active .cash-file-state.pending { color:#805900; }
body.clubes-shell-active .cash-session-row .cash-file-state { color:#60646b; }
body.clubes-shell-active .role-operation-banner { background:#f5f6f7; color:#4b5260; border-color:#d9dde3; }
body.clubes-shell-active :is(.inventory-operation-dialog,.inventory-operation-modal-head) { background:#fff; color:#222; border-color:#d9dde3; box-shadow:none; backdrop-filter:none; border-radius:8px; }
body.clubes-shell-active .inventory-operation-modal-head { border-radius:8px 8px 0 0; }
body.clubes-shell-active .inventory-operation-dialog :is(p,small,label,.small) { color:#60646b; }
body.clubes-shell-active .inventory-operation-dialog :is(h2,h3,strong) { color:#222; }
body.clubes-shell-active .inventory-operation-dialog :is(input,select,textarea) { background:#fff; color:#222; border:1px solid #b8bec7; border-radius:6px; }
body.clubes-shell-active .inventory-operation-dialog button { background:#fcce20; color:#222; border-color:#d2ad22; box-shadow:none; }
body.clubes-shell-active .inventory-operation-dialog button.secondary { background:#fff; color:#222; border-color:#b8bec7; }
body.clubes-shell-active .inventory-operation-heading > span { background:#fcce20; color:#222; box-shadow:none; }
body.clubes-shell-active .table-scroll::after { display:none; }
body.clubes-shell-active ::-webkit-scrollbar-thumb { background:#b8bdc5; border-color:#f0f2f4; }
body.clubes-shell-active .patient-dossier-hero::before { display:none; }
body.clubes-shell-active .patient-review-controls > summary { color:#222; }
body.clubes-shell-active :is(.role-genetics-total,.role-genetics-total strong,.role-genetics-total span) { color:#222; }
body.clubes-shell-active :is(.patient-dossier-hero,.patient-dossier-kpis article,.patient-profile-facts>div) { background:#fff; box-shadow:none; }
body.clubes-shell-active #posView .pos-payment-balance .is-pending strong { color:#805900; }
body.clubes-shell-active #posView .pos-payment-balance .is-ready strong { color:#28583b; }
body.clubes-shell-active #posView .pos-payment-progress { background:#e4e7ec; }
body.clubes-shell-active #posView .pos-payment-progress i { background:#fcce20; }
body.clubes-shell-active .modal-card :is(.label,.small,p,small,dt,label) { color:#60646b; }
body.clubes-shell-active .modal-card .value { color:#222; }
body.clubes-shell-active .cash-close-card { width:min(880px,calc(100vw - 32px)); }
body.clubes-shell-active .cash-close-card .cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.clubes-shell-active .cash-close-card .card { min-width:0; background:#f5f6f7; border-color:#d9dde3; }
body.clubes-shell-active .cash-close-card .value { font-size:24px; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
@media(max-width:600px) { body.clubes-shell-active .cash-close-card .cards { grid-template-columns:1fr; } }
@media(max-width:820px) {
  body.clubes-shell-active #posView .pos-stepper { top:68px; }
  body.clubes-shell-active .patients-head-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  body.clubes-shell-active .patients-head-actions button { width:100%; white-space:nowrap; }
  body.clubes-shell-active #newPatientBtn { grid-column:1/-1; }
  body.clubes-shell-active .patient-category-tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:6px; padding:0 0 6px; margin:8px 0; }
  body.clubes-shell-active .patient-category-tabs button { min-height:38px; flex:0 0 auto; white-space:nowrap; padding:8px 10px; font-size:12px; }
  body.clubes-shell-active .patient-directory-toolbar { border-radius:8px; }
}
#managementHome:not(:empty) ~ *,
#reportsView[data-report-mode="management"] > :not(#managementReport) { display: none !important; }
.management-page { min-width: 0; color: #222; font-variant-numeric: tabular-nums; }
.management-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.management-page h2 { margin: 0; color: #222; font-size: clamp(26px, 3vw, 34px); }
.management-page h3 { color: #222; margin: 0 0 8px; font-size: 17px; }
.management-page p { color: #4b5260; margin: 0 0 12px; line-height: 1.5; max-width: 74ch; }
.management-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 16px 0 10px; }
.management-filters label { display: grid; gap: 4px; color: #222; font-weight: 600; }
.management-filters input { min-height: 34px; padding: 4px 8px; width: 146px; color: #222; background: #fff; border: 1px solid #828890; border-radius: 6px; }
.management-period { color: #4b5260; margin-bottom: 18px; line-height: 1.55; }
.management-cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.management-card { grid-column: span 2; border-color: #d9dde3; border-radius: 12px; }
.management-card:nth-child(n+4) { grid-column: span 3; }
.management-card .ant-card-body { display: grid; align-content: start; grid-template-rows: auto auto 1fr auto; height: 100%; padding: 18px; }
.management-card .ant-btn { justify-self: start; padding-inline: 0; height: auto; white-space: normal; text-align: left; color: #514000; font-weight: 650; }
.management-card .ant-btn:hover { color: #222 !important; background: #fff7d8 !important; }
.management-value { display: block; color: #222; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -.025em; line-height: 1.15; margin-bottom: 8px; overflow-wrap: anywhere; }
.management-actions { border-top: 1px solid #d9dde3; margin-top: 22px; padding-top: 16px; }
.management-actions p { margin: 5px 0; }
.management-page .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn,
.management-page .ant-tabs-tab:hover { color: #514000; }
.management-page .ant-table-wrapper { min-width: 0; margin-top: 12px; }
.management-page .ant-table-container table { color: #222; }
.management-page .ant-alert { margin-bottom: 12px; }
.management-page :focus-visible { outline: 2px solid #755900; outline-offset: 2px; }
.management-report-links { display: flex; flex-wrap: wrap; gap: 8px; }
.management-statement { max-width: 620px; margin: 16px 0; padding: 0 16px; color: #222; background: #fff; border: 1px solid #d9dde3; border-radius: 12px; }
.management-statement div { display: flex; justify-content: space-between; gap: 8px; padding: 12px 0; border-bottom: 1px solid #d9dde3; }
.management-statement div:last-child { font-weight: 700; border-bottom: 0; }
.management-statement dd { margin: 0; text-align: right; }
@media (max-width: 860px) {
  .management-cards { grid-template-columns: 1fr; }
  .management-card, .management-card:nth-child(n+4) { grid-column: auto; }
}
@media (max-width: 420px) {
  .management-filters input { width: 128px; }
  .management-card .ant-card-body { padding: 14px; }
}
