/* Morya Indian Club v12.8 — Chat, Mobile Manager and Admin UI hardening */
:root{
  --v128-radius:18px;
  --v128-gap:clamp(14px,2vw,24px);
  --v128-panel:color-mix(in srgb,var(--surface,#fff) 94%,transparent);
  --v128-border:color-mix(in srgb,var(--border,#d8dee8) 82%,transparent);
  --v128-shadow:0 14px 38px rgba(17,24,39,.08);
}
html[data-theme="dark"]{--v128-shadow:0 14px 38px rgba(0,0,0,.25)}
.admin-content,.member-content,main{min-width:0}
.admin-content>*{max-width:100%}
.section-card,.panel,.card,.dashboard-card,.module-card,.settings-card,.table-card,.cms-card,.ticket-template-card,.mobile-card{overflow:visible;min-width:0}
.card-grid,.dashboard-grid,.module-grid,.settings-grid,.cms-grid,.stat-grid,.metric-grid,.mobile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--v128-gap);align-items:stretch}
.admin-content .section-card,.admin-content .panel{border-radius:var(--v128-radius);box-shadow:var(--v128-shadow);border-color:var(--v128-border)}
.admin-content table{width:100%;min-width:700px}
.admin-content .table-wrap,.admin-content .table-responsive,.admin-content [data-table-scroll]{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border-radius:14px;-webkit-overflow-scrolling:touch}
.admin-content .table-wrap:focus,.admin-content .table-responsive:focus{outline:3px solid color-mix(in srgb,var(--primary,#7d3595) 38%,transparent);outline-offset:2px}
.module-hero,.page-header,.section-card-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.module-hero>div,.page-header>div,.section-card-header>div{min-width:0;flex:1 1 320px}
.module-hero .button,.page-header .button,.section-card-header .button{flex:0 0 auto}
.card-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.card-form-grid .full{grid-column:1/-1}
.card-form-grid input,.card-form-grid select,.card-form-grid textarea,.filter-bar input,.filter-bar select{min-width:0;width:100%}
.image-picker-preview{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:16px;border:1px dashed var(--v128-border);border-radius:16px;background:color-mix(in srgb,var(--surface-2,#f5f7fb) 86%,transparent)}
.image-picker-preview img{width:clamp(92px,18vw,180px);height:92px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--v128-border)}
.admin-sidebar{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;z-index:50}
.admin-sidebar .admin-nav{padding-bottom:36px}
.admin-sidebar .admin-nav>a{min-height:42px;line-height:1.3;align-items:center}
.admin-sidebar .nav-label{position:relative;margin-top:18px}
.admin-sidebar .nav-label:first-child{margin-top:0}
.admin-sidebar a.active{isolation:isolate}
.admin-main{min-width:0}
.admin-topbar{gap:14px;flex-wrap:wrap}
.admin-universal-search{min-width:min(100%,240px);flex:1 1 280px}
.topbar-actions{flex-wrap:wrap;justify-content:flex-end}
.admin-dashboard-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:32px;padding:18px 20px;border:1px solid var(--v128-border);border-radius:16px;background:var(--v128-panel)}
.admin-dashboard-footer-logo{display:flex;align-items:center;gap:14px;min-width:0}
.admin-dashboard-footer-logo img{width:var(--dashboard-footer-logo-width,120px);height:var(--dashboard-footer-logo-height,42px);max-width:40vw;object-fit:contain;flex:0 0 auto}
.admin-dashboard-footer-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-dashboard-footer .admin-dashboard-footer-right{margin-inline-start:auto;text-align:right}
/* Chat */
.chat-admin-layout,.chat-member-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:var(--v128-gap)}
.chat-list{overflow:hidden}
.chat-list-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--v128-border)}
.chat-list-item:hover{background:color-mix(in srgb,var(--primary,#7d3595) 7%,transparent)}
.chat-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:color-mix(in srgb,var(--primary,#7d3595) 16%,transparent)}
.chat-message-media{display:block;max-width:min(100%,460px);max-height:420px;object-fit:contain;border-radius:14px;margin-top:8px;background:#0b0d12}
.chat-status-ticks{letter-spacing:-3px;font-weight:700}.chat-status-ticks.read{color:#2587ff}
.chat-presence-dot{width:10px;height:10px;border-radius:50%;background:#9aa3b2;display:inline-block}.chat-presence-dot.online{background:#19aa66}
/* Mobile manager / CMS / settings consistency */
body:has(a[href^="/admin/mobile"].active) .admin-content,
body:has(a[href="/admin/cms/pages"].active) .admin-content,
body:has(a[href="/admin/cms/sliders"].active) .admin-content,
body:has(a[href="/admin/branding"].active) .admin-content,
body:has(a[href="/admin/ticket-templates"].active) .admin-content,
body:has(a[href="/admin/settings"].active) .admin-content,
body:has(a[href="/admin/check-in"].active) .admin-content{container-type:inline-size}
.mobile-manager-shell .section-card,.cms-manager-shell .section-card{height:100%}
/* Public website slider and light mode */
.website-slider{position:relative;isolation:isolate;overflow:hidden;background:#17152f;min-height:var(--slider-desktop-height,520px)}
.website-slider-track{position:relative;min-height:inherit;height:var(--slider-desktop-height,520px)}
.website-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease;z-index:0}
.website-slide.active,.website-slider:not([data-slider-ready="1"]) .website-slide:first-child{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.website-slide-media,.website-slide-media picture,.website-slide-media img,.website-slide-media video,.website-slide-media iframe{position:absolute;inset:0;width:100%;height:100%}
.website-slide-media img,.website-slide-media video{object-fit:cover}
.website-slide-media iframe{border:0;pointer-events:none}
.website-slide .slide-content{position:relative;z-index:3;height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:center}
.website-slide .slide-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,color-mix(in srgb,var(--overlay-color,#111827) calc(var(--overlay-opacity,.48)*100%),transparent),transparent 78%)}
html[data-theme="light"] body.public-body{background:#fff;color:#182033}
html[data-theme="light"] .site-header{background:color-mix(in srgb,#fff 94%,transparent);border-color:#e4e8ef}
html[data-theme="light"] .public-nav a{color:#27324a}
html[data-theme="light"] .section:not(.section-bg-dark),html[data-theme="light"] .cms-event-card,html[data-theme="light"] .plan-card,html[data-theme="light"] .testimonial-card,html[data-theme="light"] .newsletter-card{color:#182033}
html[data-theme="light"] .site-footer{color:#f7f7fb}
html[data-theme="light"] .public-empty-panel{background:#f6f8fc;border-color:#dfe5ef;color:#27324a}
/* Dialog/card clipping repair */
dialog,.modal,.drawer,.popover,[role="dialog"]{max-width:min(94vw,820px);max-height:90vh;overflow:auto}
.dropdown-menu,.admin-universal-search-results,.public-submenu{z-index:1000}
/* Check-in */
.checkin-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:var(--v128-gap)}
.checkin-result{overflow-wrap:anywhere}
@media(max-width:980px){
  .chat-admin-layout,.chat-member-layout,.checkin-layout{grid-template-columns:1fr}
  .admin-dashboard-footer .admin-dashboard-footer-right{margin-inline-start:0;text-align:left}
}
@media(max-width:767px){
  .website-slider,.website-slider-track{min-height:var(--slider-mobile-height,420px);height:var(--slider-mobile-height,420px)}
  .website-slide .slide-content{padding-inline:22px}
  .admin-content{padding-inline:14px}
  .admin-topbar{position:sticky;top:0}
  .topbar-actions{width:100%;justify-content:flex-start}
  .admin-universal-search{order:3;width:100%;flex-basis:100%}
  .module-hero,.page-header,.section-card-header{align-items:stretch}
  .module-hero .button,.page-header .button,.section-card-header .button{width:100%}
  .admin-content table{min-width:620px}
}
@media(max-width:420px){
  .admin-content{padding-inline:10px}.section-card,.panel{border-radius:14px}.card-form-grid{gap:14px}
  .admin-dashboard-footer{padding:14px}.admin-dashboard-footer-logo img{max-width:130px}
}
@media(prefers-reduced-motion:reduce){.website-slide{transition:none!important}}
@media print{.admin-sidebar,.admin-topbar,.slider-arrow,.slider-dots,.slider-progress{display:none!important}.admin-main{margin:0!important}.admin-content{padding:0!important}.section-card,.panel{box-shadow:none!important}}
.settings-grid-v128,.chat-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--v128-gap);align-items:start}
.settings-grid-v128>.sticky-form-actions,.chat-settings-grid>.sticky-form-actions{grid-column:1/-1}
.settings-toggle-list{display:grid;gap:12px}.setting-toggle{display:flex!important;gap:16px;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--v128-border);border-radius:14px;background:color-mix(in srgb,var(--surface-2,#f5f7fb) 78%,transparent)}.setting-toggle>span{display:grid;gap:3px;min-width:0}.setting-toggle input[type="checkbox"]{flex:0 0 auto}
.chat-composer-stack{display:grid;gap:12px}.chat-media-composer{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,1fr) auto;gap:10px;align-items:end;padding-top:12px;border-top:1px solid var(--v128-border)}.chat-typing-indicator{min-height:24px;padding:4px 10px;color:var(--muted,#667085);font-size:.9rem}
@media(max-width:900px){.settings-grid-v128,.chat-settings-grid{grid-template-columns:1fr}.chat-media-composer{grid-template-columns:1fr}}
