@import url('https://fonts.googleapis.com/css2?family=Tinos:wght@400;700&family=Poppins:wght@300;400;500;700&display=swap');

/* ============================================================
   NEU-LIGHT THEME  Shared Design Tokens
   Single :root block shared by all .neu-light component scopes.
   ============================================================ */
:root {
  /* Palette */
  --neu-bg:           #e0e5ec;
  --neu-shadow-dark:  #a3b1c6;
  --neu-shadow-light: #ffffff;
  --neu-accent:       #6c35de;
  --neu-accent-glow:  rgba(108, 53, 222, 0.2);

  /* Text */
  --text-primary:     #2d3561;
  --text-secondary:   #4a5280;
  --text-muted:       #8892b0;
  --text-on-accent:   #ffffff;

  /* Status */
  --success:  #27ae60;
  --warning:  #f39c12;
  --danger:   #c0392b;
  --info:     #2980b9;

  /* Shadows  default neumorphic depth (overridden locally where needed) */
  --neu-out:    6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  --neu-in:     inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
  --neu-in-sm:  inset 2px 2px 5px #a3b1c6, inset -2px -2px 5px #ffffff;

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
}

/* ============================================================
   GLOBAL RESETS
   ============================================================ */
body, html {
  height: 100%;
  margin: 0;
  background: #e0e5ec;
}

/* =====================================================
   PUBLIC PAGE VARIABLES — Neumorphism Light scope
===================================================== */
body.neu-scope {
  --bg-page:               #d4dae5;
  --bg-section:            #e0e5ec;
  --bg-container:          transparent;
  --card-bg:               #e0e5ec;
  --card-border:           #a3b1c6;
  --card-header-bg:        #c8d0e0;
  --card-header-text:      #6c35de;
  --card-body-bg:          #e0e5ec;
  --card-text:             #4a5280;
  --card-service-bg:       #d4dae5;
  --card-service-accent:   #6c35de;
  --card-event-bg:         #d4dae5;
  --text-primary:          #2d3561;
  --text-secondary:        #4a5280;
  --text-muted:            #8892b0;
  --text-link:             #6c35de;
  --text-link-hover:       #5525c8;
  --text-inverse:          #e0e5ec;
  --button-primary-bg:     #6c35de;
  --button-secondary-bg:   #a3b1c6;
  --button-accent-bg:      #6c35de;
  --button-submit-bg:      #27ae60;
  --button-cancel-bg:      #a3b1c6;
  --button-danger-bg:      #c0392b;
  --button-login-bg:       #6c35de;
  --button-cta-bg:         #6c35de;
  --button-tab-bg:         #c8d0e0;
  --header-bg:             linear-gradient(135deg, #c8d0e0, #d4dae5);
  --header-text:           #2d3561;
  --header-logo-text:      #6c35de;
  --nav-bg:                #d4dae5;
  --nav-link-color:        #4a5280;
  --nav-link-hover:        #6c35de;
  --nav-active-bg:         rgba(108,53,222,0.15);
  --nav-border:            #a3b1c6;
  --footer-bg:             #c8d0e0;
  --footer-text:           #4a5280;
  --footer-link:           #6c35de;
  --footer-link-hover:     #5525c8;
  --footer-border:         #a3b1c6;
  --form-input-bg:         #d4dae5;
  --form-input-border:     #a3b1c6;
  --form-input-focus-border: #6c35de;
  --form-input-text:       #2d3561;
  --form-label-text:       #2d3561;
  --form-select-bg:        #d4dae5;
  --form-checkbox-bg:      #d4dae5;
  --bg-modal:              #e0e5ec;
  --bg-overlay:            rgba(0,0,0,0.4);
  --bg-sidebar:            #d4dae5;
}

/* Global emoji font override  intentionally unscoped */
.nav-icon {
  font-family: 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
}

/* ============================================================
   NAV  .nav-neu-light
   ============================================================ */
.nav-neu-light {
  --sidebar-width:           260px;
  --sidebar-collapsed-width: 64px;
  font-family: Tinos, serif;
  background: var(--neu-bg);
  padding: 2rem;
  min-height: 100vh;
  box-sizing: border-box;
}

/* ---- HEADER ---- */
.nav-neu-light .admin-header {
  background: var(--neu-bg);
  border-radius: var(--radius-md);
  padding: 1rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--neu-out);
  margin-bottom: 1.5rem;
}
.nav-neu-light .admin-brand {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--text-primary);
  font-size: 1.1rem;
  font-weight: bold;
}
.nav-neu-light .admin-brand-icon { font-size: 1.5rem; color: var(--neu-accent); }
.nav-neu-light .admin-actions    { display: flex; align-items: center; gap: 1rem; }
.nav-neu-light .welcome-text     { color: var(--text-secondary); font-size: 0.9rem; }
.nav-neu-light .btn-sm {
  padding: 0.4rem 1rem;
  border-radius: 8px;
  font-size: 0.85rem;
  text-decoration: none;
  font-family: Tinos, serif;
  cursor: pointer;
  border: none;
  background: var(--neu-bg);
  color: var(--neu-accent);
  box-shadow: var(--neu-out);
  transition: all 0.2s;
}
.nav-neu-light .btn-sm:hover  { box-shadow: var(--neu-in); }
.nav-neu-light .btn-sm:active { box-shadow: var(--neu-in-sm); }

/* ---- LAYOUT ---- */
.nav-neu-light .preview-layout  { display: flex; gap: 1.5rem; min-height: 600px; }
.nav-neu-light .preview-content {
  flex: 1;
  background: var(--neu-bg);
  border-radius: var(--radius-md);
  box-shadow: var(--neu-out);
  padding: 0;
  display: block;
  overflow-y: auto;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---- SIDEBAR ---- */
.nav-neu-light .sidebar {
  width: var(--sidebar-width);
  min-width: var(--sidebar-width);
  background: var(--neu-bg);
  border-radius: var(--radius-md);
  box-shadow: var(--neu-out);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              min-width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-neu-light .sidebar.collapsed {
  width: var(--sidebar-collapsed-width);
  min-width: var(--sidebar-collapsed-width);
}
.nav-neu-light .sidebar-logo {
  padding: 1.25rem 1rem;
  border-bottom: 1px solid rgba(163,177,198,0.3);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  justify-content: space-between;
}
.nav-neu-light .sidebar-logo-icon { font-size: 1.5rem; flex-shrink: 0; }
.nav-neu-light .sidebar-logo-info {
  flex: 1;
  overflow: hidden;
  transition: opacity 0.2s, width 0.35s;
  white-space: nowrap;
}
.nav-neu-light .sidebar.collapsed .sidebar-logo-info { opacity: 0; width: 0; overflow: hidden; }
.nav-neu-light .sidebar-logo-text { font-size: 1rem; font-weight: bold; color: var(--neu-accent); letter-spacing: 0.5px; }
.nav-neu-light .sidebar-logo-sub  { font-size: 0.7rem; color: var(--text-muted); letter-spacing: 1px; text-transform: uppercase; }

/* ---- COLLAPSE BUTTON ---- */
.nav-neu-light .collapse-btn {
  width: 28px; height: 28px;
  border-radius: 8px;
  border: none;
  background: var(--neu-bg);
  box-shadow: var(--neu-out);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--neu-accent);
  font-size: 0.7rem;
  transition: box-shadow 0.2s, transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-neu-light .collapse-btn:hover  { box-shadow: var(--neu-in); }
.nav-neu-light .collapse-btn:active { box-shadow: var(--neu-in-sm); }
.nav-neu-light .sidebar.collapsed .collapse-btn    { transform: rotate(180deg); }
.nav-neu-light .sidebar.collapsed .sidebar-logo    { justify-content: center; flex-direction: column; gap: 0.5rem; padding: 1rem 0; }

/* ---- NAV MENU ---- */
.nav-neu-light .nav-menu { padding: 0.75rem 0; flex: 1; overflow-y: auto; overflow-x: hidden; }
.nav-neu-light .nav-section-label {
  font-size: 0.65rem; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--text-muted); padding: 0.75rem 1.5rem 0.25rem;
  white-space: nowrap; overflow: hidden; transition: opacity 0.2s, max-height 0.35s;
}
.nav-neu-light .sidebar.collapsed .nav-section-label {
  opacity: 0; max-height: 0; padding-top: 0; padding-bottom: 0; pointer-events: none;
}
.nav-neu-light .nav-item { position: relative; }
.nav-neu-light .nav-link {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.65rem 1.25rem;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  cursor: pointer; background: none; border: none;
  width: calc(100% - 1rem);
  box-sizing: border-box;
  border-radius: var(--radius-md);
  margin: 0.1rem 0.5rem;
  white-space: nowrap;
}
.nav-neu-light .sidebar.collapsed .nav-link {
  padding: 0.65rem 0; justify-content: center; margin: 0.1rem auto; width: 44px; gap: 0;
}
.nav-neu-light .nav-link:hover  { box-shadow: var(--neu-out); color: var(--neu-accent); }
.nav-neu-light .nav-link.active { box-shadow: var(--neu-in);  color: var(--neu-accent); font-weight: bold; }

.nav-neu-light .nav-icon {
  font-size: 1.1rem; width: 1.25rem; text-align: center; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.nav-neu-light .nav-text {
  flex: 1; overflow: hidden; transition: opacity 0.15s, max-width 0.35s; max-width: 200px;
}
.nav-neu-light .sidebar.collapsed .nav-text { opacity: 0; max-width: 0; overflow: hidden; flex: 0; }

.nav-neu-light .dropdown-arrow {
  font-size: 0.65rem; color: var(--text-muted);
  transition: transform 0.2s, opacity 0.2s, max-width 0.2s; overflow: hidden;
}
.nav-neu-light .sidebar.collapsed .dropdown-arrow { opacity: 0; max-width: 0; overflow: hidden; }
.nav-neu-light .nav-item.open .dropdown-arrow      { transform: rotate(180deg); }

/* ---- DROPDOWN ---- */
.nav-neu-light .dropdown-menu {
  margin: 0.25rem 0.75rem 0.25rem 2.5rem;
  border-radius: var(--radius-md);
  box-shadow: var(--neu-in-sm);
  overflow: hidden; max-height: 0;
  transition: max-height 0.3s ease;
  background: var(--neu-bg);
}
.nav-neu-light .nav-item.open .dropdown-menu     { max-height: 300px; }
.nav-neu-light .sidebar.collapsed .dropdown-menu { max-height: 0 !important; }
.nav-neu-light .dropdown-item {
  display: block; padding: 0.5rem 1rem;
  color: var(--text-muted); text-decoration: none; font-size: 0.85rem; transition: all 0.2s;
}
.nav-neu-light .dropdown-item:hover  { color: var(--neu-accent); padding-left: 1.25rem; }
.nav-neu-light .dropdown-item.active { color: var(--neu-accent); font-weight: bold; }

/* ---- SEARCH ---- */
.nav-neu-light .sidebar-search {
  padding: 0.75rem 1rem; border-top: 1px solid rgba(163,177,198,0.3);
  overflow: hidden; transition: padding 0.35s;
}
.nav-neu-light .sidebar.collapsed .sidebar-search { padding: 0.75rem 0; display: flex; justify-content: center; }
.nav-neu-light .sidebar.collapsed .search-input-group { width: 44px; justify-content: center; border-radius: var(--radius-md); }
.nav-neu-light .search-input-group {
  display: flex; border-radius: 20px; overflow: hidden;
  box-shadow: var(--neu-in); background: var(--neu-bg);
}
.nav-neu-light .search-input {
  flex: 1; padding: 0.4rem 0.75rem; background: transparent;
  border: none; outline: none; color: var(--text-primary);
  font-size: 0.85rem; min-width: 0;
  transition: width 0.35s, padding 0.35s, opacity 0.2s;
}
.nav-neu-light .search-input::placeholder         { color: var(--text-muted); }
.nav-neu-light .sidebar.collapsed .search-input   { width: 0; padding: 0; opacity: 0; }
/* ---- ACCENT NAV BUTTON ---- */
.nav-neu-light .nav-admin .nav-link {
  background: var(--neu-bg); color: var(--neu-accent);
  box-shadow: var(--neu-out); margin: 0 0.5rem; width: calc(100% - 1rem);
}
.nav-neu-light .sidebar.collapsed .nav-admin .nav-link { margin: 0.1rem auto; width: 44px; }
.nav-neu-light .nav-divider { height: 1px; background: rgba(163,177,198,0.4); margin: 0.5rem 1rem; }

/* ============================================================
   TOOLTIP  .nav-tooltip
   ============================================================ */
.nav-tooltip {
  position: fixed;
  background: var(--neu-bg); color: var(--neu-accent);
  font-size: 0.8rem; font-weight: 600; font-family: Tinos, serif;
  padding: 0.35rem 0.85rem; border-radius: 8px;
  box-shadow: var(--neu-out);
  white-space: nowrap; pointer-events: none; z-index: 9999;
  opacity: 0; transform: translateX(4px); transition: opacity 0.15s, transform 0.15s;
}
.nav-tooltip.visible { opacity: 1; transform: translateX(0); }

/* ============================================================
   FLYOUT PANEL  .nav-flyout
   ============================================================ */
.nav-flyout {
  position: fixed; top: 0; left: 0;
  background: var(--neu-bg);
  border-radius: 0 14px 14px 0;
  box-shadow: 8px 0 24px rgba(163,177,198,0.7), -2px 0 8px rgba(255,255,255,0.8);
  min-width: 180px; padding: 0; z-index: 8888;
  pointer-events: none; opacity: 0; transform: translateX(-8px);
  transition: opacity 0.22s cubic-bezier(0.4,0,0.2,1), transform 0.22s cubic-bezier(0.4,0,0.2,1);
  overflow: hidden;
}
.nav-flyout.visible { opacity: 1; transform: translateX(0); pointer-events: all; }
.nav-flyout-header {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1.1rem 0.6rem;
  border-bottom: 1px solid rgba(163,177,198,0.35);
  background: var(--neu-bg);
}
.nav-flyout-header-icon { font-size: 1rem; font-family: 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif; }
.nav-flyout-header-text { font-size: 0.82rem; font-weight: bold; color: var(--neu-accent); font-family: Tinos, serif; text-transform: uppercase; letter-spacing: 1px; }
.nav-flyout-items { padding: 0.4rem 0; }
.nav-flyout-item {
  display: block; padding: 0.55rem 1.25rem;
  color: var(--text-secondary); text-decoration: none;
  font-size: 0.88rem; font-family: Tinos, serif;
  transition: all 0.18s; cursor: pointer; border: none; background: none;
  width: 100%; text-align: left; box-sizing: border-box;
}
.nav-flyout-item:hover  { color: var(--neu-accent); padding-left: 1.5rem; background: rgba(108,53,222,0.06); }
.nav-flyout-item.active { color: var(--neu-accent); font-weight: bold;    background: rgba(108,53,222,0.08); }

/* ============================================================
   THEME PICKER
   ============================================================ */
.theme-picker-wrapper { position: relative; display: inline-block; }
.theme-picker-btn { font-size: 1.1rem; cursor: pointer; background: none; border: none; padding: 0.25rem 0.5rem; }
.theme-picker-dropdown {
  display: none; position: absolute; right: 0; top: calc(100% + 6px);
  min-width: 180px; background: var(--neu-bg);
  border: 1px solid rgba(163,177,198,0.4); border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15); z-index: 9999; overflow: hidden;
}
.theme-picker-dropdown.open { display: block; }
.theme-picker-item { padding: 0.6rem 1rem; cursor: pointer; font-size: 0.875rem; color: var(--text-primary); transition: background 0.15s; }
.theme-picker-item:hover { color: var(--neu-accent); padding-left: 1.5rem; background: rgba(108,53,222,0.06); }

/* ============================================================
   ADMIN CARDS  .neu-scope
   ============================================================ */

/* =====================================================
   DESIGN TOKENS — Neumorphism
===================================================== */
.neu-scope {
  /* --- Base --- */
  --neu-bg:               #e0e5ec;
  --neu-shadow-dark:      #a3b1c6;
  --neu-shadow-light:     #ffffff;
  --neu-accent:           #6c35de;
  --neu-accent-glow:      #6c35deaa;
  --neu-danger:           #c0392b;
  --neu-warning:          #f39c12;

  /* --- Text --- */
  --text-primary:         #2d3561;
  --text-secondary:       #4a5280;
  --text-muted:           #8892b0;
  --text-on-accent:       #ffffff;

  /* --- Status --- */
  --success:              #27ae60;
  --warning:              #f39c12;
  --danger:               #c0392b;

  /* --- Spacing --- */
  --space-3:              1rem;
  --space-4:              1.5rem;

  /* --- Sizing --- */
  --card-width:           320px;
  --scroll-max-height:    160px;
  --scrollbar-width:      6px;
  --badge-offset:         -22px;
  --stat-font-size:       2.2rem;

  /* --- Radius --- */
  --radius-sm:            6px;
  --radius-md:            12px;
  --radius-lg:            20px;

  /* --- Shadows (the heart of neumorphism) --- */
  --neu-shadow-out:
    6px 6px 12px var(--neu-shadow-dark),
    -6px -6px 12px var(--neu-shadow-light);
  --neu-shadow-in:
    inset 4px 4px 8px var(--neu-shadow-dark),
    inset -4px -4px 8px var(--neu-shadow-light);
  --neu-shadow-in-sm:
    inset 2px 2px 5px var(--neu-shadow-dark),
    inset -2px -2px 5px var(--neu-shadow-light);

  font-family: Tinos, serif;
  background: var(--neu-bg);
  padding: 2rem;
  border-radius: var(--radius-lg);
}

/* =====================================================
   GRID
===================================================== */
.neu-scope .admin-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  justify-items: start;
}

/* =====================================================
   CARD
===================================================== */
.neu-scope .admin-card {
  display: flex;
  flex-direction: column;
  background: var(--neu-bg);
  border-radius: var(--radius-md);
  box-shadow: var(--neu-shadow-out);
  color: var(--text-primary);
  position: relative;
  width: 100%;
  min-width: 0;
  border: none;
  margin-top: 22px;          /* room for the badge that overflows via top: -22px */
}

/* =====================================================
   HEADER + BADGE
===================================================== */
.neu-scope .admin-card-header {
  position: relative;
}

.neu-scope .admin-card-title {
  position: absolute;
  top: var(--badge-offset);
  left: 20px;
  background: var(--neu-bg);
  box-shadow: var(--neu-shadow-out);
  padding: 8px 20px;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-weight: bold;
  white-space: nowrap;
  color: var(--neu-accent);
  z-index: 10;
}

/* =====================================================
   CONTENT
===================================================== */
.neu-scope .admin-card-content {
  flex: 1;
  padding: 2rem 1.5rem 1.5rem;
  color: var(--text-secondary);
}

/* =====================================================
   SCROLLABLE
===================================================== */
.neu-scope .scroll-area {
  max-height: var(--scroll-max-height);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.25rem;
  border-radius: var(--radius-sm);
  box-shadow: var(--neu-shadow-in);
}

.neu-scope .scroll-area p {
  width: 100%;
  box-sizing: border-box;
  padding: 0.4rem 0.75rem;
  border-radius: var(--radius-sm);
  background: var(--neu-bg);
  box-shadow: var(--neu-shadow-in-sm);
  color: var(--text-secondary);
  margin-bottom: 0.4rem;
  cursor: default;
  transition: transform 0.2s, box-shadow 0.2s;
  border: none;
}

.neu-scope .scroll-area p:hover {
  box-shadow: var(--neu-shadow-out);
  transform: translateY(-2px);
  color: var(--neu-accent);
}

.neu-scope .scroll-area::-webkit-scrollbar       { width: var(--scrollbar-width); }
.neu-scope .scroll-area::-webkit-scrollbar-thumb  { background: var(--neu-shadow-dark); border-radius: var(--radius-sm); }
.neu-scope .scroll-area::-webkit-scrollbar-track  { background: transparent; }

/* =====================================================
   BUTTON
===================================================== */
.neu-scope .admin-btn {
  position: relative;
  padding: 0.5em 1.4em;
  font-family: Tinos, serif;
  font-size: 1rem;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--neu-bg);
  color: var(--neu-accent);
  box-shadow: var(--neu-shadow-out);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  overflow: hidden;
  font-weight: bold;
}

.neu-scope .admin-btn:hover {
  box-shadow: var(--neu-shadow-in);
  transform: scale(0.98);
}

.neu-scope .admin-btn:active {
  box-shadow: var(--neu-shadow-in);
}

.neu-scope .admin-btn--danger {
  color: var(--danger);
}

.neu-scope .admin-btn--danger:hover {
  color: var(--danger);
}

/* ----- Icon-only action buttons (🔓 🔍) ----- */
.neu-scope .btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  font-size: 1rem;
  line-height: 1;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--neu-bg);
  color: var(--neu-accent);
  box-shadow: var(--neu-out);
  cursor: pointer;
  transition: box-shadow 0.18s, transform 0.18s;
  vertical-align: middle;
}
.neu-scope .btn-icon:hover {
  box-shadow: var(--neu-in);
  transform: scale(0.96);
}
.neu-scope .btn-icon:active {
  box-shadow: var(--neu-in);
  transform: scale(0.93);
}

/* =====================================================
   ALL MEMBERS PAGE — .am-* components
===================================================== */

/* Table */
.neu-scope .am-table th,
.neu-scope .am-table td      { border-bottom:1px solid rgba(163,177,198,0.45); }
.neu-scope .am-table thead th{ color:var(--text-primary); }
.neu-scope .am-table td      { color:var(--text-secondary); }
.neu-scope .am-table tbody tr:hover { background:rgba(108,53,222,0.06); }

/* Badges — darker tones readable on light bg */
.neu-scope .badge-member   { background:rgba(108,53,222,0.12);  color:#5b21b6; border:1px solid rgba(108,53,222,0.25); }
.neu-scope .badge-associate{ background:rgba(22,163,74,0.12);   color:#15803d; border:1px solid rgba(22,163,74,0.25); }
.neu-scope .badge-visitor  { background:rgba(29,78,216,0.1);    color:#1d4ed8; border:1px solid rgba(29,78,216,0.2); }
.neu-scope .badge-inactive { background:rgba(107,114,128,0.12); color:#374151; border:1px solid rgba(107,114,128,0.25); }
.neu-scope .badge-admin    { background:rgba(180,83,9,0.12);    color:#92400e; border:1px solid rgba(180,83,9,0.25); }
.neu-scope .badge-pastor   { background:rgba(4,120,87,0.1);     color:#065f46; border:1px solid rgba(4,120,87,0.2); }
.neu-scope .badge-leader   { background:rgba(194,65,12,0.1);    color:#9a3412; border:1px solid rgba(194,65,12,0.2); }
.neu-scope .badge-active   { background:rgba(22,163,74,0.12);   color:#15803d; border:1px solid rgba(22,163,74,0.25); }
.neu-scope .badge-pending  { background:rgba(180,83,9,0.12);    color:#92400e; border:1px solid rgba(180,83,9,0.25); }
.neu-scope .badge-linked   { background:rgba(22,163,74,0.1);    color:#15803d; border:1px solid rgba(22,163,74,0.2); }
.neu-scope .badge-unlinked { background:rgba(107,114,128,0.1);  color:#6b7280; border:1px solid rgba(107,114,128,0.2); }

/* Tabs */
.neu-scope .am-tabs      { border-bottom:2px solid rgba(163,177,198,0.5); }
.neu-scope .am-tab       { color:var(--text-secondary); border-bottom:2px solid transparent; }
.neu-scope .am-tab.active{ border-bottom-color:var(--neu-accent); color:var(--text-primary); font-weight:600; }

/* Auto-suggest */
.neu-scope .am-suggest-row      { border-bottom:1px solid rgba(163,177,198,0.35); }
.neu-scope .am-suggest-row:hover{ background:rgba(108,53,222,0.05); }
.neu-scope .am-suggest-name     { color:var(--text-primary); }
.neu-scope .am-match-badge      { background:rgba(4,120,87,0.1); color:#065f46; border:1px solid rgba(4,120,87,0.25); }

/* Manual link */
.neu-scope .am-manual-results          { border:1px solid rgba(163,177,198,0.5); box-shadow:var(--neu-in-sm); }
.neu-scope .am-manual-results p        { border-bottom:1px solid rgba(163,177,198,0.3); color:var(--text-secondary); }
.neu-scope .am-manual-results p:hover,
.neu-scope .am-manual-results p.selected{ background:rgba(108,53,222,0.08); color:var(--text-primary); }
.neu-scope .am-selected-box            { background:var(--neu-bg); box-shadow:var(--neu-in-sm); border:none; color:var(--text-secondary); }

/* Status msgs */
.neu-scope .am-msg-ok  { background:rgba(22,163,74,0.12);  color:#15803d; border:1px solid rgba(22,163,74,0.3); }
.neu-scope .am-msg-err { background:rgba(192,57,43,0.1);   color:#9b1c1c; border:1px solid rgba(192,57,43,0.3); }

/* Modals */
.neu-scope .am-modal       { background:var(--neu-bg); box-shadow:var(--neu-out), 0 20px 60px rgba(163,177,198,0.4); border:none; }
.neu-scope .am-modal-title { color:var(--text-primary); }
.neu-scope .am-modal-body  { color:var(--text-secondary); }
.neu-scope .am-modal-warn  { color:var(--danger); }
.neu-scope .am-edit-label  { color:var(--text-secondary); }
/* Filter-bar & edit-modal custom dropdowns */
.neu-scope .am-filter-bar .leg-m-sel-btn,
.neu-scope .am-edit-grid  .leg-m-sel-btn { background:var(--neu-bg); border:none; color:var(--text-primary); box-shadow:var(--neu-in-sm); }
.neu-scope .am-filter-bar .leg-m-select.open .leg-m-sel-btn,
.neu-scope .am-edit-grid  .leg-m-select.open .leg-m-sel-btn { box-shadow:var(--neu-in); }
.neu-scope .am-filter-bar .leg-m-sel-icon,
.neu-scope .am-edit-grid  .leg-m-sel-icon { color:var(--text-secondary); }
.neu-scope .am-filter-bar .leg-m-sel-list,
.neu-scope .am-edit-grid  .leg-m-sel-list { background:var(--neu-bg); box-shadow:var(--neu-out); }
.neu-scope .am-filter-bar .leg-m-sel-opt,
.neu-scope .am-edit-grid  .leg-m-sel-opt { color:var(--text-primary); border-bottom:1px solid rgba(0,0,0,0.06); }
.neu-scope .am-filter-bar .leg-m-sel-opt:hover,
.neu-scope .am-edit-grid  .leg-m-sel-opt:hover { background:rgba(0,0,0,0.05); }
.neu-scope .am-filter-bar .leg-m-sel-opt.leg-m-sel-opt-active,
.neu-scope .am-edit-grid  .leg-m-sel-opt.leg-m-sel-opt-active { color:var(--neu-accent); font-weight:600; }
.neu-scope .btn-icon--danger:hover { box-shadow:0 0 0 3px rgba(192,57,43,0.3) !important; }


/* =====================================================
   INPUT
===================================================== */
.neu-scope .admin-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.75rem;
  background: var(--neu-bg);
  border: none;
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 0.9rem;
  outline: none;
  box-shadow: var(--neu-shadow-in);
  transition: box-shadow 0.2s;
}

.neu-scope .admin-input::placeholder {
  color: var(--text-muted);
}

.neu-scope .admin-input:focus {
  box-shadow:
    var(--neu-shadow-in),
    0 0 0 2px var(--neu-accent-glow);
}

/* =====================================================
   HELPERS
===================================================== */
.neu-scope .text-primary  { color: var(--text-primary); }
.neu-scope .text-muted    { color: var(--text-muted); }
.neu-scope .text-success  { color: var(--success); }

.neu-scope .admin-divider {
  border: none;
  height: 1px;
  background: var(--neu-shadow-dark);
  opacity: 0.3;
  margin: var(--space-3) 0;
}

.neu-scope .stat-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.neu-scope .stat-number {
  font-size: var(--stat-font-size);
  font-weight: bold;
  color: var(--neu-accent);
  margin: 0;
}

/* ============================================================
   CALENDAR  .cal-neu-light
   ============================================================ */
.cal-neu-light {
  --neu-in: inset 3px 3px 8px #a3b1c6, inset -3px -3px 8px #ffffff;
  font-family: Tinos, serif; background: var(--neu-bg); padding: 2rem; border-radius: var(--radius-lg);
}
.cal-neu-light .calendar { background: var(--neu-bg); border-radius: 14px; overflow: hidden; box-shadow: var(--neu-out); max-width: 860px; }
.cal-neu-light .cal-header {
  background: var(--neu-bg); box-shadow: var(--neu-in-sm); padding: 1rem 1.5rem;
  display: flex; align-items: center; justify-content: space-between;
}
.cal-neu-light .cal-title { font-size: 1.1rem; font-weight: bold; color: var(--text-primary); letter-spacing: 1px; }
.cal-neu-light .cal-nav   { display: flex; gap: 0.5rem; }
.cal-neu-light .cal-nav-btn {
  background: var(--neu-bg); border: none; color: var(--neu-accent);
  border-radius: 8px; padding: 0.3rem 0.8rem; cursor: pointer;
  font-size: 0.9rem; box-shadow: var(--neu-out); transition: all 0.2s;
}
.cal-neu-light .cal-nav-btn:hover { box-shadow: var(--neu-in); }
.cal-neu-light .cal-legend  { display: flex; gap: 1rem; align-items: center; }
.cal-neu-light .legend-item { display: flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; color: var(--text-muted); }
.cal-neu-light .legend-dot  { width: 8px; height: 8px; border-radius: 50%; }
.cal-neu-light .cal-grid  { display: grid; grid-template-columns: repeat(7, 1fr); }
.cal-neu-light .cal-dow {
  background: var(--neu-bg); box-shadow: var(--neu-in-sm); padding: 0.6rem 0;
  text-align: center; font-size: 0.72rem; letter-spacing: 1px;
  text-transform: uppercase; color: var(--text-muted);
}
.cal-neu-light .cal-dow:first-child,
.cal-neu-light .cal-dow:last-child { color: var(--neu-accent); }
.cal-neu-light .cal-day {
  min-height: 90px; padding: 0.4rem 0.5rem;
  border-right: 1px solid rgba(163,177,198,0.25);
  border-bottom: 1px solid rgba(163,177,198,0.25);
  transition: background 0.15s; background: var(--neu-bg);
}
.cal-neu-light .cal-day:hover          { background: rgba(163,177,198,0.12); }
.cal-neu-light .cal-day.empty          { opacity: 0.4; }
.cal-neu-light .cal-day.today          { box-shadow: var(--neu-in-sm); }
.cal-neu-light .cal-day.today .day-num { color: var(--neu-accent); font-weight: bold; }
.cal-neu-light .day-num { font-size: 0.82rem; color: var(--text-secondary); margin-bottom: 0.3rem; display: block; }
.cal-neu-light .cal-event {
  display: block; font-size: 0.68rem; padding: 0.15rem 0.4rem; border-radius: 4px;
  margin-bottom: 0.15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  cursor: pointer; box-shadow: 1px 1px 3px #a3b1c6, -1px -1px 3px #ffffff;
}
.cal-neu-light .ev-worship  { color: #1a6b2a; background: #d8eedd; }
.cal-neu-light .ev-study    { color: #0d5f6e; background: #d2eef3; }
.cal-neu-light .ev-youth    { color: #7a5500; background: #faecc8; }
.cal-neu-light .ev-outreach { color: #4a1a8a; background: #e8d8fa; }
.cal-neu-light .ev-finance  { color: #8a1a1a; background: #f5d8d8; }

/* ============================================================
   GENERAL CARDS  .gc-neu-light
   ============================================================ */
.gc-neu-light {
  --neu-out-sm: 4px 4px 8px #a3b1c6, -4px -4px 8px #ffffff;
  font-family: Tinos, serif; padding: 2rem;
}
.gc-neu-light .section-title { font-size: 1.4rem; font-weight: bold; color: var(--text-primary); margin-bottom: 0.3rem; }
.gc-neu-light .section-sub   { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 1.5rem; }
.gc-neu-light .card-grid     { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-bottom: 2.5rem; }
.gc-neu-light .card {
  background: var(--neu-bg); border-radius: 14px; padding: 1.4rem;
  box-shadow: var(--neu-out); transition: box-shadow 0.2s; position: relative; overflow: hidden;
}
.gc-neu-light .card:hover      { box-shadow: 8px 8px 16px #a3b1c6, -8px -8px 16px #ffffff; }
.gc-neu-light .card-accent-bar { position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: 14px 14px 0 0; }
.gc-neu-light .card-icon  { font-size: 2rem; margin-bottom: 0.75rem; display: block; }
.gc-neu-light .card-title { font-size: 1rem; font-weight: bold; color: var(--text-primary); margin-bottom: 0.5rem; }
.gc-neu-light .card-body  { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.6; }
.gc-neu-light .card-link  { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.82rem; color: var(--neu-accent); text-decoration: none; margin-top: 1rem; }
.gc-neu-light .card-welcome {
  background: var(--neu-bg); border-radius: 14px; padding: 2rem; box-shadow: var(--neu-out);
  display: flex; flex-direction: column; gap: 0.75rem;
  position: relative; overflow: hidden; grid-column: span 3;
}
.gc-neu-light .card-welcome::before {
  content: ''; position: absolute; right: 2rem; top: 50%; transform: translateY(-50%);
  font-size: 8rem; color: rgba(108,53,222,0.05); line-height: 1;
}
.gc-neu-light .welcome-tag   { font-size: 0.72rem; letter-spacing: 2px; text-transform: uppercase; color: var(--neu-accent); font-weight: bold; }
.gc-neu-light .welcome-title { font-size: 1.6rem; font-weight: bold; color: var(--text-primary); }
.gc-neu-light .welcome-body  { font-size: 0.92rem; color: var(--text-secondary); max-width: 520px; line-height: 1.7; }
.gc-neu-light .welcome-btns  { display: flex; gap: 0.75rem; margin-top: 0.5rem; }

/* Merged: btn-primary and btn-outline share identical base, differ only in color */
.gc-neu-light .btn-primary,
.gc-neu-light .btn-outline {
  padding: 0.55rem 1.4rem; border-radius: 8px; font-size: 0.88rem; text-decoration: none;
  background: var(--neu-bg); border: none; font-family: Tinos, serif;
  cursor: pointer; transition: all 0.2s; box-shadow: var(--neu-out-sm);
}
.gc-neu-light .btn-primary       { color: var(--neu-accent); }
.gc-neu-light .btn-outline        { color: var(--text-secondary); }
.gc-neu-light .btn-primary:hover,
.gc-neu-light .btn-outline:hover  { box-shadow: var(--neu-in-sm); }

.gc-neu-light .service-row            { display: flex; justify-content: space-between; align-items: center; padding: 0.65rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .service-row:last-child { border-bottom: none; }
.gc-neu-light .service-name { font-size: 0.88rem; font-weight: bold; color: var(--text-primary); }
.gc-neu-light .service-time { font-size: 0.82rem; color: var(--neu-accent); font-weight: bold; }
.gc-neu-light .service-loc  { font-size: 0.75rem; color: var(--text-muted); }

.gc-neu-light .event-item            { display: flex; gap: 1rem; padding: 0.7rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .event-item:last-child { border-bottom: none; }
.gc-neu-light .event-date  { min-width: 44px; height: 44px; background: var(--neu-bg); border-radius: 8px; box-shadow: var(--neu-in-sm); display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; }
.gc-neu-light .event-day   { font-size: 1rem; font-weight: bold; color: var(--neu-accent); line-height: 1; }
.gc-neu-light .event-month { font-size: 0.6rem; text-transform: uppercase; color: var(--text-muted); }
.gc-neu-light .event-title { font-size: 0.88rem; font-weight: bold; color: var(--text-primary); margin-bottom: 0.15rem; }
.gc-neu-light .event-meta  { font-size: 0.78rem; color: var(--text-muted); }

.gc-neu-light .ministry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.gc-neu-light .ministry-item { background: var(--neu-bg); border-radius: 8px; padding: 0.75rem; display: flex; align-items: center; gap: 0.6rem; transition: all 0.2s; cursor: pointer; box-shadow: var(--neu-out-sm); }
.gc-neu-light .ministry-item:hover { box-shadow: var(--neu-in-sm); }
.gc-neu-light .ministry-icon { font-size: 1.4rem; }
.gc-neu-light .ministry-name { font-size: 0.82rem; font-weight: bold; color: var(--text-primary); }
.gc-neu-light .ministry-sub  { font-size: 0.72rem; color: var(--text-muted); }

.gc-neu-light .news-item            { display: flex; gap: 0.85rem; padding: 0.7rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .news-item:last-child { border-bottom: none; }
.gc-neu-light .news-cat   { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 1px; color: var(--neu-accent); font-weight: bold; margin-bottom: 0.2rem; }
.gc-neu-light .news-title { font-size: 0.88rem; font-weight: bold; color: var(--text-primary); margin-bottom: 0.15rem; }
.gc-neu-light .news-date  { font-size: 0.75rem; color: var(--text-muted); }

.gc-neu-light .contact-row            { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.6rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .contact-row:last-child { border-bottom: none; }
.gc-neu-light .contact-icon  { font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; }
.gc-neu-light .contact-label { font-size: 0.75rem; color: var(--text-muted); }
.gc-neu-light .contact-value { font-size: 0.88rem; color: var(--text-primary); }
.gc-neu-light .contact-value a { color: var(--neu-accent); text-decoration: none; }

.gc-neu-light .badge     { display: inline-block; font-size: 0.7rem; padding: 0.2rem 0.55rem; border-radius: 20px; font-weight: bold; margin-left: 0.4rem; box-shadow: 2px 2px 4px #a3b1c6, -2px -2px 4px #ffffff; }
.gc-neu-light .badge-new { color: var(--success); }
.gc-neu-light .badge-hot { color: var(--warning); }

/* ============================================================
   CHAT  .chat-neu-light
   ============================================================ */
.chat-neu-light {
  --bubble-self:  #ffffff;
  --bubble-other: #d2d9e3;
  --noti-bg:      #d2d9e3;
  font-family: Tinos, serif;
  border-radius: var(--radius-lg); overflow: hidden;
  background: var(--neu-bg); box-shadow: var(--neu-out);
}
.chat-neu-light .chat-shell { padding: 1.7rem 1.6rem 1.5rem; background: var(--neu-bg); }
.chat-neu-light .chat-card  { background: var(--neu-bg); border-radius: var(--radius-lg); padding: 1.25rem 1.2rem 1.15rem; box-shadow: var(--neu-out); }
.chat-neu-light .chat-title-block { margin-bottom: 1rem; }
.chat-neu-light .chat-icon  { font-size: 1.4rem; color: var(--neu-accent); }
.chat-neu-light .chat-title { color: var(--text-primary); font-size: 1.15rem; font-weight: bold; margin: 0.2rem 0 0.1rem; }
.chat-neu-light .chat-sub   { color: var(--text-muted); font-size: 0.85rem; margin: 0; }
.chat-neu-light .chat-sidebar       { background: var(--neu-bg); border-radius: var(--radius-md); padding: 0.75rem; box-shadow: var(--neu-in-sm); }
.chat-neu-light .chat-section-title { color: var(--text-muted); }
.chat-neu-light .chat-sidebar-list span        { color: var(--text-secondary); }
.chat-neu-light .chat-sidebar-list span strong { color: var(--neu-accent); }
.chat-neu-light .chat-main         { color: var(--text-primary); }
.chat-neu-light .chat-header-title { color: var(--text-primary); }
.chat-neu-light .chat-header-meta  { color: var(--text-muted); }
.chat-neu-light .chat-pill         { background: var(--noti-bg); color: var(--neu-accent); box-shadow: var(--neu-in-sm); }
.chat-neu-light .chat-messages     { background: var(--neu-bg); box-shadow: var(--neu-in-sm); }
.chat-neu-light .msg-row      { display: flex; gap: 0.4rem; }
.chat-neu-light .msg-row.self { justify-content: flex-end; }
.chat-neu-light .msg-bubble   { max-width: 70%; padding: 0.4rem 0.6rem; border-radius: var(--radius-md); font-size: 0.82rem; box-shadow: var(--neu-in-sm); }
.chat-neu-light .msg-self     { background: var(--bubble-self);  color: var(--text-primary);   border-bottom-right-radius: 3px; }
.chat-neu-light .msg-other    { background: var(--bubble-other); color: var(--text-secondary); border-bottom-left-radius:  3px; }
.chat-neu-light .chat-input-row input             { background: var(--neu-bg); box-shadow: var(--neu-in-sm); color: var(--text-primary); }
.chat-neu-light .chat-input-row input::placeholder { color: var(--text-muted); }
.chat-neu-light .chat-send-btn { padding: 0.45rem 0.85rem; border-radius: 999px; border: none; background: var(--neu-bg); color: var(--neu-accent); font-size: 0.8rem; cursor: pointer; box-shadow: var(--neu-out); }
.chat-neu-light .chat-search-label              { color: var(--text-muted); }
.chat-neu-light .chat-search-input              { background: var(--neu-bg); color: var(--text-primary); box-shadow: var(--neu-in-sm); }
.chat-neu-light .chat-search-input::placeholder { color: var(--text-muted); }
.chat-neu-light .chat-search-input:focus        { box-shadow: var(--neu-in); }

/* ============================================================
   CONTACT FORM  .style-neu-light
   ============================================================ */
.style-neu-light .contact-page  { background: var(--neu-bg); color: var(--text-secondary); }
.style-neu-light .contact-card  { background: var(--neu-bg); box-shadow: 8px 8px 16px #a3b1c6, -8px -8px 16px #ffffff; border: none; }
.style-neu-light .contact-card--form { border-radius: 18px; }
.style-neu-light .contact-title,
.style-neu-light .contact-card h2 { color: var(--text-primary); }
.style-neu-light .input {
  width: 100%; box-sizing: border-box; padding: 0.5rem 0.75rem;
  background: var(--neu-bg); border: none; border-radius: 999px;
  color: var(--text-primary); font-size: 0.9rem; outline: none;
  box-shadow: var(--neu-in); transition: box-shadow 0.2s;
}
.style-neu-light .input::placeholder { color: var(--text-muted); }
.style-neu-light .input:focus        { box-shadow: var(--neu-in), 0 0 0 2px var(--neu-accent-glow); }
.style-neu-light .input--textarea    { border-radius: 18px; min-height: 140px; resize: vertical; }
.style-neu-light .btn-primary {
  position: relative; padding: 0.5em 1.4em; margin: 1.75rem 0.5rem 0.5rem 0;
  font-family: Tinos, serif; font-size: 1rem; border: none; border-radius: var(--radius-sm);
  background: var(--neu-bg); color: var(--neu-accent);
  box-shadow: 8px 8px 16px #a3b1c6, -8px -8px 16px #ffffff;
  cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; overflow: hidden; font-weight: bold;
}
.style-neu-light .btn-primary:hover { box-shadow: var(--neu-in); transform: scale(0.98); }

/* ============================================================
   CHARTS / GRAPHS  .charts-neu-light
   ============================================================ */
.charts-neu-light {
  font-family: Tinos, serif; background: var(--neu-bg);
  padding: 2rem; border-radius: var(--radius-lg);
  display: flex; flex-direction: column; gap: 2rem;
}
.charts-neu-light .chart-card     { background: var(--neu-bg); border-radius: 14px; padding: 1.25rem 1.5rem; box-shadow: var(--neu-out); }
.charts-neu-light .chart-title    { font-size: 0.95rem; font-weight: bold; color: var(--text-primary); margin-bottom: 0.25rem; }
.charts-neu-light .chart-subtitle { font-size: 0.78rem; color: var(--text-muted); margin-bottom: 1rem; }
.charts-neu-light .legend         { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 0.85rem; }
.charts-neu-light .legend-item    { display: flex; align-items: center; gap: 0.4rem; font-size: 0.78rem; color: var(--text-secondary); }
.charts-neu-light .legend-dot     { width: 10px; height: 10px; border-radius: 2px; flex-shrink: 0; }

/* ============================================================
   LOGIN  .login-neu-light
   ============================================================ */
.login-neu-light {
  font-family: Tinos, serif; background: var(--neu-bg);
  border-radius: var(--radius-lg); overflow: hidden;
}
.login-neu-light .main-header    { background: var(--neu-bg); box-shadow: 0 4px 8px rgba(163,177,198,0.5); }
.login-neu-light .header-top     { padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.login-neu-light .logo           { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; }
.login-neu-light .logo-icon      { font-size: 2rem; color: var(--neu-accent); }
.login-neu-light .logo-text      { color: var(--text-primary); font-size: 1.4rem; font-weight: bold; }
.login-neu-light .church-tagline { color: var(--text-muted); font-size: 0.85rem; font-style: italic; margin: 0; padding-left: 2.75rem; }
.login-neu-light .header-actions { display: flex; gap: 0.75rem; align-items: center; }
.login-neu-light .btn-login-link,
.login-neu-light .btn-join {
  padding: 0.45rem 1.1rem; border-radius: 8px; font-size: 0.88rem; text-decoration: none;
  font-family: Tinos, serif; border: none; background: var(--neu-bg);
  color: var(--neu-accent); cursor: pointer; box-shadow: var(--neu-out); transition: all 0.2s;
}
.login-neu-light .btn-login-link:hover,
.login-neu-light .btn-join:hover { box-shadow: var(--neu-in); }
.login-neu-light .contact-bar {
  background: rgba(163,177,198,0.15); border-top: 1px solid rgba(163,177,198,0.3);
  padding: 0.5rem 1.5rem; display: flex; flex-wrap: wrap; gap: 1.5rem;
  font-size: 0.85rem; box-shadow: var(--neu-in-sm);
}
.login-neu-light .contact-item   { display: flex; align-items: center; gap: 0.4rem; color: var(--text-secondary); }
.login-neu-light .contact-item a { color: var(--neu-accent); text-decoration: none; }
.login-neu-light .login-body {
  min-height: 600px; display: flex; align-items: center; justify-content: center;
  padding: 3rem 1.5rem; background: var(--neu-bg);
}
.login-neu-light .login-card {
  background: var(--neu-bg); border-radius: var(--radius-lg); padding: 2.5rem;
  width: 100%; max-width: 420px; box-shadow: var(--neu-out);
}
.login-neu-light .login-logo      { text-align: center; margin-bottom: 1.75rem; }
.login-neu-light .login-logo-icon { font-size: 3rem; color: var(--neu-accent); display: block; }
.login-neu-light .login-title     { color: var(--text-primary); font-size: 1.5rem; font-weight: bold; margin: 0.5rem 0 0.25rem; }
.login-neu-light .login-subtitle  { color: var(--text-muted); font-size: 0.9rem; margin: 0; }
.login-neu-light .form-group { margin-bottom: 1.25rem; }
.login-neu-light .form-label { display: block; color: var(--text-secondary); font-size: 0.85rem; margin-bottom: 0.4rem; }
.login-neu-light .form-input {
  width: 100%; padding: 0.7rem 1rem; border-radius: 8px;
  background: var(--neu-bg); border: none; color: var(--text-primary);
  font-size: 0.9rem; font-family: Tinos, serif; box-sizing: border-box;
  transition: all 0.2s; outline: none; box-shadow: var(--neu-in-sm);
}
.login-neu-light .form-input:focus        { box-shadow: var(--neu-in); }
.login-neu-light .form-input::placeholder { color: var(--text-muted); }
.login-neu-light .form-row       { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.login-neu-light .checkbox-label { display: flex; align-items: center; gap: 0.5rem; color: var(--text-secondary); font-size: 0.85rem; cursor: pointer; }
.login-neu-light .checkbox-label input { accent-color: var(--neu-accent); width: 15px; height: 15px; }
.login-neu-light .forgot-link    { color: var(--neu-accent); font-size: 0.85rem; text-decoration: none; }
.login-neu-light .forgot-link:hover { text-decoration: underline; }
.login-neu-light .btn-submit {
  width: 100%; padding: 0.8rem; border-radius: 8px; border: none;
  background: var(--neu-bg); color: var(--neu-accent); font-size: 1rem;
  font-family: Tinos, serif; font-weight: bold; cursor: pointer; transition: all 0.2s;
  box-shadow: var(--neu-out);
}
.login-neu-light .btn-submit:hover { box-shadow: var(--neu-in); }
.login-neu-light .divider { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: var(--text-muted); font-size: 0.8rem; }
.login-neu-light .divider::before,
.login-neu-light .divider::after { content: ''; flex: 1; height: 1px; background: rgba(163,177,198,0.5); }
.login-neu-light .social-btns { display: flex; gap: 0.75rem; margin-bottom: 1.5rem; }
.login-neu-light .btn-social {
  flex: 1; padding: 0.65rem; border-radius: 8px; border: none;
  background: var(--neu-bg); color: var(--text-secondary); font-size: 0.85rem;
  font-family: Tinos, serif; cursor: pointer; transition: all 0.2s; box-shadow: var(--neu-out);
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}
.login-neu-light .btn-social:hover { box-shadow: var(--neu-in); color: var(--neu-accent); }
.login-neu-light .login-footer   { text-align: center; color: var(--text-muted); font-size: 0.85rem; }
.login-neu-light .login-footer a { color: var(--neu-accent); text-decoration: none; }
.login-neu-light .login-footer a:hover { text-decoration: underline; }
/* Alert messages on login page */
.login-neu-light .login-alert { padding: 0.75rem 1rem; border-radius: 8px; margin-bottom: 1.25rem; font-size: 0.9rem; display: flex; align-items: center; gap: 0.5rem; box-shadow: var(--neu-in-sm); }
.login-neu-light .login-alert-success { background: var(--neu-bg); color: #2e7d32; }
.login-neu-light .login-alert-error   { background: var(--neu-bg); color: #c62828; }
.login-neu-light .login-alert-warning  { background: var(--neu-bg); color: #b45309; }

/* ============================================================
   REGISTER  .reg-neu-light
   (merged from duplicate "model" + "register" blocks)
   ============================================================ */
.reg-neu-light {
  font-family: Tinos, serif; background: var(--neu-bg);
  border-radius: var(--radius-lg); overflow: hidden;
}
.reg-neu-light .main-header    { background: var(--neu-bg); box-shadow: 0 4px 8px rgba(163,177,198,0.5); }
.reg-neu-light .header-top     { padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.reg-neu-light .logo           { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; }
.reg-neu-light .logo-icon      { font-size: 2rem; color: var(--neu-accent); }
.reg-neu-light .logo-text      { color: var(--text-primary); font-size: 1.4rem; font-weight: bold; }
.reg-neu-light .church-tagline { color: var(--text-muted); font-size: 0.85rem; font-style: italic; margin: 0; padding-left: 2.75rem; }
.reg-neu-light .header-actions { display: flex; gap: 0.75rem; align-items: center; }
.reg-neu-light .btn-hdr {
  padding: 0.45rem 1.1rem; border-radius: 8px; font-size: 0.88rem; text-decoration: none;
  font-family: Tinos, serif; border: none; background: var(--neu-bg);
  color: var(--neu-accent); cursor: pointer; box-shadow: var(--neu-out); transition: all 0.2s;
}
.reg-neu-light .btn-hdr:hover { box-shadow: var(--neu-in); }
.reg-neu-light .contact-bar {
  background: rgba(163,177,198,0.15); border-top: 1px solid rgba(163,177,198,0.3);
  padding: 0.5rem 1.5rem; display: flex; flex-wrap: wrap; gap: 1.5rem;
  font-size: 0.85rem; box-shadow: var(--neu-in-sm);
}
.reg-neu-light .contact-item   { display: flex; align-items: center; gap: 0.4rem; color: var(--text-secondary); }
.reg-neu-light .contact-item a { color: var(--neu-accent); text-decoration: none; }
.reg-neu-light .reg-body {
  min-height: 600px; display: flex; align-items: center; justify-content: center;
  padding: 3rem 1.5rem; background: var(--neu-bg);
}
.reg-neu-light .reg-card {
  background: var(--neu-bg); border-radius: var(--radius-lg); padding: 2.5rem;
  width: 100%; max-width: 520px; box-shadow: var(--neu-out);
}
.reg-neu-light .reg-logo      { text-align: center; margin-bottom: 1.75rem; }
.reg-neu-light .reg-logo-icon { font-size: 3rem; color: var(--neu-accent); display: block; }
.reg-neu-light .reg-title     { color: var(--text-primary); font-size: 1.5rem; font-weight: bold; margin: 0.5rem 0 0.25rem; }
.reg-neu-light .reg-subtitle  { color: var(--text-muted); font-size: 0.9rem; margin: 0; }
.reg-neu-light .form-row-2  { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.reg-neu-light .form-group  { margin-bottom: 1.25rem; }
.reg-neu-light .form-label  { display: block; color: var(--text-secondary); font-size: 0.85rem; margin-bottom: 0.4rem; }
.reg-neu-light .form-hint   { font-size: 0.75rem; color: var(--text-muted); margin-top: 0.3rem; }
.reg-neu-light .form-input  {
  width: 100%; padding: 0.7rem 1rem; border-radius: 8px;
  background: var(--neu-bg); border: none; color: var(--text-primary);
  font-size: 0.9rem; font-family: Tinos, serif; box-sizing: border-box;
  transition: all 0.2s; outline: none; box-shadow: var(--neu-in-sm);
}
.reg-neu-light .form-input:focus           { box-shadow: var(--neu-in); }
.reg-neu-light .form-input::placeholder    { color: var(--text-muted); }
.reg-neu-light select.form-input           { appearance: none; cursor: pointer; }
.reg-neu-light input,
.reg-neu-light textarea         { background: var(--neu-bg); box-shadow: var(--neu-in-sm); color: var(--text-primary); }
.reg-neu-light input:focus,
.reg-neu-light textarea:focus   { box-shadow: var(--neu-in); }
.reg-neu-light .checkbox-row       { display: flex; align-items: flex-start; gap: 0.6rem; margin-bottom: 1.25rem; }
.reg-neu-light .checkbox-row input { accent-color: var(--neu-accent); width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0; }
.reg-neu-light .checkbox-row label { color: var(--text-secondary); font-size: 0.85rem; line-height: 1.4; cursor: pointer; }
.reg-neu-light .checkbox-row a     { color: var(--neu-accent); text-decoration: none; }
.reg-neu-light .btn-submit {
  width: 100%; padding: 0.8rem; border-radius: 8px; border: none;
  background: var(--neu-bg); color: var(--neu-accent); font-size: 1rem;
  font-family: Tinos, serif; font-weight: bold; cursor: pointer; transition: all 0.2s;
  box-shadow: var(--neu-out);
}
.reg-neu-light .btn-submit:hover { box-shadow: var(--neu-in); }
.reg-neu-light .divider { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: var(--text-muted); font-size: 0.8rem; }
.reg-neu-light .divider::before,
.reg-neu-light .divider::after { content: ''; flex: 1; height: 1px; background: rgba(163,177,198,0.5); }
.reg-neu-light .social-btns { display: flex; gap: 0.75rem; margin-bottom: 1.5rem; }
.reg-neu-light .btn-social {
  flex: 1; padding: 0.65rem; border-radius: 8px; border: none;
  background: var(--neu-bg); color: var(--text-secondary); font-size: 0.85rem;
  font-family: Tinos, serif; cursor: pointer; transition: all 0.2s; box-shadow: var(--neu-out);
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}
.reg-neu-light .btn-social:hover { box-shadow: var(--neu-in); color: var(--neu-accent); }
.reg-neu-light .reg-footer   { text-align: center; color: var(--text-muted); font-size: 0.85rem; }
.reg-neu-light .reg-footer a { color: var(--neu-accent); text-decoration: none; }
/* Alert messages on register page */
.reg-neu-light .reg-alert { padding: 0.75rem 1rem; border-radius: 8px; margin-bottom: 1.25rem; font-size: 0.9rem; display: flex; align-items: center; gap: 0.5rem; box-shadow: var(--neu-in-sm); }
.reg-neu-light .reg-alert-success { background: var(--neu-bg); color: #2d6a4f; }
.reg-neu-light .reg-alert-error   { background: var(--neu-bg); color: #9b2335; }
/* Register page — full-page container overrides */
body.neu-scope:has(.reg-neu-light) .reg-neu-light {
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  display: block;
  width: 100%;
}
body.neu-scope:has(.reg-neu-light) .reg-neu-light .reg-body {
  min-height: 100vh;
}

/* ============================================================
   TABLES  .tbl-neu-light
   ============================================================ */
.tbl-neu-light {
  --neu-in:    inset 3px 3px 7px #a3b1c6, inset -3px -3px 7px #ffffff;
  --neu-in-sm: inset 1px 1px 3px #a3b1c6, inset -1px -1px 3px #ffffff;
  font-family: Tinos, serif; background: var(--neu-bg);
  padding: 2rem; border-radius: var(--radius-lg);
  display: flex; flex-direction: column; gap: 2rem;
}
.tbl-neu-light .table-wrapper {
  border-radius: var(--radius-md); overflow: hidden;
  box-shadow: var(--neu-out); background: var(--neu-bg);
}
.tbl-neu-light .table-scroll { overflow-x: auto; overflow-y: auto; max-height: 260px; }
.tbl-neu-light .table-scroll::-webkit-scrollbar        { width: 14px; height: 14px; }
.tbl-neu-light .table-scroll::-webkit-scrollbar-thumb  { background: #eef1f6; border-radius: 20px; border: 4px solid #e0e5ec; min-height: 40px; }
.tbl-neu-light .table-scroll::-webkit-scrollbar-track  { background: #c8d0da; border-radius: 20px; border: 3px solid #e0e5ec; }
.tbl-neu-light .table-scroll::-webkit-scrollbar-corner { background: var(--neu-bg); }
.tbl-neu-light thead th { position: sticky; top: 0; z-index: 2; background: var(--neu-bg); }
.tbl-neu-light .table-title {
  background: var(--neu-bg); padding: 0.75rem 1.25rem;
  font-size: 0.75rem; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--neu-accent); font-weight: bold; box-shadow: var(--neu-in-sm);
}
.tbl-neu-light table    { width: 100%; border-collapse: collapse; background: var(--neu-bg); }
.tbl-neu-light thead tr { background: var(--neu-bg); box-shadow: var(--neu-in-sm); }
.tbl-neu-light th {
  padding: 0.75rem 1rem; text-align: left; font-size: 0.78rem;
  letter-spacing: 1px; text-transform: uppercase; color: var(--text-muted);
  border-bottom: 1px solid rgba(163,177,198,0.4); white-space: nowrap;
}
.tbl-neu-light td {
  padding: 0.7rem 1rem; font-size: 0.88rem; color: var(--text-secondary);
  border-bottom: 1px solid rgba(163,177,198,0.2);
}
.tbl-neu-light tr:last-child td               { border-bottom: none; }
.tbl-neu-light tbody tr:hover                 { background: rgba(163,177,198,0.15); }
.tbl-neu-light tbody tr:nth-child(even)       { background: rgba(163,177,198,0.08); }
.tbl-neu-light tbody tr:nth-child(even):hover { background: rgba(163,177,198,0.15); }
.tbl-neu-light .badge         { display: inline-block; padding: 0.2rem 0.6rem; border-radius: 20px; font-size: 0.75rem; font-weight: bold; box-shadow: var(--neu-in-sm); }
.tbl-neu-light .badge-success { color: var(--success); }
.tbl-neu-light .badge-warning { color: var(--warning); }
.tbl-neu-light .badge-danger  { color: var(--danger); }
.tbl-neu-light .badge-info    { color: var(--info); }
.tbl-neu-light .badge-accent  { color: var(--neu-accent); }
.tbl-neu-light .amount-pos { color: var(--success); font-weight: bold; }
.tbl-neu-light .amount-neg { color: var(--danger);  font-weight: bold; }
.tbl-neu-light .text-name  { color: var(--text-primary); font-weight: bold; }

/* ============================================================
   TABS & PAGINATION  .tp-neu-light
   ============================================================ */
.tp-neu-light {
  --neu-out:    5px 5px 10px #a3b1c6, -5px -5px 10px #ffffff;
  --neu-out-sm: 3px 3px 6px #a3b1c6, -3px -3px 6px #ffffff;
  --neu-in:     inset 3px 3px 7px #a3b1c6, inset -3px -3px 7px #ffffff;
  --neu-in-sm:  inset 2px 2px 4px #a3b1c6, inset -2px -2px 4px #ffffff;
  font-family: Tinos, serif; background: var(--neu-bg);
  padding: 2rem; border-radius: var(--radius-lg);
  display: flex; flex-direction: column; gap: 2.5rem;
}
.tp-neu-light .section-label { font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.75rem; }

/* Underline tabs */
.tp-neu-light .tabs-underline { border-bottom: 1px solid rgba(163,177,198,0.4); display: flex; }
.tp-neu-light .tabs-underline .tab {
  padding: 0.6rem 1.25rem; font-size: 0.9rem; color: var(--text-muted);
  cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px;
  transition: all 0.2s; user-select: none;
}
.tp-neu-light .tabs-underline .tab:hover  { color: var(--text-secondary); }
.tp-neu-light .tabs-underline .tab.active { color: var(--neu-accent); border-bottom-color: var(--neu-accent); font-weight: bold; }

/* Pill tabs */
.tp-neu-light .tabs-pill {
  display: flex; gap: 0.4rem; background: var(--neu-bg); padding: 0.35rem;
  border-radius: var(--radius-md); width: fit-content; box-shadow: var(--neu-in-sm);
}
.tp-neu-light .tabs-pill .tab {
  padding: 0.5rem 1.1rem; font-size: 0.88rem; color: var(--text-muted);
  cursor: pointer; border-radius: 9px; transition: all 0.2s; user-select: none;
}
.tp-neu-light .tabs-pill .tab:hover  { color: var(--text-secondary); }
.tp-neu-light .tabs-pill .tab.active { background: var(--neu-bg); color: var(--neu-accent); font-weight: bold; box-shadow: var(--neu-out-sm); }

/* Button tabs */
.tp-neu-light .tabs-btn { display: flex; gap: 0.5rem; }
.tp-neu-light .tabs-btn .tab {
  padding: 0.5rem 1.1rem; font-size: 0.88rem; color: var(--text-muted);
  cursor: pointer; border: none; border-radius: 8px;
  background: var(--neu-bg); transition: all 0.2s; box-shadow: var(--neu-out-sm);
}
.tp-neu-light .tabs-btn .tab:hover  { color: var(--neu-accent); }
.tp-neu-light .tabs-btn .tab.active { box-shadow: var(--neu-in-sm); color: var(--neu-accent); font-weight: bold; }

/* Tab panel */
.tp-neu-light .tab-panel {
  background: var(--neu-bg); border-radius: 10px; box-shadow: var(--neu-in-sm);
  padding: 1.25rem 1.5rem; margin-top: 0.75rem; color: var(--text-secondary); font-size: 0.9rem;
}

/* Pagination  numbered */
.tp-neu-light .pagination { display: flex; align-items: center; gap: 0.4rem; }
.tp-neu-light .page-btn {
  min-width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  border-radius: 8px; border: none; background: var(--neu-bg); color: var(--text-secondary);
  font-size: 0.88rem; cursor: pointer; transition: all 0.2s; box-shadow: var(--neu-out-sm); padding: 0 0.5rem;
}
.tp-neu-light .page-btn:hover    { color: var(--neu-accent); }
.tp-neu-light .page-btn.active   { box-shadow: var(--neu-in-sm); color: var(--neu-accent); font-weight: bold; }
.tp-neu-light .page-btn.disabled { opacity: 0.35; cursor: default; pointer-events: none; }
.tp-neu-light .page-ellipsis     { color: var(--text-muted); padding: 0 0.25rem; }

/* Pagination  minimal */
.tp-neu-light .pagination-minimal { display: flex; align-items: center; gap: 1rem; }
.tp-neu-light .page-info          { color: var(--text-muted); font-size: 0.88rem; }
.tp-neu-light .page-info span     { color: var(--neu-accent); font-weight: bold; }

/* Pagination  rounded */
.tp-neu-light .pagination-rounded { display: flex; align-items: center; gap: 0.4rem; }
.tp-neu-light .page-btn-round {
  min-width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; border: none; background: var(--neu-bg); color: var(--text-secondary);
  font-size: 0.88rem; cursor: pointer; transition: all 0.2s; box-shadow: var(--neu-out-sm);
}
.tp-neu-light .page-btn-round:hover    { color: var(--neu-accent); }
.tp-neu-light .page-btn-round.active   { box-shadow: var(--neu-in-sm); color: var(--neu-accent); font-weight: bold; }
.tp-neu-light .page-btn-round.disabled { opacity: 0.35; cursor: default; pointer-events: none; }

/* ============================================================
   TOAST NOTIFICATIONS  .toast-orig
   NOTE: Standalone dark-mode component. Palette is entirely
   independent of neu-light and intentionally kept isolated.
   ============================================================ */
.toast-orig {
  --accent:         #bb86fc;
  --bg:             #1e1e2e;
  --bg2:            #2a2a44;
  --border:         #4a4a66;
  --text-primary:   #f0f0f5;
  --text-secondary: #c0c0d0;
  --text-muted:     #8888a0;
  --success:        #28a745;
  --warning:        #ffc107;
  --danger:         #dc3545;
  --info:           #17a2b8;
  font-family: Tinos, serif; background: #13131f;
  padding: 2rem; border-radius: 12px;
  display: flex; flex-direction: column; gap: 2rem;
}
.toast-orig .section-label { font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.75rem; }
.toast-orig .toast-stack   { display: flex; flex-direction: column; gap: 0.75rem; }
.toast-orig .toast {
  display: flex; align-items: flex-start; gap: 0.85rem;
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: 10px; padding: 0.85rem 1rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  position: relative; max-width: 380px;
  animation: toast-orig-slide 0.3s ease;
}
@keyframes toast-orig-slide {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}
.toast-orig .toast-icon  { font-size: 1.25rem; flex-shrink: 0; margin-top: 1px; }
.toast-orig .toast-body  { flex: 1; min-width: 0; }
.toast-orig .toast-title { font-size: 0.9rem; font-weight: bold; color: var(--text-primary); margin-bottom: 0.2rem; }
.toast-orig .toast-msg   { font-size: 0.82rem; color: var(--text-secondary); line-height: 1.4; }
.toast-orig .toast-time  { font-size: 0.72rem; color: var(--text-muted); margin-top: 0.25rem; }
.toast-orig .toast-close { font-size: 1rem; color: var(--text-muted); cursor: pointer; flex-shrink: 0; line-height: 1; padding: 0.1rem; transition: color 0.15s; }
.toast-orig .toast-close:hover { color: var(--text-primary); }
.toast-orig .toast.toast-success { border-left: 4px solid var(--success); }
.toast-orig .toast.toast-warning { border-left: 4px solid var(--warning); }
.toast-orig .toast.toast-danger  { border-left: 4px solid var(--danger); }
.toast-orig .toast.toast-info    { border-left: 4px solid var(--info); }
.toast-orig .toast.toast-accent  { border-left: 4px solid var(--accent); }
.toast-orig .toast-progress { position: absolute; bottom: 0; left: 0; height: 3px; border-radius: 0 0 10px 10px; width: 60%; }
.toast-orig .toast-success .toast-progress { background: var(--success); }
.toast-orig .toast-warning .toast-progress { background: var(--warning); }
.toast-orig .toast-danger  .toast-progress { background: var(--danger); }
.toast-orig .toast-info    .toast-progress { background: var(--info); }
.toast-orig .toast-accent  .toast-progress { background: var(--accent); }
.toast-orig .toast-filled {
  display: flex; align-items: flex-start; gap: 0.85rem;
  border-radius: 10px; padding: 0.85rem 1rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  position: relative; max-width: 380px;
}
.toast-orig .toast-filled.toast-success { background: rgba(40,167,69,0.2);   border: 1px solid rgba(40,167,69,0.4); }
.toast-orig .toast-filled.toast-warning { background: rgba(255,193,7,0.15);  border: 1px solid rgba(255,193,7,0.4); }
.toast-orig .toast-filled.toast-danger  { background: rgba(220,53,69,0.15);  border: 1px solid rgba(220,53,69,0.4); }
.toast-orig .toast-filled.toast-info    { background: rgba(23,162,184,0.15); border: 1px solid rgba(23,162,184,0.4); }
.toast-orig .toast-filled .toast-title  { color: var(--text-primary); font-size: 0.9rem; font-weight: bold; margin-bottom: 0.2rem; }
.toast-orig .toast-filled .toast-msg    { font-size: 0.82rem; color: var(--text-secondary); line-height: 1.4; }
.toast-orig .toast-filled .toast-close  { font-size: 1rem; color: var(--text-muted); cursor: pointer; }
.toast-orig .toast-snack {
  display: flex; align-items: center; gap: 1rem;
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: 100px; padding: 0.6rem 1.25rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5); max-width: 380px;
}
.toast-orig .toast-snack .toast-msg    { font-size: 0.88rem; color: var(--text-secondary); flex: 1; }
.toast-orig .toast-snack .snack-action { font-size: 0.82rem; color: var(--accent); cursor: pointer; font-weight: bold; white-space: nowrap; }
.toast-orig .toast-snack .snack-action:hover { text-decoration: underline; }

/* ============================================================
   ADMIN PAGE LAYOUT  .admin-page-layout / .page-header / .page-grid
   ============================================================ */
.admin-page-layout {
  padding: 2rem;
  box-sizing: border-box;
  width: 100%;
}

.page-header {
  margin-bottom: 2rem;
}

.page-header h1 {
  font-family: Tinos, serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--neu-accent);
  margin: 0 0 0.4rem 0;
}

.page-header p {
  color: var(--text-muted);
  margin: 0;
  font-size: 0.95rem;
}

.page-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}

.page-grid--wide {
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
}

.page-grid--full {
  grid-template-columns: 1fr;
}

.page-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 900px) {
  .page-grid--2col { grid-template-columns: 1fr; }
  .page-grid--wide { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .page-grid { grid-template-columns: 1fr; }
  .admin-page-layout { padding: 1rem; }
  .page-header h1 { font-size: 1.3rem; }
}


/*  Legend Edit Modal  Neumorphism Light  */
.leg-modal-wrap.reg-neu-light {
  --neu-bg: #e0e5ec; --neu-accent: #6c35de;
  --text-primary: #2d3561; --text-secondary: #4a5280; --text-muted: #8892b0;
  --neu-out: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  --neu-in: inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #ffffff;
  --neu-in-sm: inset 2px 2px 5px #a3b1c6, inset -2px -2px 5px #ffffff;
  background: var(--neu-bg); border-radius: 16px; box-shadow: var(--neu-out);
}
.leg-modal-wrap.reg-neu-light .reg-body { padding: 1.4rem 1.6rem 1.3rem; background: var(--neu-bg); }
.leg-modal-wrap.reg-neu-light .reg-card {
  background: var(--neu-bg); border-radius: 14px; padding: 1.25rem; box-shadow: var(--neu-out);
}
.leg-modal-wrap.reg-neu-light input[type=text],
.leg-modal-wrap.reg-neu-light select,
.leg-modal-wrap.reg-neu-light input[type=time],
.leg-modal-wrap.reg-neu-light textarea {
  background: var(--neu-bg); box-shadow: var(--neu-in-sm); color: var(--text-primary);
  border: none; border-radius: var(--radius-sm); outline: none;
  padding: 0.5rem 0.75rem; width: 100%; box-sizing: border-box;
}
.leg-modal-wrap.reg-neu-light select {
  appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23666688' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.65rem center; background-size: 0.75rem;
}
.leg-modal-wrap.reg-neu-light input[type=text]:focus,
.leg-modal-wrap.reg-neu-light textarea:focus { box-shadow: var(--neu-in); outline: none; }
.leg-modal-wrap.reg-neu-light .leg-m-title  { color: var(--text-primary); margin: 0 0 1rem; font-size: 1rem; }
.leg-modal-wrap.reg-neu-light .leg-m-label  { display: block; color: var(--text-secondary); font-size: 0.8rem; margin-bottom: 0.25rem; }
.leg-modal-wrap.reg-neu-light .leg-m-hint   { font-size: 0.75rem; color: var(--text-muted); }
.leg-modal-wrap.reg-neu-light .leg-m-close  { background: none; border: none; box-shadow: none; color: var(--text-muted); font-size: 1.3rem; cursor: pointer; }
.leg-modal-wrap.reg-neu-light .leg-m-save {
  padding: 0.55rem 1.1rem; border-radius: 10px; border: none;
  background: var(--neu-bg); color: var(--neu-accent); font-weight: bold;
  cursor: pointer; box-shadow: var(--neu-out);
}
.leg-modal-wrap.reg-neu-light .leg-m-save:hover  { box-shadow: var(--neu-in); }
.leg-modal-wrap.reg-neu-light .leg-m-cancel {
  padding: 0.55rem 1.1rem; border-radius: 10px; border: none;
  background: var(--neu-bg); color: var(--text-secondary); cursor: pointer; box-shadow: var(--neu-out);
}
.leg-modal-wrap.reg-neu-light .leg-m-cancel:hover { box-shadow: var(--neu-in); }
/* custom select */
.leg-modal-wrap.reg-neu-light .leg-m-sel-btn {
  background: var(--neu-bg); border: none; color: var(--text-primary); box-shadow: var(--neu-in-sm);
}
.leg-modal-wrap.reg-neu-light .leg-m-select.open .leg-m-sel-btn { box-shadow: var(--neu-in); }
.leg-modal-wrap.reg-neu-light .leg-m-sel-icon { color: var(--text-secondary); }
.leg-modal-wrap.reg-neu-light .leg-m-sel-list {
  background: var(--neu-bg); box-shadow: var(--neu-out);
}
.leg-modal-wrap.reg-neu-light .leg-m-sel-opt { color: var(--text-primary); border-bottom: 1px solid rgba(0,0,0,0.06); }
.leg-modal-wrap.reg-neu-light .leg-m-sel-opt:hover { background: rgba(0,0,0,0.05); }
.leg-modal-wrap.reg-neu-light .leg-m-sel-opt.leg-m-sel-opt-active { color: var(--neu-accent); font-weight: 600; }


/* ============================================================
   INDEX PAGE  STYLES  (gc-neu-light)
   ============================================================ */
/* ============================================================
   3. NEUMORPHISM LIGHT
   ============================================================ */
.gc-neu-light {
  font-family: Tinos, serif;
  padding: 2rem;
}
.gc-neu-light .section-title { font-size: 1.4rem; font-weight: bold; color: #2d3561; margin-bottom: 0.3rem; }
.gc-neu-light .section-sub   { font-size: 0.85rem; color: #8892b0; margin-bottom: 1.5rem; }
.gc-neu-light .card-grid     { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-bottom: 2.5rem; }
.gc-neu-light .card {
  background: #e0e5ec; border-radius: 14px; padding: 1.4rem;
  box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  transition: box-shadow 0.2s; position: relative; overflow: hidden;
}
.gc-neu-light .card:hover { box-shadow: 8px 8px 16px #a3b1c6, -8px -8px 16px #ffffff; }
.gc-neu-light .card-accent-bar { position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: 14px 14px 0 0; background: linear-gradient(90deg,#6c35de,#3d00a0); }
.gc-neu-light .card-icon  { font-size: 2rem; margin-bottom: 0.75rem; display: block; }
.gc-neu-light .card-title { font-size: 1rem; font-weight: bold; color: #2d3561; margin-bottom: 0.5rem; }
.gc-neu-light .card-body  { font-size: 0.88rem; color: #4a5280; line-height: 1.6; }
.gc-neu-light .card-link  { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.82rem; color: #6c35de; text-decoration: none; margin-top: 1rem; cursor: pointer; }
.gc-neu-light .card-welcome {
  background: #e0e5ec; border-radius: 14px; padding: 2rem;
  box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  display: flex; flex-direction: column; gap: 0.75rem; position: relative; overflow: hidden; grid-column: span 3;
}
.gc-neu-light .card-welcome::before { content: '\271A'; position: absolute; right: 2rem; top: 50%; transform: translateY(-50%); font-size: 8rem; color: rgba(108,53,222,0.05); line-height: 1; }
.gc-neu-light .welcome-tag   { font-size: 0.72rem; letter-spacing: 2px; text-transform: uppercase; color: #6c35de; font-weight: bold; }
.gc-neu-light .welcome-title { font-size: 1.6rem; font-weight: bold; color: #2d3561; }
.gc-neu-light .welcome-body  { font-size: 0.92rem; color: #4a5280; max-width: 520px; line-height: 1.7; }
.gc-neu-light .welcome-btns  { display: flex; gap: 0.75rem; margin-top: 0.5rem; }
.gc-neu-light .btn-primary { padding: 0.55rem 1.4rem; border-radius: 8px; font-size: 0.88rem; background: #e0e5ec; color: #6c35de; border: none; text-decoration: none; cursor: pointer; transition: all 0.2s; box-shadow: 4px 4px 8px #a3b1c6, -4px -4px 8px #ffffff; }
.gc-neu-light .btn-primary:hover { box-shadow: inset 2px 2px 5px #a3b1c6, inset -2px -2px 5px #ffffff; }
.gc-neu-light .btn-outline  { padding: 0.55rem 1.4rem; border-radius: 8px; font-size: 0.88rem; background: #e0e5ec; color: #4a5280; border: none; text-decoration: none; cursor: pointer; transition: all 0.2s; box-shadow: 4px 4px 8px #a3b1c6, -4px -4px 8px #ffffff; }
.gc-neu-light .btn-outline:hover { box-shadow: inset 2px 2px 5px #a3b1c6, inset -2px -2px 5px #ffffff; }
.gc-neu-light .service-row { display: flex; justify-content: space-between; align-items: center; padding: 0.65rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .service-row:last-child { border-bottom: none; }
.gc-neu-light .service-name { font-size: 0.88rem; font-weight: bold; color: #2d3561; }
.gc-neu-light .service-time { font-size: 0.82rem; color: #6c35de; font-weight: bold; }
.gc-neu-light .service-loc  { font-size: 0.75rem; color: #8892b0; }
.gc-neu-light .event-item  { display: flex; gap: 1rem; padding: 0.7rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .event-item:last-child { border-bottom: none; }
.gc-neu-light .event-date  { min-width: 44px; height: 44px; background: #e0e5ec; border-radius: 8px; box-shadow: inset 2px 2px 5px #a3b1c6, inset -2px -2px 5px #ffffff; display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; }
.gc-neu-light .event-day   { font-size: 1rem; font-weight: bold; color: #6c35de; line-height: 1; }
.gc-neu-light .event-month { font-size: 0.6rem; text-transform: uppercase; color: #8892b0; }
.gc-neu-light .event-info  { flex: 1; }
.gc-neu-light .event-title { font-size: 0.88rem; font-weight: bold; color: #2d3561; margin-bottom: 0.15rem; }
.gc-neu-light .event-meta  { font-size: 0.78rem; color: #8892b0; }
.gc-neu-light .ministry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.gc-neu-light .ministry-item { background: #e0e5ec; border-radius: 8px; padding: 0.75rem; display: flex; align-items: center; gap: 0.6rem; transition: all 0.2s; cursor: pointer; box-shadow: 4px 4px 8px #a3b1c6, -4px -4px 8px #ffffff; }
.gc-neu-light .ministry-item:hover { box-shadow: inset 2px 2px 5px #a3b1c6, inset -2px -2px 5px #ffffff; }
.gc-neu-light .ministry-icon { font-size: 1.4rem; }
.gc-neu-light .ministry-name { font-size: 0.82rem; font-weight: bold; color: #2d3561; }
.gc-neu-light .ministry-sub  { font-size: 0.72rem; color: #8892b0; }
.gc-neu-light .news-item { display: flex; gap: 0.85rem; padding: 0.7rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .news-item:last-child { border-bottom: none; }
.gc-neu-light .news-cat   { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 1px; color: #6c35de; font-weight: bold; margin-bottom: 0.2rem; }
.gc-neu-light .news-title { font-size: 0.88rem; font-weight: bold; color: #2d3561; margin-bottom: 0.15rem; }
.gc-neu-light .news-date  { font-size: 0.75rem; color: #8892b0; }
.gc-neu-light .contact-row { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.6rem 0; border-bottom: 1px solid rgba(163,177,198,0.3); }
.gc-neu-light .contact-row:last-child { border-bottom: none; }
.gc-neu-light .contact-icon  { font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; }
.gc-neu-light .contact-label { font-size: 0.75rem; color: #8892b0; }
.gc-neu-light .contact-value { font-size: 0.88rem; color: #2d3561; }
.gc-neu-light .contact-value a { color: #6c35de; text-decoration: none; }
.gc-neu-light .badge { display: inline-block; font-size: 0.7rem; padding: 0.2rem 0.55rem; border-radius: 20px; font-weight: bold; margin-left: 0.4rem; box-shadow: 2px 2px 4px #a3b1c6, -2px -2px 4px #ffffff; }
.gc-neu-light .badge-new { color: #27ae60; }
.gc-neu-light .badge-hot { color: #f39c12; }

/* ============================================================
   RESPONSIVE (index page)
   ============================================================ */
@media (max-width: 900px) {
    .gc-neu-light .card-grid   { grid-template-columns: 1fr 1fr; }
    .gc-neu-light .card-welcome { grid-column: span 2; }
}
@media (max-width: 600px) {
    .gc-neu-light .card-grid    { grid-template-columns: 1fr; }
    .gc-neu-light .card-welcome { grid-column: span 1; }
    .gc-neu-light .welcome-btns { flex-direction: column; }
    .gc-neu-light               { padding: 1rem; }
}

/*  Backup & Restore (admin_backup_restore.php)  */
.neu-scope .bk-progress-wrap {
  width: 100%;
  height: 8px;
  background: var(--admin-input-bg, rgba(255,255,255,0.08));
  border-radius: 4px;
  overflow: hidden;
  margin: 0.5rem 0;
}
.neu-scope .bk-progress-fill {
  height: 100%;
  width: 0%;
  background: var(--admin-purple, #bb86fc);
  border-radius: 4px;
  transition: width 0.3s ease;
}
.neu-scope .bk-status {
  font-size: 0.82rem;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  margin-top: 0.6rem;
  display: none;
}
.neu-scope .bk-status.ok      { background: rgba(52,201,124,0.12); color: #34c97c; border: 1px solid rgba(52,201,124,0.3); }
.neu-scope .bk-status.err     { background: rgba(255,92,92,0.12);  color: #ff5c5c; border: 1px solid rgba(255,92,92,0.3); }
.neu-scope .bk-status.pending { background: rgba(255,255,255,0.05); color: #aaa;   border: 1px solid rgba(255,255,255,0.1); }
.neu-scope .bk-hist-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.75rem;
  border-radius: 6px;
  background: var(--admin-input-bg, rgba(255,255,255,0.04));
  border: 1px solid var(--admin-input-border, rgba(255,255,255,0.08));
  margin-bottom: 0.4rem;
  font-size: 0.82rem;
}
.neu-scope .bk-hist-row:last-child { margin-bottom: 0; }
.neu-scope .bk-hist-meta    { flex: 1; min-width: 0; }
.neu-scope .bk-hist-name    { font-weight: 600; font-size: 0.8rem; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.neu-scope .bk-hist-info    { color: var(--text-muted); font-size: 0.76rem; margin-top: 2px; }
.neu-scope .bk-hist-actions { display: flex; gap: 0.35rem; flex-shrink: 0; }
.neu-scope .bk-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--admin-input-border, rgba(255,255,255,0.1)); margin-bottom: 0.9rem; }
.neu-scope .bk-tab-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-muted);
  padding: 0.4rem 1rem;
  cursor: pointer;
  font-size: 0.83rem;
  font-family: inherit;
  margin-bottom: -1px;
  transition: color 0.15s, border-color 0.15s;
}
.neu-scope .bk-tab-btn.active { color: var(--admin-purple, #bb86fc); border-bottom-color: var(--admin-purple, #bb86fc); }
.neu-scope .bk-tab-btn:hover  { color: var(--text-primary); }
.neu-scope .bk-tab-panel        { display: none; }
.neu-scope .bk-tab-panel.active { display: block; }

/* ====================================================================
   SERMON EDITOR — 3-Panel Layout  (neu-scope / neumorphism-light)
   ==================================================================== */
.neu-scope .se-editor-wrap { display:flex; flex-direction:column; height:calc(100vh - 64px); min-height:500px; overflow:hidden; background:#d4dae5; font-family:Poppins,sans-serif; }
.neu-scope .se-toolbar-top { display:flex; align-items:center; gap:.75rem; padding:.45rem 1rem; background:#c8d0e0; box-shadow:0 2px 8px #a3b1c6,-2px 0 4px #ffffff; border-bottom:none; flex-shrink:0; flex-wrap:wrap; }
.neu-scope .se-sermon-title { flex:1; min-width:180px; font-size:.92rem; font-weight:700; color:#6c35de; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.neu-scope .se-toolbar-top select, .neu-scope .se-toolbar-top input[type=date] { background:#d4dae5; color:#2d3561; border:none; border-radius:6px; padding:.25rem .5rem; font-size:.82rem; box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-save-btn { background:#e0e5ec; color:#6c35de; border:none; border-radius:6px; padding:.35rem 1rem; font-size:.82rem; font-weight:700; cursor:pointer; box-shadow:4px 4px 8px #a3b1c6,-4px -4px 8px #fff; transition:box-shadow .2s,transform .15s; }
.neu-scope .se-save-btn:hover { box-shadow:2px 2px 5px #a3b1c6,-2px -2px 5px #fff; transform:scale(.98); }
.neu-scope .se-save-btn.saving { box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; color:#8892b0; cursor:default; }
.neu-scope .se-back-btn { background:#e0e5ec; color:#4a5280; border:none; border-radius:6px; padding:.3rem .75rem; font-size:.8rem; cursor:pointer; box-shadow:3px 3px 6px #a3b1c6,-3px -3px 6px #fff; }
.neu-scope .se-back-btn:hover { box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-auto-save-note { font-size:.72rem; color:#8892b0; }
.neu-scope .se-panels { display:flex; flex:1; overflow:hidden; }
.neu-scope .se-left-panel { width:240px; flex-shrink:0; display:flex; flex-direction:column; background:#e0e5ec; box-shadow:4px 0 10px #a3b1c6; border-right:none; overflow:hidden; }
.neu-scope .se-center-panel { flex:1; display:flex; flex-direction:column; background:#d4dae5; overflow:hidden; min-width:0; }
.neu-scope .se-right-panel { width:270px; flex-shrink:0; display:flex; flex-direction:column; background:#e0e5ec; box-shadow:-4px 0 10px #a3b1c6; border-left:none; overflow:hidden; }
.neu-scope .se-panel-head { display:flex; align-items:center; justify-content:space-between; gap:.4rem; padding:.55rem .9rem; background:#c8d0e0; box-shadow:0 2px 6px #a3b1c6; border-bottom:none; font-size:.76rem; font-weight:700; color:#6c35de; flex-shrink:0; text-transform:uppercase; letter-spacing:.04em; }
.neu-scope .se-panel-head button { background:#d4dae5; color:#6c35de; border:none; border-radius:4px; padding:2px 8px; font-size:.72rem; cursor:pointer; box-shadow:2px 2px 4px #a3b1c6,-2px -2px 4px #fff; }
.neu-scope .se-panel-head button:hover { box-shadow:inset 1px 1px 3px #a3b1c6,inset -1px -1px 3px #fff; }
.neu-scope .se-tab-btn { background:transparent; border:none; border-bottom:2px solid transparent; color:#8892b0; padding:.35rem .6rem; font-size:.73rem; cursor:pointer; font-family:inherit; }
.neu-scope .se-tab-btn.active { color:#6c35de; border-bottom-color:#6c35de; }
.neu-scope .se-tab-btn:hover { color:#2d3561; }
.neu-scope .se-panel-body { flex:1; overflow-y:auto; overflow-x:hidden; padding:.7rem .75rem; }
.neu-scope .se-panel-body::-webkit-scrollbar { width:4px; }
.neu-scope .se-panel-body::-webkit-scrollbar-thumb { background:#a3b1c6; border-radius:4px; }
.neu-scope .se-point-item { display:flex; align-items:flex-start; gap:.4rem; padding:.42rem .5rem; margin-bottom:6px; background:#e0e5ec; border:none; border-radius:8px; cursor:grab; box-shadow:3px 3px 7px #a3b1c6,-3px -3px 7px #fff; transition:box-shadow .15s; }
.neu-scope .se-point-item:hover { box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-point-item.se-dragging { opacity:.45; }
.neu-scope .se-point-item.se-over { box-shadow:0 -2px 0 #6c35de,3px 3px 7px #a3b1c6,-3px -3px 7px #fff; }
.neu-scope .se-drag-handle { color:#8892b0; font-size:.85rem; cursor:grab; flex-shrink:0; padding-top:2px; user-select:none; }
.neu-scope .se-point-title { flex:1; font-size:.82rem; font-weight:700; color:#2d3561; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.neu-scope .se-point-sub { font-size:.72rem; color:#8892b0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.neu-scope .se-point-del { background:transparent; border:none; color:#c0392b; cursor:pointer; font-size:.78rem; flex-shrink:0; padding:0 2px; }
.neu-scope .se-outline-add-form input, .neu-scope .se-outline-add-form select { width:100%; box-sizing:border-box; background:#d4dae5; color:#2d3561; border:none; border-radius:6px; padding:.38rem .55rem; font-size:.82rem; margin-bottom:5px; box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-outline-add-form button { width:100%; background:#e0e5ec; color:#6c35de; border:none; border-radius:6px; padding:.38rem; font-size:.82rem; font-weight:700; cursor:pointer; box-shadow:3px 3px 6px #a3b1c6,-3px -3px 6px #fff; margin-top:2px; }
.neu-scope .se-outline-add-form button:hover { box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-empty { text-align:center; color:#8892b0; padding:1.5rem .5rem; font-size:.82rem; }
.neu-scope .se-empty-icon { font-size:1.8rem; margin-bottom:.4rem; }
.neu-scope .se-meta-row { display:flex; flex-wrap:wrap; gap:.45rem; padding:.55rem .9rem; flex-shrink:0; border-bottom:none; background:#c8d0e0; box-shadow:0 2px 6px #a3b1c6; }
.neu-scope .se-meta-row input, .neu-scope .se-meta-row select { background:#d4dae5; color:#2d3561; border:none; border-radius:6px; padding:.32rem .55rem; font-size:.82rem; box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-meta-row input:focus, .neu-scope .se-meta-row select:focus { outline:none; box-shadow:inset 3px 3px 6px #a3b1c6,inset -3px -3px 6px #fff,0 0 0 2px rgba(108,53,222,.2); }
.neu-scope .se-meta-label { font-size:.7rem; color:#8892b0; margin-bottom:2px; display:block; }
.neu-scope .se-meta-group { display:flex; flex-direction:column; }
.neu-scope .se-meta-group.wide { flex:1; min-width:160px; }
.neu-scope .se-meta-group.narrow { min-width:120px; }
.neu-scope .se-tags-wrap { padding:.35rem .9rem; background:#c8d0e0; flex-shrink:0; }
.neu-scope .se-tag { display:inline-block; background:#d4dae5; color:#6c35de; border:none; border-radius:12px; padding:2px 10px; font-size:.71rem; margin:0 3px 3px 0; box-shadow:2px 2px 4px #a3b1c6,-2px -2px 4px #fff; }
.neu-scope .se-tags-input { background:transparent; border:none; border-bottom:1px dashed #a3b1c6; color:#2d3561; font-size:.8rem; padding:2px 4px; outline:none; width:110px; }
.neu-scope .se-manuscript-wrap { flex:1; display:flex; flex-direction:column; padding:.65rem .8rem; min-height:0; }
.neu-scope .se-manuscript { flex:1; resize:none; width:100%; box-sizing:border-box; background:#d4dae5; color:#2d3561; border:none; border-radius:10px; padding:1rem 1.1rem; font-size:.93rem; line-height:1.75; font-family:Tinos,Georgia,serif; min-height:260px; box-shadow:inset 4px 4px 9px #a3b1c6,inset -4px -4px 9px #fff; transition:box-shadow .2s; }
.neu-scope .se-manuscript:focus { outline:none; box-shadow:inset 5px 5px 11px #a3b1c6,inset -5px -5px 11px #fff,0 0 0 2px rgba(108,53,222,.15); }
.neu-scope .se-wc-bar { display:flex; justify-content:space-between; align-items:center; padding:.3rem .1rem; font-size:.74rem; color:#8892b0; flex-shrink:0; }
.neu-scope .se-scripture-form, .neu-scope .se-illus-search { display:flex; gap:.4rem; margin-bottom:.6rem; }
.neu-scope .se-scripture-form input, .neu-scope .se-illus-search input { flex:1; background:#d4dae5; color:#2d3561; border:none; border-radius:6px; padding:.32rem .55rem; font-size:.82rem; box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-scripture-form select { background:#d4dae5; color:#2d3561; border:none; border-radius:6px; padding:.32rem .4rem; font-size:.82rem; cursor:pointer; box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-scripture-form input:focus, .neu-scope .se-illus-search input:focus { outline:none; box-shadow:inset 3px 3px 6px #a3b1c6,inset -3px -3px 6px #fff; }
.neu-scope .se-scripture-form button, .neu-scope .se-illus-search button { background:#e0e5ec; color:#6c35de; border:none; border-radius:6px; padding:.32rem .7rem; font-size:.8rem; cursor:pointer; font-weight:700; box-shadow:3px 3px 6px #a3b1c6,-3px -3px 6px #fff; }
.neu-scope .se-scripture-result { background:#e0e5ec; border:none; border-radius:8px; padding:.7rem; margin-bottom:.5rem; font-size:.82rem; color:#4a5280; line-height:1.6; box-shadow:3px 3px 7px #a3b1c6,-3px -3px 7px #fff; }
.neu-scope .se-scripture-ref { font-weight:700; color:#6c35de; margin-bottom:.3rem; font-size:.82rem; }
.neu-scope .se-illus-card { background:#e0e5ec; border:none; border-radius:8px; padding:.6rem .7rem; margin-bottom:.5rem; box-shadow:3px 3px 7px #a3b1c6,-3px -3px 7px #fff; }
.neu-scope .se-illus-card-title { font-size:.82rem; font-weight:700; color:#6c35de; margin-bottom:.25rem; }
.neu-scope .se-illus-card-text { font-size:.78rem; color:#4a5280; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.neu-scope .se-illus-card-meta { font-size:.7rem; color:#8892b0; margin-top:.3rem; }
.neu-scope .se-illus-add-form input, .neu-scope .se-illus-add-form textarea { width:100%; box-sizing:border-box; background:#d4dae5; color:#2d3561; border:none; border-radius:6px; padding:.32rem .55rem; font-size:.82rem; margin-bottom:5px; box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-illus-add-form textarea { resize:vertical; min-height:60px; }
.neu-scope .se-illus-add-form button { width:100%; background:#e0e5ec; color:#6c35de; border:none; border-radius:6px; padding:.38rem; font-size:.82rem; font-weight:700; cursor:pointer; box-shadow:3px 3px 6px #a3b1c6,-3px -3px 6px #fff; }
.neu-scope .se-toolbar-bottom { display:flex; align-items:center; gap:.45rem; padding:.35rem 1rem; flex-shrink:0; background:#c8d0e0; box-shadow:0 -2px 8px #a3b1c6; border-top:none; flex-wrap:wrap; }
.neu-scope .se-tbar-btn { background:#e0e5ec; color:#4a5280; border:none; border-radius:6px; padding:.28rem .7rem; font-size:.78rem; cursor:pointer; box-shadow:3px 3px 6px #a3b1c6,-3px -3px 6px #fff; transition:box-shadow .15s; }
.neu-scope .se-tbar-btn:hover { box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; }
.neu-scope .se-tbar-btn.active { box-shadow:inset 2px 2px 5px #a3b1c6,inset -2px -2px 5px #fff; color:#6c35de; }
.neu-scope .se-tbar-spacer { flex:1; }
.neu-scope .se-timer { font-size:1.8rem; font-weight:700; font-family:monospace; color:#6c35de; text-align:center; padding:.5rem; letter-spacing:2px; }
.neu-scope .se-timer-btns { display:flex; gap:.4rem; justify-content:center; }
.neu-scope .se-timer-btns button { background:#e0e5ec; border:none; border-radius:6px; color:#4a5280; padding:.2rem .75rem; font-size:.78rem; cursor:pointer; box-shadow:2px 2px 5px #a3b1c6,-2px -2px 5px #fff; }
.neu-scope .se-timer-btns button:hover { box-shadow:inset 1px 1px 3px #a3b1c6,inset -1px -1px 3px #fff; }
.neu-scope .se-editor-wrap.se-focus .se-left-panel, .neu-scope .se-editor-wrap.se-focus .se-right-panel { display:none; }
.neu-scope .se-editor-wrap.se-focus .se-center-panel { max-width:820px; margin:0 auto; }
.neu-scope .se-preach-overlay { display:none; position:fixed; inset:0; z-index:9999; background:#1a1a2e; color:#fff; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem; }
.neu-scope .se-preach-overlay.active { display:flex; }
.neu-scope .se-preach-point { font-size:clamp(1.6rem,4vw,2.8rem); font-weight:700; margin-bottom:.85rem; color:#bb86fc; }
.neu-scope .se-preach-scripture { font-size:clamp(1rem,2.5vw,1.45rem); color:rgba(255,255,255,.75); margin-bottom:.5rem; }
.neu-scope .se-preach-nav { position:fixed; bottom:2rem; display:flex; gap:1rem; }
.neu-scope .se-preach-nav button { background:rgba(108,53,222,.35); border:1px solid rgba(108,53,222,.5); color:#fff; border-radius:8px; padding:.5rem 1.5rem; font-size:1rem; cursor:pointer; }
.neu-scope .se-preach-close { position:fixed; top:1.5rem; right:1.5rem; background:rgba(192,57,43,.25); border:1px solid rgba(192,57,43,.45); color:#fff; border-radius:8px; padding:.4rem 1rem; font-size:.85rem; cursor:pointer; }
.neu-scope .se-preach-timer { position:fixed; top:1.5rem; left:50%; transform:translateX(-50%); font-size:1.35rem; font-family:monospace; color:rgba(255,255,255,.5); }
@media(max-width:900px){.neu-scope .se-left-panel,.neu-scope .se-right-panel{display:none;}.neu-scope .se-panels.show-left .se-left-panel,.neu-scope .se-panels.show-right .se-right-panel{display:flex;width:260px;}}
