:root{
  --bg:#f5faf7;
  --surface:#ffffff;
  --surface-soft:#eef8f2;
  --surface-blue:#ecf7fb;
  --text:#17312b;
  --muted:#657a73;
  --line:#d9e8e0;
  --primary:#0f7b55;
  --primary-dark:#0a5f43;
  --accent:#0b4f6c;
  --warning:#9b5b00;
  --danger:#bb2d3b;
  --success:#13795b;
  --shadow:0 18px 45px rgba(15,70,54,.10);
  --radius:22px;
  --radius-sm:14px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(15,123,85,.11), transparent 34rem),
    radial-gradient(circle at 85% 12%, rgba(11,79,108,.09), transparent 28rem),
    var(--bg);
  line-height:1.5;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.58}
a{color:inherit}
.skip-link{
  position:absolute;left:1rem;top:-4rem;z-index:999;
  background:var(--primary);color:#fff;padding:.7rem 1rem;border-radius:12px;
}
.skip-link:focus{top:1rem}
.hidden{display:none!important}
.topbar{
  position:sticky;top:0;z-index:50;
  display:grid;
  grid-template-columns:minmax(245px,auto) minmax(0,1fr) auto;
  align-items:center;
  gap:.65rem 1rem;
  padding:.72rem clamp(.85rem,2.4vw,1.65rem);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(217,232,224,.78);
  overflow:visible;
}
.brand{display:flex;align-items:center;gap:.75rem;min-width:0}
.brand-logo{width:48px;height:48px;border-radius:16px;box-shadow:0 12px 24px rgba(15,123,85,.12)}
.brand strong{display:block;font-size:1.03rem;letter-spacing:-.01em}
.brand span{display:block;font-size:.78rem;color:var(--muted);margin-top:.05rem}
.desktop-nav{
  display:flex;
  flex-wrap:nowrap;
  gap:.28rem;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  overflow:visible;
  scrollbar-width:none;
  padding:.1rem 0;
}
.desktop-nav::-webkit-scrollbar{display:none}
.nav-btn{
  border:0;background:transparent;color:var(--muted);
  padding:.48rem .56rem;border-radius:999px;white-space:nowrap;
  font-size:.91rem;line-height:1.05;
  transition:.18s ease;
}
.nav-btn:hover,.nav-btn.active{background:var(--surface-soft);color:var(--primary-dark)}
.more-menu{position:relative;display:inline-flex}
.more-menu-panel{
  position:absolute;right:0;top:calc(100% + .45rem);z-index:80;
  display:none;grid-template-columns:1fr;gap:.18rem;min-width:225px;max-height:min(70vh,520px);overflow:auto;
  background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:.45rem;
}
.more-menu.open .more-menu-panel{display:grid}
.more-menu-panel .nav-btn{width:100%;text-align:left;border-radius:12px;padding:.62rem .78rem}
.more-toggle{font-weight:800;color:var(--primary-dark)}
.nav-btn.locked{opacity:.5}
.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;position:relative;min-width:max-content}
.connection-pill{
  font-size:.78rem;font-weight:700;color:var(--accent);background:var(--surface-blue);
  padding:.42rem .7rem;border-radius:999px;border:1px solid rgba(11,79,108,.12);white-space:nowrap;
}
.icon-button,.login-button,.primary,.secondary,.ghost,.danger,.text-button{
  border:0;border-radius:999px;transition:.18s ease;
}
.icon-button{width:42px;height:42px;background:var(--surface-soft);color:var(--primary-dark);font-size:1.25rem}
.mobile-menu-button{display:none}
.login-button,.primary{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;padding:.7rem 1rem;font-weight:750;box-shadow:0 12px 25px rgba(15,123,85,.18);
}
.primary:hover,.login-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,123,85,.22)}
.secondary{background:var(--surface-soft);color:var(--primary-dark);padding:.65rem .95rem;font-weight:700}
.ghost{background:#fff;color:var(--text);border:1px solid var(--line);padding:.62rem .88rem;font-weight:650}
.danger{background:#fff0f1;color:var(--danger);padding:.6rem .88rem;font-weight:700;border:1px solid #ffd5da}
.text-button{background:transparent;color:var(--primary);font-weight:760;padding:.35rem .15rem;text-decoration:none}
.full{width:100%;justify-content:center}
.login-dropdown{
  position:absolute;right:0;top:calc(100% + .7rem);width:330px;max-width:calc(100vw - 2rem);
  background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);
  padding:1rem;z-index:100;
  max-height:calc(100dvh - 6rem);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.login-dropdown::-webkit-scrollbar{width:8px}
.login-dropdown::-webkit-scrollbar-thumb{background:rgba(15,123,85,.26);border-radius:999px}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-soft);padding:.25rem;border-radius:999px;margin-bottom:.8rem}
.seg{border:0;background:transparent;padding:.55rem .7rem;border-radius:999px;color:var(--muted);font-weight:750}
.seg.active{background:#fff;color:var(--primary-dark);box-shadow:0 8px 20px rgba(13,94,67,.10)}
.stacked-form{display:grid;gap:.65rem}
.form-title{font-weight:800;color:var(--accent);margin-top:.15rem}
label{display:grid;gap:.32rem;font-size:.84rem;color:var(--muted);font-weight:690}
input,select,textarea{
  width:100%;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:14px;
  padding:.72rem .82rem;outline:none;transition:.15s ease;
}
textarea{min-height:105px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:rgba(15,123,85,.55);box-shadow:0 0 0 4px rgba(15,123,85,.10)}
.setup-box{border:1px dashed rgba(15,123,85,.38);background:var(--surface-soft);padding:.8rem;border-radius:18px;margin-top:.65rem}
.setup-box p{margin:.05rem 0;color:var(--muted);font-size:.86rem}
.inline-message{margin-top:.7rem;font-size:.9rem;border-radius:14px;padding:.65rem .75rem;background:var(--surface-soft);color:var(--primary-dark);display:none}
.inline-message.show{display:block}
.inline-message.error{background:#fff0f1;color:var(--danger);border:1px solid #ffd6da}
.inline-message.warn{background:#fff8e8;color:var(--warning);border:1px solid #ffe6ae}
.inline-message.success{background:#eaf8f2;color:var(--success);border:1px solid #c8eadc}
.profile-chip{display:flex;align-items:center;gap:.55rem;background:var(--surface-soft);border-radius:999px;padding:.35rem .5rem .35rem .75rem}
.profile-chip span{font-weight:800;color:var(--primary-dark);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-drawer{
  position:fixed;inset:0 0 0 auto;width:min(360px,92vw);z-index:90;
  background:#fff;box-shadow:-20px 0 45px rgba(13,49,42,.16);padding:1rem;
}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.mobile-drawer nav{display:grid;gap:.4rem}
.mobile-drawer .nav-btn{width:100%;text-align:left;border-radius:14px;padding:.8rem}
.app-shell{width:min(var(--max),calc(100vw - 2rem));margin:1.4rem auto 4rem}
.page{display:none;animation:fadeUp .24s ease both}
.page.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.hero{
  position:relative;overflow:hidden;border-radius:32px;min-height:440px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(217,232,224,.75);
}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.96}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,58,45,.84),rgba(5,58,45,.42) 46%,rgba(255,255,255,.05));}
.hero-content{position:relative;padding:clamp(2rem,5vw,4.2rem);color:#fff;max-width:720px;min-height:440px;display:flex;flex-direction:column;justify-content:center}
.hero-kicker{display:inline-flex;align-items:center;gap:.45rem;width:max-content;padding:.42rem .7rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:.84rem;font-weight:780;margin-bottom:1rem}
.hero h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:.96;margin:.2rem 0 1rem;letter-spacing:-.05em}
.hero p{font-size:1.08rem;max-width:590px;color:rgba(255,255,255,.86);margin:0 0 1.35rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero .secondary{background:rgba(255,255,255,.17);color:#fff;border:1px solid rgba(255,255,255,.28)}
.dashboard-staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.metric-card,.card{
  background:rgba(255,255,255,.92);border:1px solid rgba(217,232,224,.78);border-radius:var(--radius);box-shadow:var(--shadow);
}
.metric-card{padding:1rem}
.metric-card span{color:var(--muted);font-size:.86rem;font-weight:700}
.metric-card strong{display:block;font-size:2rem;line-height:1.2;margin-top:.3rem;color:var(--primary-dark)}
.panel-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:1rem;align-items:start}
.panel-grid.three{grid-template-columns:repeat(3,1fr)}
.card{padding:1rem}
.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;margin-bottom:.9rem}
.card-header h2,.card-header h3{margin:0;line-height:1.15;letter-spacing:-.02em}
.card-header p{margin:.3rem 0 0;color:var(--muted);font-size:.92rem}
.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.page-title h1{margin:0;font-size:clamp(1.75rem,3vw,2.6rem);letter-spacing:-.04em}
.page-title p{margin:.35rem 0 0;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.form-grid .full-row{grid-column:1/-1}
.form-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.85rem;flex-wrap:wrap}
.list{display:grid;gap:.65rem}
.list-item{
  display:grid;gap:.4rem;padding:.85rem;border:1px solid var(--line);border-radius:17px;background:#fff;
}
.list-item.compact{grid-template-columns:1fr auto;align-items:center}
.item-title{font-weight:850;color:var(--text)}
.item-meta{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.86rem}
.badge{display:inline-flex;align-items:center;width:max-content;padding:.25rem .48rem;border-radius:999px;background:var(--surface-soft);color:var(--primary-dark);font-size:.78rem;font-weight:800}
.badge.blue{background:var(--surface-blue);color:var(--accent)}
.badge.warn{background:#fff8e8;color:var(--warning)}
.badge.danger{background:#fff0f1;color:var(--danger)}
.badge.gray{background:#eef1f0;color:#596a65}
.empty-state{
  border:1px dashed rgba(15,123,85,.28);background:rgba(255,255,255,.68);border-radius:20px;padding:1.3rem;text-align:center;color:var(--muted)
}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}

.action-select{
  min-width:150px;
  padding:.72rem .9rem;
  border-radius:999px;
  font-weight:800;
  color:#12352f;
  background:#fff;
  border:1px solid var(--line);
  cursor:pointer;
}
.action-select:focus{border-color:rgba(15,123,85,.55);box-shadow:0 0 0 4px rgba(15,123,85,.10);outline:none}
.action-select:disabled{opacity:.65;cursor:not-allowed}
table{width:100%;border-collapse:collapse;min-width:720px}
th,td{text-align:left;padding:.78rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92rem}
th{position:sticky;top:0;background:var(--surface-soft);color:var(--primary-dark);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
tr:last-child td{border-bottom:0}
/* Security permission boxes - responsive and no text overflow */

.permissions-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-bottom:.5rem}
.permissions-tools{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.small-btn{padding:.55rem .78rem;font-size:.82rem;border-radius:999px;min-height:38px}
@media(max-width:640px){.permissions-heading{align-items:stretch;flex-direction:column}.permissions-tools{justify-content:flex-start}.permissions-tools .small-btn{flex:1}}

.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.55rem;margin-top:.45rem}
.perm-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.62rem .7rem;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}
.perm-row span{min-width:0;overflow-wrap:anywhere;line-height:1.25;font-weight:700;color:var(--primary-dark)}
.perm-row label{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;color:var(--text);font-weight:800;font-size:.8rem;white-space:nowrap;min-width:max-content}
.perm-row input{width:16px;height:16px;flex:0 0 auto}

@media (max-width: 900px){
  .permissions-grid{grid-template-columns:1fr}
  .perm-row{grid-template-columns:minmax(0,1fr) auto}
}
@media (max-width: 430px){
  .perm-row{padding:.58rem .62rem}
  .perm-row label{font-size:.76rem}
}

.status-line{font-size:.88rem;color:var(--muted)}
.banner-slot{
  min-height:120px;border-radius:20px;border:1px dashed rgba(15,123,85,.30);background:linear-gradient(135deg,#fff,#f0faf5);
  display:grid;place-items:center;color:var(--muted);padding:1rem;text-align:center;
}
.site-footer{width:min(var(--max),calc(100vw - 2rem));margin:0 auto 1.4rem;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.86rem}
.loading-dot::after{content:"";display:inline-block;width:1em;text-align:left;animation:dots 1s steps(4,end) infinite}
@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,100%{content:"..."}}
.spinner{display:inline-block;width:1em;height:1em;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.35rem;vertical-align:-.15em}
.secondary .spinner,.ghost .spinner{border-color:rgba(15,123,85,.25);border-top-color:var(--primary)}
@keyframes spin{to{transform:rotate(360deg)}}
.print-area{background:#fff;padding:1.2rem;border:1px solid var(--line);border-radius:18px}
@media print{
  .topbar,.site-footer,.page-title,.form-actions,.actions,.desktop-nav,.mobile-drawer{display:none!important}
  body{background:#fff}
  .app-shell{width:100%;margin:0}.card{box-shadow:none;border:0}.print-area{border:0}
}
@media (max-width:1280px){
  .topbar{grid-template-columns:minmax(220px,1fr) auto}
  .brand{grid-column:1}
  .top-actions{grid-column:2}
  .desktop-nav{grid-column:1/-1;border-top:1px solid rgba(217,232,224,.65);padding-top:.45rem}
}
@media (max-width:980px){
  .topbar{grid-template-columns:1fr auto}
  .desktop-nav{display:none}.mobile-menu-button{display:inline-grid;place-items:center}.connection-pill{display:none}
  .panel-grid,.panel-grid.three,.dashboard-staff-grid{grid-template-columns:1fr 1fr}
  .brand span{display:none}
}
@media (max-width:680px){
  .topbar{padding:.65rem .8rem}.brand strong{font-size:.93rem}.brand-logo{width:42px;height:42px}.login-button{padding:.62rem .78rem}.profile-chip span{max-width:92px}
  .app-shell{width:calc(100vw - 1rem);margin-top:.7rem}
  .hero{border-radius:24px;min-height:500px}.hero-content{min-height:500px;padding:1.4rem}.hero h1{font-size:2.6rem}.hero p{font-size:1rem}
  .dashboard-staff-grid,.panel-grid,.panel-grid.three,.form-grid,.permissions-grid{grid-template-columns:1fr}
  .page-title{display:grid}.site-footer{display:grid;text-align:center;justify-content:center}
  .card{padding:.85rem}
  .login-dropdown{
    position:fixed;
    top:4.7rem;
    left:.75rem;
    right:.75rem;
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 5.2rem);
    padding:1rem 1rem calc(1.35rem + env(safe-area-inset-bottom));
  }
}
.full-width{grid-column:1/-1}

/* Member list clarity: separate login status from verification status */
.member-row{gap:.55rem}
.member-row .item-meta{align-items:center}
.member-actions .ghost,.member-actions .danger{padding:.64rem .85rem}
@media(max-width:700px){
  .member-actions{gap:.4rem}
  .member-actions .ghost,.member-actions .danger{width:100%;justify-content:center}
}

.login-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 2px 0 4px;
}

.form-note {
  margin: -2px 0 4px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

/* Improved donations screen */
.donation-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:1rem;align-items:start}
.donation-side{display:grid;gap:1rem}
.enhanced-form{gap:.82rem}
.donor-note{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;padding:.8rem;display:grid;gap:.18rem;align-content:center}
.donor-note strong{color:var(--primary-dark)}
.donor-note span{color:var(--muted);font-size:.88rem}
.compact-summary{padding-bottom:.85rem}
.summary-stack{display:grid;gap:.55rem}
.summary-main{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f0faf5);border-radius:16px;padding:.8rem}
.summary-main span,.summary-row span{color:var(--muted);font-weight:750;font-size:.86rem}
.summary-main strong{font-size:1.7rem;color:var(--primary-dark);line-height:1}
.summary-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:.62rem .72rem;background:#fff}
.summary-row strong{color:var(--accent);font-size:.92rem}
.donation-record{gap:.62rem}
.record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}
.donation-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;color:var(--muted);font-size:.86rem}
.donation-detail-grid b{color:var(--text)}
.record-actions{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;margin-top:.1rem}
.empty-state.small{padding:.9rem;font-size:.88rem}
@media(max-width:980px){.donation-layout{grid-template-columns:1fr}.donation-side{grid-template-columns:1fr}}
@media(max-width:640px){.record-head,.summary-row,.summary-main{display:grid}.donation-detail-grid{grid-template-columns:1fr}.record-actions .ghost{width:100%;justify-content:center}}

/* Donation filter tools */
.donation-filter-panel{border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f5fbf8);border-radius:18px;padding:.75rem;margin:.2rem 0 .85rem;display:grid;gap:.7rem}
.filter-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.filter-topline strong{display:block;color:var(--primary-dark);font-size:.98rem}
.filter-topline span{display:block;color:var(--muted);font-size:.82rem;margin-top:.12rem}
.filter-mini-actions{display:flex;gap:.42rem;flex-wrap:wrap;justify-content:flex-end}
.ghost.slim{padding:.46rem .68rem;font-size:.82rem;border-radius:999px}
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:.55rem}
.filter-grid label{font-size:.77rem;color:var(--muted);font-weight:800}
.filter-grid input,.filter-grid select{margin-top:.25rem;min-height:40px;padding:.58rem .7rem;border-radius:13px;font-size:.86rem}
.donation-filter-grid label:first-child{grid-column:span 2}
@media(max-width:980px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.donation-filter-grid label:first-child{grid-column:span 2}}
@media(max-width:560px){.filter-grid{grid-template-columns:1fr}.donation-filter-grid label:first-child{grid-column:auto}.filter-mini-actions,.filter-mini-actions .ghost{width:100%}.filter-mini-actions .ghost{justify-content:center}}

/* Member form upgrade */
.login-links{display:flex;gap:.45rem;justify-content:space-between;align-items:center;margin:.55rem 0 .2rem;flex-wrap:wrap}
.inline-message.info{background:#eef8ff;color:#0a5876;border:1px solid #cbeafa}
.members-layout{grid-template-columns:1.08fr .92fr}
.member-form{display:grid;grid-template-columns:1fr;gap:.85rem}
.form-section{border:1px solid var(--line);background:linear-gradient(180deg,#fff,rgba(246,251,248,.72));border-radius:20px;padding:.85rem}
.section-title{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start;margin-bottom:.75rem}
.section-title strong{color:var(--primary-dark);font-size:.98rem}
.section-title span{color:var(--muted);font-size:.82rem;text-align:right}
input[readonly]{background:var(--surface-soft);font-weight:850;color:var(--primary-dark)}
.inline-check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;color:var(--text);font-weight:750;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.65rem .75rem}
.inline-check input{width:auto;accent-color:var(--primary)}
.password-tools{display:flex;align-items:end;gap:.45rem;padding-top:1.08rem}
button.small{padding:.62rem .8rem;font-size:.84rem}
.field-hint{min-height:1.2rem;font-size:.84rem;color:var(--muted)}
.field-hint.success{color:var(--success);font-weight:800}
.field-hint.danger{color:var(--danger);font-weight:800}
.member-filter-panel{border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);padding:.75rem;margin-bottom:.8rem}
.compact-actions{margin-top:.1rem;justify-content:flex-start}
.list-count{font-size:.84rem;color:var(--muted);font-weight:750;margin:.2rem 0 .55rem}
@media(max-width:1100px){.members-layout{grid-template-columns:1fr}.section-title{display:grid}.section-title span{text-align:left}.password-tools{padding-top:0}}

/* Branding and rotating dashboard images */
.hero-rotation-ui{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.4rem}
.hero-rotation-badge{display:inline-flex;align-items:center;padding:.36rem .62rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:.78rem;font-weight:800;color:#fff}
.hero-dots{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.hero-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.35);padding:0;box-shadow:0 0 0 1px rgba(255,255,255,.18) inset}
.hero-dot.active{background:#fff}
.settings-grid{align-items:start}
.branding-manager{display:grid;gap:1rem}
.branding-block{border:1px solid var(--line);border-radius:18px;padding:.9rem;background:linear-gradient(180deg,#fff,rgba(245,250,247,.88))}
.branding-head{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.7rem}
.branding-head strong{font-size:.98rem;color:var(--primary-dark)}
.branding-head span,.thumb-note{font-size:.84rem;color:var(--muted)}
.logo-preview-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem}
.settings-logo-preview{width:78px;height:78px;border-radius:20px;object-fit:cover;border:1px solid var(--line);box-shadow:0 10px 24px rgba(15,70,54,.10);background:#fff}
.file-label{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.file-label input{display:none}
.image-thumb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.75rem}
.image-thumb-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:.55rem;display:grid;gap:.45rem}
.image-thumb-card.default{background:linear-gradient(180deg,#fff,#f8fcfa)}
.image-thumb-card img{width:100%;height:128px;object-fit:cover;border-radius:14px;border:1px solid rgba(217,232,224,.75);background:#eef8f2}
.thumb-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.thumb-bar span{font-size:.84rem;font-weight:800;color:var(--primary-dark)}
.thumb-remove{padding:.25rem 0;font-size:.82rem}
@media(max-width:760px){.logo-preview-wrap{grid-template-columns:1fr}.image-thumb-grid{grid-template-columns:1fr}}

/* Sponsors / Ads upgrade */
.sponsor-preview-card{overflow:hidden}
.sponsor-preview-stage{position:relative;border-radius:22px;overflow:hidden;min-height:220px;background:linear-gradient(135deg,#e7f7ee,#f9fcfb);border:1px solid var(--line)}
.sponsor-preview-image{display:block;width:100%;height:260px;object-fit:cover;background:#eef8f2}
.sponsor-preview-overlay{position:absolute;inset:auto 0 0 0;padding:1rem;display:flex;justify-content:space-between;align-items:end;gap:1rem;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(7,44,33,.68))}
.sponsor-preview-copy strong,.sponsor-preview-copy span{display:block;color:#fff}
.sponsor-preview-copy strong{font-size:1.1rem;line-height:1.15}
.sponsor-preview-copy span{font-size:.88rem;color:rgba(255,255,255,.86);margin-top:.22rem}
.sponsor-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.sponsors-grid{grid-template-columns:1.02fr .98fr}
.sponsor-filter-panel{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fcfa);border-radius:18px;padding:.75rem;margin-bottom:.8rem}
.sponsor-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sponsor-filter-grid label:first-child{grid-column:1/-1}
.sponsor-row{gap:.65rem}
.sponsor-row-body{display:grid;grid-template-columns:138px 1fr;gap:.8rem;align-items:start}
.sponsor-list-thumb{width:100%;height:92px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:#eef8f2}
.sponsor-thumb-empty{height:92px;border-radius:14px;border:1px dashed rgba(15,123,85,.28);display:grid;place-items:center;color:var(--muted);background:#fafdfb;font-size:.88rem}
.sponsor-image-preview-wrap{display:grid;gap:.45rem}
.sponsor-image-preview{width:100%;max-height:220px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#eef8f2}
.sponsor-badges{justify-content:flex-end}
@media(max-width:1100px){.sponsor-summary-strip,.sponsors-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sponsor-summary-strip,.sponsors-grid,.sponsor-filter-grid,.sponsor-row-body{grid-template-columns:1fr}.sponsor-preview-overlay{display:grid}.sponsor-preview-image{height:220px}}

/* Site-wide advertisement placement */
.global-ad-area{width:min(var(--max),calc(100vw - 2rem));margin:.85rem auto 0}
.footer-ad-area{width:min(var(--max),calc(100vw - 2rem));margin:0 auto 1rem}
.site-ad{position:relative;overflow:hidden;border:1px solid rgba(217,232,224,.86);background:#fff;border-radius:22px;box-shadow:0 14px 35px rgba(15,70,54,.08)}
.site-ad-top,.site-ad-footer{min-height:105px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.site-ad-top .ad-rotating-img,.site-ad-footer .ad-rotating-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.95}
.site-ad-top::after,.site-ad-footer::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,58,45,.76),rgba(5,58,45,.22),rgba(255,255,255,.04))}
.site-ad-copy{position:relative;z-index:2;padding:1rem;color:#fff;display:grid;gap:.15rem;align-self:end}
.site-ad-copy strong{font-size:1.05rem;line-height:1.1}
.site-ad-copy span{font-size:.84rem;color:rgba(255,255,255,.86)}
.sponsored-label{position:absolute;z-index:3;top:.65rem;left:.65rem;background:rgba(255,255,255,.9);color:var(--primary-dark);font-size:.72rem;font-weight:900;border-radius:999px;padding:.24rem .5rem;border:1px solid rgba(255,255,255,.55)}
.site-ad .ad-dots{position:relative;z-index:3;align-self:end;justify-self:end;padding:1rem}
.left-ad-area{position:fixed;left:.75rem;top:50%;transform:translateY(-50%);z-index:40;width:150px}
.site-ad-left{min-height:260px;border-radius:20px}
.site-ad-left .ad-rotating-img{width:100%;height:260px;object-fit:cover;display:block}
.site-ad-left::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(5,58,45,.72))}
.site-ad-left .site-ad-copy{position:absolute;left:0;right:0;bottom:0;padding:.72rem}.site-ad-left .site-ad-copy strong{font-size:.86rem}.site-ad-left .site-ad-copy span{font-size:.72rem}
.site-ad-left .ad-dots{position:absolute;right:.3rem;bottom:.15rem;padding:.35rem}.site-ad-left .hero-dot{width:7px;height:7px}
@media(max-width:1380px){.left-ad-area{display:none!important}}
@media(max-width:680px){.global-ad-area,.footer-ad-area{width:calc(100vw - 1rem);margin-top:.55rem}.site-ad-top,.site-ad-footer{min-height:92px}.site-ad-copy{padding:.8rem}.site-ad-copy strong{font-size:.92rem}}

/* Sitewide sponsor advertisements */
.site-ad{width:min(var(--max),calc(100vw - 2rem));margin:.85rem auto 0}
.site-ad-inner{position:relative;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(15,70,54,.08)}
.site-ad-img{display:block;width:100%;height:118px;object-fit:cover;background:#eef8f2}
.site-ad-label{position:absolute;left:.75rem;bottom:.65rem;padding:.32rem .55rem;border-radius:999px;background:rgba(7,44,33,.72);color:#fff;font-size:.76rem;font-weight:800;backdrop-filter:blur(8px)}
.site-footer-ad{margin-top:1.2rem;margin-bottom:.7rem}
.dashboard-sponsor-ad{margin:1rem 0 0;width:100%}
.site-left-ad{position:fixed;left:.65rem;top:118px;width:132px;z-index:35}
.site-left-ad .site-ad-inner{border-radius:18px}
.site-left-ad .site-ad-img{height:280px}
.site-left-ad .site-ad-label{right:.5rem;left:.5rem;text-align:center;font-size:.68rem;white-space:normal;line-height:1.25}
@media(max-width:1480px){.site-left-ad{display:none!important}}
@media(max-width:760px){.site-ad-img{height:92px}.site-ad{width:calc(100vw - 1rem);margin-top:.55rem}.site-ad-label{font-size:.68rem}}

/* Fix: keep left sponsor ad as a small side banner, never as a wide overlay */
.left-ad-area{
  width:150px;
  max-width:150px;
  pointer-events:auto;
}
.left-ad-area .site-ad,
.left-ad-area .site-ad-left{
  width:100% !important;
  max-width:150px !important;
  min-width:0 !important;
  margin:0 !important;
  display:block;
}
.left-ad-area .site-ad-left{
  min-height:260px;
}
.left-ad-area .site-ad-left .ad-rotating-img{
  width:100% !important;
  height:260px !important;
  object-fit:cover;
}
.left-ad-area .site-ad-copy{
  max-width:100%;
}
.left-ad-area .ad-rotating-name,
.left-ad-area .ad-rotating-meta{
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:1480px){
  .left-ad-area{display:none!important;}
}

/* Red notification badges for Events and Donations menus */
.nav-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.25rem}
.nav-label{display:inline-block}
.nav-badge{
  position:absolute;
  top:-7px;
  right:-5px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#d42134;
  color:#fff;
  border:2px solid #fff;
  box-shadow:0 8px 16px rgba(212,33,52,.25);
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  z-index:2;
}
.mobile-drawer .nav-badge{top:6px;right:8px}
.more-menu-panel .nav-badge{top:5px;right:7px}

/* Security upgrade cards */
.security-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}
.security-feature-grid .metric-card strong{font-size:1.35rem}
.security-feature-grid .metric-card small{display:block;margin-top:.25rem;color:var(--muted);font-weight:700;line-height:1.35}
@media (max-width:900px){.security-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.security-feature-grid{grid-template-columns:1fr}}

/* Settings favicon preview */
.settings-favicon-preview{width:54px;height:54px;border-radius:14px;object-fit:cover;border:1px solid var(--line);box-shadow:0 10px 22px rgba(15,70,54,.10);background:#fff;padding:4px}
.favicon-preview-wrap{grid-template-columns:auto 1fr}

/* Scholarship module improved layout */
.scholarship-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:0 0 1rem;
}
.scholarship-metric strong{
  font-size:1.55rem;
  line-height:1.2;
  color:var(--primary-dark);
  word-break:break-word;
}
.scholarship-metric small{
  display:block;
  margin-top:.25rem;
  color:var(--muted);
  font-weight:700;
  font-size:.8rem;
}
.scholarship-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);
  gap:1rem;
  align-items:start;
}
.scholarship-records-column{display:grid;gap:1rem}
.scholarship-form-card,.scholarship-records-card,.scholarship-tips-card{overflow:hidden}
.scholarship-guidance{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.75rem;
  align-items:start;
  padding:.85rem;
  border:1px solid rgba(15,123,85,.18);
  border-radius:18px;
  background:linear-gradient(135deg,#eefaf4,#ffffff);
  margin-bottom:.9rem;
}
.guidance-icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:15px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,70,54,.09);
  font-size:1.35rem;
}
.scholarship-guidance strong,.scholarship-guidance span{display:block}
.scholarship-guidance strong{color:var(--primary-dark);font-size:.98rem}
.scholarship-guidance span{color:var(--muted);font-size:.87rem;margin-top:.16rem}
.scholarship-form{display:grid;gap:.85rem}
.scholarship-section{padding:.9rem;background:linear-gradient(180deg,#fff,#f9fdfb)}
.scholarship-actions{margin-top:.2rem}
.scholarship-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.5rem;
}
.scholarship-flow span{
  text-align:center;
  border:1px solid var(--line);
  background:var(--surface-soft);
  color:var(--primary-dark);
  border-radius:999px;
  padding:.5rem .35rem;
  font-size:.78rem;
  font-weight:850;
}
.scholarship-list{display:grid;gap:.75rem}
.scholarship-record{
  gap:.72rem;
  background:linear-gradient(180deg,#fff,#fbfefd);
}
.scholarship-record-head .item-title{font-size:1rem}
.scholarship-progress-line{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.35rem;
  position:relative;
}
.scholarship-progress-line span{
  position:relative;
  text-align:center;
  padding:.38rem .25rem;
  border-radius:999px;
  background:#f1f6f3;
  color:var(--muted);
  border:1px solid #e5eee9;
  font-size:.72rem;
  font-weight:850;
}
.scholarship-progress-line span.active{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  border-color:transparent;
  box-shadow:0 8px 18px rgba(15,123,85,.14);
}
.scholarship-detail-grid{font-size:.84rem}
.scholarship-note{
  border:1px solid var(--line);
  background:#fbfefd;
  border-radius:14px;
  padding:.7rem;
  color:var(--muted);
  font-size:.88rem;
}
.scholarship-empty{
  display:grid;
  gap:.2rem;
  min-height:92px;
  align-content:center;
}
.scholarship-empty strong{color:var(--primary-dark)}
.scholarship-empty span{color:var(--muted);font-size:.9rem}
.badge.success{background:#e7f7ee;color:var(--success);border-color:#c9eadd}
@media(max-width:1100px){
  .scholarship-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scholarship-layout{grid-template-columns:1fr}
}
@media(max-width:640px){
  .scholarship-overview,.scholarship-flow,.scholarship-progress-line{grid-template-columns:1fr}
  .scholarship-guidance{grid-template-columns:1fr}
  .scholarship-metric strong{font-size:1.35rem}
}

/* Volunteers and Help Requests improved layout */
.support-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:0 0 1rem;
}
.support-metric strong{
  font-size:1.55rem;
  line-height:1.2;
  color:var(--primary-dark);
}
.support-metric small{
  display:block;
  margin-top:.25rem;
  color:var(--muted);
  font-weight:700;
  font-size:.8rem;
}
.support-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);
  gap:1rem;
  align-items:start;
}
.support-records-column{display:grid;gap:1rem}
.support-form-card,.support-records-card,.support-tips-card{overflow:hidden}
.support-guidance{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.75rem;
  align-items:start;
  padding:.85rem;
  border:1px solid rgba(15,123,85,.18);
  border-radius:18px;
  background:linear-gradient(135deg,#eefaf4,#ffffff);
  margin-bottom:.9rem;
}
.help-guidance{background:linear-gradient(135deg,#eff8ff,#ffffff)}
.support-guidance strong,.support-guidance span{display:block}
.support-guidance strong{color:var(--primary-dark);font-size:.98rem}
.support-guidance span{color:var(--muted);font-size:.87rem;margin-top:.16rem}
.support-form{display:grid;gap:.85rem}
.support-section-title{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:.72rem .8rem;
  border:1px solid rgba(15,123,85,.14);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fcfa);
  margin:.1rem 0;
}
.support-section-title span:first-child{
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  font-weight:900;
  flex:0 0 auto;
  font-size:.78rem;
}
.support-section-title b{display:block;color:var(--primary-dark);line-height:1.2}
.support-section-title small{display:block;color:var(--muted);font-weight:700;font-size:.78rem;margin-top:.1rem}
.support-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.5rem;
}
.support-flow span{
  text-align:center;
  border:1px solid var(--line);
  background:var(--surface-soft);
  color:var(--primary-dark);
  border-radius:999px;
  padding:.5rem .35rem;
  font-size:.78rem;
  font-weight:850;
}
.support-list{display:grid;gap:.75rem}
.support-record{gap:.72rem;background:linear-gradient(180deg,#fff,#fbfefd)}
.support-record-head .item-title{font-size:1rem}
.support-progress-line{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.35rem;
}
.support-progress-line span{
  text-align:center;
  padding:.38rem .25rem;
  border-radius:999px;
  background:#f1f6f3;
  color:var(--muted);
  border:1px solid #e5eee9;
  font-size:.72rem;
  font-weight:850;
}
.support-progress-line span.active{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  border-color:transparent;
  box-shadow:0 8px 18px rgba(15,123,85,.14);
}
.support-detail-grid{font-size:.84rem}
.support-note{
  border:1px solid var(--line);
  background:#fbfefd;
  border-radius:14px;
  padding:.7rem;
  color:var(--muted);
  font-size:.88rem;
}
.support-priority-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  color:var(--muted);
  font-size:.84rem;
  font-weight:700;
}
.support-empty{display:grid;gap:.2rem;min-height:92px;align-content:center}
.support-empty strong{color:var(--primary-dark)}
.support-empty span{color:var(--muted);font-size:.9rem}
.volunteer-record{border-left:4px solid rgba(15,123,85,.55)}
.help-record{border-left:4px solid rgba(9,103,132,.55)}
@media(max-width:1100px){
  .support-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .support-layout{grid-template-columns:1fr}
}
@media(max-width:640px){
  .support-overview,.support-flow,.support-progress-line{grid-template-columns:1fr}
  .support-guidance{grid-template-columns:1fr}
  .support-metric strong{font-size:1.35rem}
  .support-section-title{align-items:flex-start}
}

/* Maintenance page improvement and optional 2% donation support */
.maintenance-option{
  border:1px solid rgba(15,123,85,.18);
  background:linear-gradient(135deg,#f2fbf7,#fff);
  border-radius:18px;
  padding:.85rem;
  display:grid;
  gap:.65rem;
}
.maintenance-check{margin:0;justify-content:flex-start;background:#fff}
.maintenance-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.maintenance-preview div{
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  padding:.65rem .75rem;
}
.maintenance-preview span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}
.maintenance-preview strong{display:block;color:var(--primary-dark);font-size:1.05rem;margin-top:.18rem}
.maintenance-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.maintenance-metric small{display:block;margin-top:.25rem;color:var(--muted);font-weight:700;line-height:1.35}
.maintenance-metric strong{font-size:1.35rem;line-height:1.25}
.maintenance-layout{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)}
.maintenance-form-card,.maintenance-record-card{align-self:start}
.maintenance-guidance{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  border:1px solid rgba(15,123,85,.18);
  background:linear-gradient(135deg,#eef8f2,#fff);
  border-radius:18px;
  padding:.8rem;
  margin-bottom:.85rem;
}
.guidance-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:#fff;border:1px solid var(--line);font-size:1.25rem;flex:0 0 auto}
.maintenance-guidance strong{display:block;color:var(--primary-dark)}
.maintenance-guidance span{display:block;color:var(--muted);font-size:.88rem;line-height:1.45;margin-top:.15rem}
.maintenance-record{gap:.62rem}
.maintenance-amount-line{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:.62rem .72rem;background:#fff}
.maintenance-amount-line strong{color:var(--accent);font-size:1rem}
.maintenance-amount-line span{color:var(--muted);font-size:.84rem;font-weight:750}
@media(max-width:1120px){.maintenance-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-layout{grid-template-columns:1fr}}
@media(max-width:620px){.maintenance-overview,.maintenance-preview{grid-template-columns:1fr}.maintenance-guidance{display:grid}.maintenance-amount-line{display:grid}}

/* Improved Documents module */
.documents-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0;
}
.document-metric strong{font-size:1.5rem}
.documents-layout{grid-template-columns:1.03fr .97fr;align-items:start}
.document-form-card,.document-record-card{align-self:start;overflow:hidden}
.document-form .form-section{background:#fbfefd;border:1px solid var(--line);border-radius:18px;padding:.9rem;margin-bottom:.65rem}
.document-file-note{font-size:.86rem;color:var(--muted);background:#f5fbf8;border:1px dashed rgba(15,123,85,.22);border-radius:14px;padding:.72rem .82rem}
.document-filter-panel{border:1px solid var(--line);background:linear-gradient(180deg,#fbfefd,#f7fbf9);border-radius:18px;padding:.85rem;margin-bottom:1rem}
.document-filter-grid{grid-template-columns:1.3fr .85fr .85fr .95fr auto;align-items:end}
.document-list{display:grid;gap:.85rem}
.document-record{gap:.7rem;background:linear-gradient(180deg,#fff,#fbfefd);border-left:4px solid rgba(15,123,85,.55)}
.document-record.expiring{border-left-color:#d59625;background:linear-gradient(180deg,#fffdf8,#fbfefd)}
.document-record-head .item-title{font-size:1rem}
.document-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .9rem;font-size:.9rem;color:var(--muted)}
.document-detail-grid b{color:var(--ink)}
.document-note{background:#f7fbf9;border-radius:12px;padding:.65rem .75rem;margin-top:.15rem}
.compact-inline{padding:.55rem .65rem;margin:.1rem 0;font-size:.84rem}
@media(max-width:1050px){
  .documents-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .documents-layout{grid-template-columns:1fr}
  .document-filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .documents-overview,.document-filter-grid,.document-detail-grid{grid-template-columns:1fr}
}

/* Improved WhatsApp Bot module */
.bot-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0;
}
.bot-metric strong{font-size:1.35rem;line-height:1.25}
.bot-metric small{display:block;margin-top:.28rem;color:var(--muted);font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.bot-pill{display:inline-flex!important;width:max-content;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--line);font-size:.75rem!important}
.bot-pill.success{background:#e7f7ee;color:var(--success);border-color:#c9eadd}
.bot-pill.warn{background:#fff7e6;color:#9a6a08;border-color:#f2dfaa}
.bot-pill.neutral{background:#f1f6f3;color:var(--muted)}
.bot-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:1rem;align-items:start}
.bot-side-column{display:grid;gap:1rem}
.bot-form-card,.bot-endpoints-card,.bot-safety-card{align-self:start;overflow:hidden}
.bot-guidance{display:flex;gap:.75rem;align-items:flex-start;border:1px solid rgba(15,123,85,.18);background:linear-gradient(135deg,#eef8f2,#fff);border-radius:18px;padding:.8rem;margin-bottom:.85rem}
.bot-guidance strong{display:block;color:var(--primary-dark)}
.bot-guidance span{display:block;color:var(--muted);font-size:.88rem;line-height:1.45;margin-top:.15rem}
.bot-form{gap:.85rem}
.bot-subsection{border:1px solid var(--line);background:#fbfefd;border-radius:18px;padding:.85rem;display:grid;gap:.75rem}
.bot-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.bot-check-grid .inline-check{margin:0;background:#fff;justify-content:flex-start;border:1px solid var(--line);border-radius:14px;padding:.65rem .75rem;font-size:.88rem}
.bot-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.bot-template-grid textarea{min-height:86px;resize:vertical}
.bot-endpoint-list{display:grid;gap:.65rem}
.bot-endpoint{display:grid;gap:.3rem;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fcfa);border-radius:16px;padding:.75rem .85rem}
.bot-endpoint span{font-weight:850;color:var(--primary-dark)}
.bot-endpoint code{display:block;background:#eef6f2;border:1px solid rgba(15,123,85,.12);border-radius:12px;padding:.55rem .65rem;color:var(--accent);font-size:.82rem;white-space:normal;word-break:break-all}
.bot-checklist{display:grid;gap:.65rem}
.bot-step{position:relative;display:grid;gap:.18rem;border:1px solid var(--line);border-radius:16px;padding:.75rem .85rem .75rem 2.35rem;background:#fff}
.bot-step:before{content:"";position:absolute;left:.8rem;top:.85rem;width:.9rem;height:.9rem;border-radius:999px;border:2px solid #cfe0d8;background:#fff}
.bot-step.done:before{background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent;box-shadow:0 0 0 3px rgba(15,123,85,.10)}
.bot-step strong{color:var(--primary-dark)}
.bot-step span{color:var(--muted);font-size:.87rem;line-height:1.42}
.bot-env-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.bot-env-grid code{background:#f3f8f5;border:1px solid var(--line);border-radius:14px;padding:.65rem .7rem;color:var(--primary-dark);font-size:.8rem;white-space:normal;word-break:break-word}
@media(max-width:1120px){
  .bot-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bot-layout{grid-template-columns:1fr}
}
@media(max-width:640px){
  .bot-overview,.bot-check-grid,.bot-template-grid,.bot-env-grid{grid-template-columns:1fr}
  .bot-guidance{display:grid}
}

/* Database offline / pending sync alerts */
.connection-pill.success{background:#eaf8f2;color:var(--success);border-color:#c8eadc}
.connection-pill.warn{background:#fff8e8;color:var(--warning);border-color:#ffe6ae}
.connection-pill.error{background:#fff0f1;color:var(--danger);border-color:#ffd6da}
.database-alert-area{width:min(var(--max),calc(100vw - 2rem));margin:.85rem auto 0;border-radius:18px;border:1px solid var(--line);box-shadow:0 14px 34px rgba(15,70,54,.08);background:#fff;padding:.75rem}
.database-alert-area.warn{background:#fffaf0;border-color:#ffe6ae;color:#604000}
.database-alert-area.error{background:#fff3f4;border-color:#ffd6da;color:#6d1721}
.database-alert-area.success{background:#eefaf4;border-color:#c8eadc;color:#0a5f43}
.database-alert-inner{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.database-alert-inner strong{display:block;font-weight:900}
.database-alert-inner span{display:block;color:inherit;opacity:.82;font-size:.92rem;margin-top:.1rem}
.status-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.32rem .62rem;font-size:.78rem;font-weight:900}
.status-pill.success{background:#eaf8f2;color:var(--success)}
.status-pill.warn{background:#fff8e8;color:var(--warning)}
.status-pill.error{background:#fff0f1;color:var(--danger)}
.sync-status-box{display:grid;gap:.25rem;border-radius:18px;padding:.8rem;border:1px solid var(--line);margin-bottom:.75rem}
.sync-status-box span{color:var(--muted);font-size:.92rem}
.sync-status-box.success{background:#f3fbf7;border-color:#c8eadc}
.sync-status-box.warn{background:#fffaf0;border-color:#ffe6ae}
.sync-status-box.error{background:#fff3f4;border-color:#ffd6da}
.sync-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0}
.mini-stat{border:1px solid var(--line);border-radius:16px;background:#fff;padding:.7rem}
.mini-stat span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}
.mini-stat strong{display:block;margin-top:.2rem;color:var(--primary-dark);font-size:.95rem;line-height:1.25;word-break:break-word}
.sync-actions{margin:.6rem 0}
.sync-pending-list{display:grid;gap:.55rem;margin-top:.75rem;max-height:360px;overflow:auto;padding-right:.2rem}
@media (max-width:720px){.database-alert-inner{align-items:flex-start}.database-alert-inner .actions{width:100%}.database-alert-inner .actions button{flex:1}.sync-summary-grid{grid-template-columns:1fr}.database-alert-area{margin-top:.55rem}}

/* Improved Videos & Podcasts module */
.media-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0;
}
.media-metric strong{font-size:1.45rem;line-height:1.2}
.media-metric small{display:block;margin-top:.22rem;color:var(--muted);font-weight:750;font-size:.82rem}
.media-layout{grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);align-items:start}
.media-form-card,.media-list-card{align-self:start;overflow:hidden}
.media-guidance{
  display:flex;gap:.75rem;align-items:flex-start;
  border:1px solid rgba(15,123,85,.18);
  background:linear-gradient(135deg,#eef8f2,#fff);
  border-radius:18px;padding:.8rem;margin-bottom:.85rem;
}
.media-guidance strong{display:block;color:var(--primary-dark)}
.media-guidance span:not(.guidance-icon){display:block;color:var(--muted);font-size:.88rem;line-height:1.45;margin-top:.15rem}
.media-form .form-section{background:#fbfefd;border:1px solid var(--line);border-radius:18px;padding:.9rem;margin-bottom:.65rem}
.media-filter-panel{border:1px solid var(--line);background:linear-gradient(180deg,#fbfefd,#f7fbf9);border-radius:18px;padding:.85rem;margin-bottom:1rem}
.media-filter-grid{grid-template-columns:1.25fr .85fr .75fr .85fr;align-items:end}
.media-list{display:grid;gap:.9rem}
.media-card{
  display:grid;
  grid-template-columns:156px minmax(0,1fr);
  gap:.85rem;
  padding:.85rem;
  background:linear-gradient(180deg,#fff,#fbfefd);
  border-left:4px solid rgba(15,123,85,.45);
}
.media-card.featured{border-left-color:#0b4f6c;background:linear-gradient(180deg,#fff,#f5fbff)}
.media-cover{
  position:relative;
  min-height:106px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,#eef8f2,#e9f6fb);
  display:grid;
  place-items:center;
}
.media-cover img{width:100%;height:100%;object-fit:cover;display:block}
.media-cover span{
  position:absolute;left:.45rem;bottom:.45rem;
  max-width:calc(100% - .9rem);
  padding:.24rem .48rem;border-radius:999px;
  background:rgba(255,255,255,.92);border:1px solid rgba(217,232,224,.9);
  color:var(--accent);font-weight:900;font-size:.7rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.media-cover-empty b{font-size:2.5rem;filter:drop-shadow(0 8px 12px rgba(15,70,54,.12))}
.media-card-body{display:grid;gap:.48rem;min-width:0}
.media-record-head{align-items:flex-start;gap:.75rem}
.media-record-head .item-title{font-size:1rem;line-height:1.35}
.media-badges{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.media-description{color:var(--muted);font-size:.9rem;line-height:1.48;background:#f8fcfa;border-radius:13px;padding:.62rem .72rem}
.media-foot{display:flex;gap:.55rem;flex-wrap:wrap;color:var(--muted);font-size:.8rem;font-weight:800}
.media-foot span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.25rem .5rem}
.media-actions{justify-content:flex-start;margin-top:.1rem}
.media-actions .action-select{max-width:190px}
.media-empty{display:grid;gap:.2rem;text-align:center}
.media-empty strong{color:var(--primary-dark)}
.media-empty span{color:var(--muted);font-size:.9rem}
@media(max-width:1120px){
  .media-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-layout{grid-template-columns:1fr}
}
@media(max-width:720px){
  .media-overview,.media-filter-grid{grid-template-columns:1fr}
  .media-card{grid-template-columns:1fr}
  .media-cover{min-height:170px}
  .media-badges{justify-content:flex-start}
  .media-actions .ghost,.media-actions .action-select{width:100%;max-width:none;justify-content:center}
}

/* Events module improved layout */
.events-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:0 0 1rem;
}
.event-metric strong{font-size:1.55rem;line-height:1.2;color:var(--primary-dark)}
.event-metric small{display:block;margin-top:.25rem;color:var(--muted);font-weight:700;font-size:.8rem}
.events-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1rem;align-items:start}
.events-layout.member-only{grid-template-columns:1fr}
.event-form-card,.event-records-card{overflow:hidden}
.event-guidance{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.85rem;border:1px solid rgba(15,123,85,.18);border-radius:18px;background:linear-gradient(135deg,#eefaf4,#fff);margin-bottom:.9rem}
.event-guidance strong,.event-guidance span{display:block}
.event-guidance strong{color:var(--primary-dark);font-size:.98rem}
.event-guidance span{color:var(--muted);font-size:.87rem;margin-top:.16rem}
.event-form{display:grid;gap:.85rem}
.event-section{padding:.9rem;background:linear-gradient(180deg,#fff,#f9fdfb);border:1px solid rgba(217,232,224,.55);border-radius:18px}
.event-actions{margin-top:.2rem}
.event-filter-panel{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:.65rem;align-items:end;border:1px solid rgba(15,123,85,.16);background:linear-gradient(135deg,#f5fcf8,#fff);border-radius:18px;padding:.8rem;margin-bottom:.9rem}
.event-filter-actions{display:flex;align-items:end;justify-content:flex-end}
.event-list{display:grid;gap:.8rem}
.event-record{display:grid;grid-template-columns:82px minmax(0,1fr);gap:.8rem;align-items:start;background:linear-gradient(180deg,#fff,#fbfefd);border-left:4px solid rgba(9,103,132,.45)}
.event-record.open{border-left-color:rgba(15,123,85,.65)}
.event-date-box{display:grid;place-items:center;text-align:center;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--surface-blue),#fff);padding:.65rem .35rem;min-height:92px;box-shadow:0 8px 18px rgba(11,79,108,.07)}
.event-date-box strong{font-size:1.55rem;line-height:1;color:var(--accent)}
.event-date-box span{font-size:.78rem;font-weight:900;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.04em}
.event-date-box small{color:var(--muted);font-weight:750;font-size:.72rem}
.event-record-main{display:grid;gap:.68rem;min-width:0}
.event-record-head .item-title{font-size:1.02rem}
.event-detail-grid{font-size:.84rem}
.event-capacity-line{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:.7rem;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:.6rem .7rem}
.event-capacity-line strong{color:var(--primary-dark);font-size:1rem}
.event-capacity-line span{color:var(--muted);font-weight:750;font-size:.8rem;margin-left:.25rem}
.capacity-track{height:10px;border-radius:999px;background:#eef3f0;overflow:hidden;border:1px solid #e1ece6}
.capacity-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent))}
.event-note{border:1px solid var(--line);background:#fbfefd;border-radius:14px;padding:.7rem;color:var(--muted);font-size:.88rem}
.event-record-actions{justify-content:flex-start}
.event-empty{display:grid;gap:.2rem;min-height:92px;align-content:center;text-align:center;border:1px dashed rgba(15,123,85,.32);border-radius:18px;padding:1rem;color:var(--muted)}
.event-empty strong{color:var(--primary-dark)}
.event-empty span{font-size:.9rem}
@media(max-width:1100px){.events-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.events-layout{grid-template-columns:1fr}.event-filter-panel{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.events-overview,.event-filter-panel{grid-template-columns:1fr}.event-guidance{grid-template-columns:1fr}.event-record{grid-template-columns:1fr}.event-date-box{display:flex;justify-content:space-between;min-height:auto;padding:.65rem .8rem}.event-capacity-line{grid-template-columns:1fr}.event-metric strong{font-size:1.35rem}}

/* Business Directory improved layout */
.business-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin:0 0 1rem;
}
.business-metric strong{font-size:1.55rem;line-height:1.2;color:var(--primary-dark)}
.business-metric small{display:block;margin-top:.25rem;color:var(--muted);font-weight:700;font-size:.8rem}
.business-layout{grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);align-items:start}
.business-form-card,.business-list-card{align-self:start;overflow:hidden}
.business-guidance{
  display:flex;gap:.75rem;align-items:flex-start;
  border:1px solid rgba(15,123,85,.18);
  background:linear-gradient(135deg,#eef8f2,#fff);
  border-radius:18px;padding:.8rem;margin-bottom:.85rem;
}
.business-guidance strong{display:block;color:var(--primary-dark)}
.business-guidance span:not(.guidance-icon){display:block;color:var(--muted);font-size:.88rem;line-height:1.45;margin-top:.15rem}
.business-form .form-section{background:#fbfefd;border:1px solid var(--line);border-radius:18px;padding:.9rem;margin-bottom:.65rem}
.business-filter-panel{border:1px solid var(--line);background:linear-gradient(180deg,#fbfefd,#f7fbf9);border-radius:18px;padding:.85rem;margin-bottom:1rem}
.business-filter-grid{grid-template-columns:1.2fr .85fr .85fr .75fr .75fr;align-items:end}
.business-card-list{display:grid;gap:.85rem}
.business-card-item{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:.8rem;
  padding:.85rem;
  border:1px solid var(--line);
  border-left:4px solid rgba(15,123,85,.45);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fbfefd);
}
.business-avatar{
  width:54px;height:54px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;font-weight:950;font-size:1.25rem;
  box-shadow:0 12px 24px rgba(15,70,54,.12);
}
.business-card-body{display:grid;gap:.55rem;min-width:0}
.business-title-row{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}
.business-title-row h3{margin:0;color:var(--text);font-size:1.02rem;line-height:1.25;overflow-wrap:anywhere}
.business-title-row p{margin:.16rem 0 0;color:var(--muted);font-weight:750;font-size:.85rem}
.business-badges{display:flex;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}
.business-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem .65rem;color:var(--muted);font-size:.86rem}
.business-info-grid b{color:var(--text)}
.business-note{background:#f8fcfa;border:1px solid rgba(217,232,224,.75);border-radius:14px;padding:.62rem .7rem;color:var(--muted);font-size:.9rem;line-height:1.45}
.business-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin-top:.05rem}
.business-actions .ghost{padding:.55rem .75rem;font-size:.84rem}
.business-actions .action-select{min-width:175px;max-width:210px}
@media(max-width:1120px){
  .business-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .business-layout{grid-template-columns:1fr}
}
@media(max-width:720px){
  .business-overview,.business-filter-grid,.business-info-grid{grid-template-columns:1fr}
  .business-card-item{grid-template-columns:1fr}
  .business-title-row{display:grid}
  .business-badges{justify-content:flex-start}
  .business-actions .ghost,.business-actions .action-select{width:100%;max-width:none;justify-content:center}
}

/* Sponsor / Ads clickable image link */
.sponsor-click-link{display:inline-block;line-height:0;text-decoration:none;color:inherit;border-radius:inherit}
.sponsor-click-link:focus-visible{outline:3px solid rgba(15,123,85,.35);outline-offset:3px}
.site-ad-inner .sponsor-click-link,.site-ad .sponsor-click-link{display:block;width:100%}
.sponsor-preview-link{display:block;position:absolute;inset:0;z-index:1;border-radius:inherit;overflow:hidden}
.sponsor-preview-link.disabled-link{pointer-events:none;cursor:default}
.sponsor-preview-link .sponsor-preview-image{position:relative;inset:auto;width:100%;height:100%;display:block;object-fit:cover}
.sponsor-list-thumb.sponsor-click-link,.sponsor-row-body .sponsor-click-link{border-radius:16px;overflow:hidden}
.sponsor-row-body .sponsor-click-link .sponsor-list-thumb{display:block}
.sponsor-preview-overlay{z-index:2}

/* Fix sponsor/ad image click areas */
.site-ad-top .ad-rotating-media,
.site-ad-footer .ad-rotating-media,
.site-ad-left .ad-rotating-media{
  position:absolute;
  inset:0;
  z-index:1;
}
.site-ad-top .sponsor-click-link,
.site-ad-footer .sponsor-click-link,
.site-ad-left .sponsor-click-link,
.site-ad-inner .sponsor-click-link{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  z-index:2;
  cursor:pointer;
}
.site-ad-inner .sponsor-click-link{position:relative;height:auto;inset:auto;}
.site-ad-top::after,
.site-ad-footer::after,
.site-ad-left::after,
.site-ad-copy,
.sponsored-label,
.site-ad-label{
  pointer-events:none;
}
.site-ad[data-sponsor-click-url],
.site-ad-inner[data-sponsor-click-url]{cursor:pointer;}
.site-ad .ad-dots,
.site-ad .ad-dots *,
.sponsor-preview-card .hero-dots,
.sponsor-preview-card .hero-dots *{
  pointer-events:auto;
}
.site-ad .ad-dots{z-index:5;}
