/* Morya Indian Club v12.7 — Finance integrity and responsive UI repair */
:root{
  --club-bg:#f5f6fa;--club-surface:#fff;--club-surface-2:#f8f9fc;--club-text:#151827;--club-muted:#657087;
  --club-border:#dfe3eb;--club-shadow:0 12px 34px rgba(25,31,52,.08);--club-success:#08775d;--club-warning:#a15c00;--club-danger:#b42318;
}
html[data-theme="dark"]{
  --club-bg:#11141b;--club-surface:#1a1f29;--club-surface-2:#222936;--club-text:#f4f6fb;--club-muted:#abb5c6;
  --club-border:#343d4c;--club-shadow:0 16px 38px rgba(0,0,0,.28);--club-success:#56d7b2;--club-warning:#f7c66a;--club-danger:#ff8b82;
}
html,body{max-width:100%;overflow-x:clip;background:var(--club-bg);color:var(--club-text)}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,video,canvas,svg{max-width:100%;height:auto}
main,.admin-content,.member-content,.auth-main,.container,.panel,.card,.kpi-card,.metric-card,.dashboard-card,.cms-card,.feature-card{min-width:0}
.admin-content>*,.member-content>*,main>section,main>.container{max-width:100%}

/* Consistent surfaces and readable light mode */
.panel,.card,.kpi-card,.metric-card,.dashboard-card,.cms-card,.feature-card,.auth-card,.membership-plan-card,.event-card,.gallery-card,.video-card,.member-admin-hero,.membership-feature-card{
  background:var(--club-surface);color:var(--club-text);border-color:var(--club-border);box-shadow:var(--club-shadow);
}
html[data-theme="light"] .public-body,
html[data-theme="light"] .phase4-public,
html[data-theme="light"] .public-section,
html[data-theme="light"] .public-content-section,
html[data-theme="light"] .section-soft,
html[data-theme="light"] .home-section,
html[data-theme="light"] main{background-color:var(--club-bg);color:var(--club-text)}
html[data-theme="light"] .site-header{background:rgba(255,255,255,.94);border-color:var(--club-border);color:var(--club-text)}
html[data-theme="light"] .public-nav a:not(.button),html[data-theme="light"] .site-theme-toggle{color:#22273a}
html[data-theme="light"] .site-footer{background:#151a27;color:#fff}
html[data-theme="light"] .site-footer a,html[data-theme="light"] .site-footer p,html[data-theme="light"] .site-footer span{color:#d9deea}
html[data-theme="light"] .hero-card,html[data-theme="light"] .public-card,html[data-theme="light"] .content-card,html[data-theme="light"] .event-card,html[data-theme="light"] .membership-plan-card{background:#fff;color:#151827;border-color:#e0e4ec}
html[data-theme="light"] .muted,html[data-theme="light"] .block-muted,html[data-theme="light"] small,html[data-theme="light"] .section-copy{color:#606b80}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#151a23;color:#f4f6fb;border-color:#3b4555;color-scheme:dark}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff;color:#151827;border-color:#cfd5df;color-scheme:light}

/* Cards must never disappear behind neighbours */
.dashboard-grid,.kpi-grid,.metric-grid,.card-grid,.cms-grid,.feature-grid,.membership-plan-grid,.membership-plan-choice-grid,.finance-currency-grid,.report-summary-grid,.finance-report-currency-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(14px,2vw,24px);align-items:stretch;
}
.dashboard-grid>*,.kpi-grid>*,.metric-grid>*,.card-grid>*,.cms-grid>*,.feature-grid>*,.membership-plan-grid>*,.membership-plan-choice-grid>*,.finance-currency-grid>*{position:relative;z-index:auto;overflow:visible}
.panel,.kpi-card,.metric-card,.finance-currency-card{border:1px solid var(--club-border);border-radius:18px}
.panel{padding:clamp(16px,2.4vw,28px)}
.kpi-card,.metric-card{padding:18px;display:flex;flex-direction:column;gap:8px}
.kpi-card strong,.metric-card strong{overflow-wrap:anywhere}
.page-header,.member-page-head,.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.page-actions .button{white-space:normal;text-align:center}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:24px;align-items:start}
.detail-aside{min-width:0}.sticky-card{top:92px}
@media(max-width:980px){.detail-layout{grid-template-columns:1fr}.sticky-card{position:static!important}.admin-content,.member-content{padding-inline:16px}}
@media(max-width:640px){.page-header,.member-page-head,.panel-header{display:block}.page-actions{margin-top:14px}.page-actions .button{flex:1 1 140px}.panel{padding:15px;border-radius:15px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card{padding:14px}.kpi-card strong{font-size:clamp(1.05rem,6vw,1.5rem)}}
@media(max-width:390px){.kpi-grid{grid-template-columns:1fr}.button{max-width:100%}}

/* Tables remain visible and scroll instead of clipping cards */
.table-wrap,.finance-table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;border-radius:14px}
.table-wrap table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.table-wrap:focus-visible{outline:3px solid color-mix(in srgb,var(--club-success) 45%,transparent);outline-offset:3px}
td,th{vertical-align:top;overflow-wrap:anywhere}td small,th small,.block-muted,.block-danger{display:block;margin-top:4px}
.block-danger{color:var(--club-danger)}
.form-grid,.filter-four,.finance-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px;align-items:end}
input,select,textarea{width:100%;max-width:100%}
input[type="date"],input[type="time"],input[type="datetime-local"]{min-width:0}

/* Finance integrity centre */
.finance-integrity-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border:1px solid var(--club-border);border-radius:18px;margin-bottom:20px;background:var(--club-surface)}
.finance-integrity-banner.is-healthy{border-color:color-mix(in srgb,var(--club-success) 45%,var(--club-border));background:color-mix(in srgb,var(--club-success) 8%,var(--club-surface))}
.finance-integrity-banner.has-findings{border-color:color-mix(in srgb,var(--club-warning) 45%,var(--club-border));background:color-mix(in srgb,var(--club-warning) 8%,var(--club-surface))}
.finance-integrity-banner strong,.finance-integrity-banner span{display:block}.finance-integrity-counts{display:flex;gap:8px;flex-wrap:wrap}
.finance-currency-card{padding:20px;background:var(--club-surface);color:var(--club-text);box-shadow:var(--club-shadow)}
.finance-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.finance-card-heading>span{font-weight:800;letter-spacing:.08em}.finance-card-total{padding:18px 0;border-bottom:1px solid var(--club-border)}.finance-card-total span{display:block;color:var(--club-muted);font-size:.88rem}.finance-card-total strong{font-size:clamp(1.35rem,3vw,2rem)}
.finance-currency-card dl{margin:14px 0 0;display:grid;gap:9px}.finance-currency-card dl div{display:flex;justify-content:space-between;gap:12px}.finance-currency-card dt{color:var(--club-muted)}.finance-currency-card dd{margin:0;text-align:right;font-weight:650}
.finance-state,.source-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--club-surface-2);border:1px solid var(--club-border)}
.finance-state-balanced{color:var(--club-success)}.finance-state-mismatch{color:var(--club-danger)}
.finance-finding-list{display:grid;gap:10px}.finance-finding{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--club-border);border-radius:14px;background:var(--club-surface-2)}
.finance-finding p{margin:.25rem 0 0}.finance-finding-severity{font-size:.72rem;font-weight:800;letter-spacing:.06em}.severity-critical,.severity-high{border-left:4px solid var(--club-danger)}.severity-warning{border-left:4px solid var(--club-warning)}.severity-info{border-left:4px solid var(--club-success)}
.finance-report-currency-grid{margin:0 0 20px}.finance-report-currency small{color:var(--club-muted)}
@media(max-width:650px){.finance-finding{grid-template-columns:1fr}.finance-integrity-counts{width:100%}.finance-currency-card dl div{display:block}.finance-currency-card dd{text-align:left;margin-top:2px}}

/* Public front page light-theme hardening */
.public-home-page .hero-slider,.public-home-page .home-hero,.public-home-page .homepage-slider{isolation:isolate}
.public-home-page section{position:relative;z-index:0}
.public-home-page .public-card,.public-home-page .event-card,.public-home-page .membership-plan-card{overflow:hidden}
.public-home-page .public-card img,.public-home-page .event-card img,.public-home-page .membership-plan-card img{width:100%;object-fit:cover}
html[data-theme="light"] .public-home-page [class*="dark"],html[data-theme="light"] .public-home-page [style*="background: #1"]{color:inherit}

/* Accessibility and print */
:focus-visible{outline:3px solid color-mix(in srgb,var(--club-success) 55%,transparent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
@media print{.sidebar,.admin-topbar,.site-header,.site-footer,.page-actions,.scroll-to-top{display:none!important}.admin-content,.member-content,main{padding:0!important;margin:0!important}.panel,.card{box-shadow:none!important;break-inside:avoid}.table-wrap{overflow:visible}.table-wrap table{min-width:0}}
.admin-content .panel,.member-content .panel,.auth-main .auth-card{overflow:visible!important}
[data-content-overflow]{overflow:visible!important;z-index:2}
