/* FMNC editorial theme
   Shared after-page layer for IdeaBox, Kidilonam and the admin surfaces. */
:root {
  --fmnc-bg: #f7f8f3;
  --fmnc-bg-2: #eef3e8;
  --fmnc-ink: #14251f;
  --fmnc-dim: #66736d;
  --fmnc-faint: #8e9a93;
  --fmnc-green: #2f9d63;
  --fmnc-green-dark: #23744a;
  --fmnc-green-soft: #eaf4e9;
  --fmnc-orange: #f2a31b;
  --fmnc-orange-soft: #fff4dc;
  --fmnc-blue: #378de2;
  --fmnc-purple: #9673ca;
  --fmnc-red: #bf5e5e;
  --fmnc-line: rgba(20, 37, 31, .11);
  --fmnc-surface: rgba(255, 255, 255, .86);
  --fmnc-surface-strong: rgba(255, 255, 255, .96);
  --fmnc-shadow: 0 14px 34px rgba(38, 75, 48, .08), inset 0 1px 0 rgba(255,255,255,.95);
}

html { background: var(--fmnc-bg); }

body {
  color: var(--fmnc-ink) !important;
  background-color: var(--fmnc-bg) !important;
  background-image:
    radial-gradient(circle at 8% 12%, rgba(242,163,27,.09), transparent 24%),
    radial-gradient(circle at 92% 8%, rgba(47,157,99,.10), transparent 25%),
    linear-gradient(180deg, #fbfcf8 0%, var(--fmnc-bg) 58%, #f1f5ed 100%) !important;
  text-shadow: none !important;
}

body::before,
body::after { opacity: .32 !important; }

.aurora,
.aurora-bg,
.bg-canvas { display: none !important; }

button, input, textarea, select { font-family: inherit; }

input, textarea, select {
  color: var(--fmnc-ink) !important;
  background: rgba(255,255,255,.92) !important;
  border-color: var(--fmnc-line) !important;
  box-shadow: none;
}

input::placeholder,
textarea::placeholder { color: #a0aaa4 !important; }

input:focus, textarea:focus, select:focus {
  border-color: rgba(47,157,99,.72) !important;
  box-shadow: 0 0 0 3px rgba(47,157,99,.13) !important;
  outline: none;
}

a { color: var(--fmnc-green-dark); }

/* Shared navigation */
.topnav,
.top-nav,
body > header {
  color: var(--fmnc-ink) !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(20,37,31,.08) !important;
  box-shadow: 0 12px 28px rgba(38,75,48,.10), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
}

.topnav,
.top-nav {
  width: min(1120px, calc(100% - 28px));
  margin: 10px auto 0;
  border-radius: 20px;
}

body > header {
  width: min(1180px, calc(100% - 28px));
  margin: 10px auto 0;
  border-radius: 20px;
}

.nav-brand,
.nav-brand-title,
.nav-brand .title,
.logo-text,
.brand h1,
.top-nav-left h1,
.top-nav-left a,
.nav-brand span { color: var(--fmnc-ink) !important; }

.nav-brand-sub,
.nav-brand .sub,
.nav-back,
.back-link,
.brand p,
.nav-user-name,
.user-badge,
.who,
.who b { color: var(--fmnc-dim) !important; }

.nav-brand img { filter: none !important; }
.nav-brand-title { background: none !important; -webkit-text-fill-color: var(--fmnc-green-dark) !important; color: var(--fmnc-green-dark) !important; }

.nav-back:hover,
.back-link:hover,
.topnav a:hover { color: var(--fmnc-green-dark) !important; }

/* Shared surfaces */
.card,
.glass,
.panel,
.stat,
.stat-card,
.dept-section,
.upload-card,
.countdown-card,
.maintenance-card,
.reel-card,
.ro-card,
.confirm-card,
.modal-card,
.member-panel,
.left-panel,
.right-panel,
.chat-panel,
.login-prompt-card,
.dropdown,
.search-input-wrapper,
.composer-preview,
.appearance-panel,
.photo-modal-card,
.reel-fullscreen-card,
.timer-card {
  color: var(--fmnc-ink) !important;
  background: var(--fmnc-surface) !important;
  border-color: var(--fmnc-line) !important;
  box-shadow: var(--fmnc-shadow) !important;
  text-shadow: none !important;
  backdrop-filter: blur(12px) saturate(112%) !important;
}

.card *,
.glass *,
.panel *,
.stat *,
.stat-card *,
.dept-section *,
.upload-card *,
.countdown-card *,
.maintenance-card *,
.reel-card *,
.ro-card *,
.confirm-card *,
.modal-card *,
.member-panel *,
.left-panel *,
.right-panel *,
.chat-panel *,
.appearance-panel * { text-shadow: none !important; }

h1, h2, h3, h4, h5, h6,
.card-title, .theme-title, .iotw__title, .upload-title,
.modal-title, .section-title, .section-header h1, .section-header h2,
.hero-kidilonam, .hero-subtitle, .hero-desc { color: var(--fmnc-ink) !important; }

p, .card-desc, .theme-desc, .iotw__desc, .section-sub,
.stat-label, .stat-sub, .sub, .hint, .muted, .meta,
.student-meta, .hero-desc, .brand p { color: var(--fmnc-dim) !important; }

/* Buttons and action controls */
.btn--primary,
.btn--gold,
.btn--hero-upload,
.post-btn,
.btn-signin,
.btn-primary,
.btn-save,
.send-btn:not(:disabled),
.hero-actions .btn:not(.btn--ghost) {
  color: #fff !important;
  background: var(--fmnc-green) !important;
  border-color: transparent !important;
  box-shadow: 0 8px 18px rgba(47,157,99,.20) !important;
}

.btn--primary:hover,
.btn--gold:hover,
.btn--hero-upload:hover,
.post-btn:hover,
.btn-signin:hover,
.btn-primary:hover,
.btn-save:hover,
.send-btn:not(:disabled):hover { background: var(--fmnc-green-dark) !important; }

.btn--ghost,
.btn-secondary,
.btn-signout,
.nav-back,
.back-link,
.back-btn,
.view-members-btn,
.team-retry,
.icon-btn,
.modal-close,
.photo-modal-close,
.close-btn,
.fullscreen-btn,
.media-expand-btn,
.pg,
.filter-btn,
.sort-pill,
.feed-tab,
.ro-tab,
.media-pill,
.upload-mode-btn,
.search-clear,
.like-btn {
  color: var(--fmnc-ink) !important;
  background: rgba(255,255,255,.78) !important;
  border-color: var(--fmnc-line) !important;
}

.btn--ghost:hover,
.btn-secondary:hover,
.btn-signout:hover,
.nav-back:hover,
.back-link:hover,
.back-btn:hover,
.view-members-btn:hover,
.team-retry:hover,
.icon-btn:hover,
.modal-close:hover,
.filter-btn:hover,
.sort-pill:hover,
.feed-tab:hover,
.ro-tab:hover,
.media-pill:hover,
.upload-mode-btn:hover,
.pg:hover,
.like-btn:hover { background: var(--fmnc-green-soft) !important; color: var(--fmnc-green-dark) !important; }

.sort-pill.active,
.feed-tab.active,
.ro-tab.active,
.media-pill.active,
.upload-mode-btn.active,
.ib-tab.active,
.onam-tab.active,
.filter-btn.active {
  color: var(--fmnc-green-dark) !important;
  background: var(--fmnc-green-soft) !important;
  border-color: rgba(47,157,99,.28) !important;
  box-shadow: 0 3px 10px rgba(47,157,99,.09) !important;
}

button:disabled { opacity: .55; }

/* IdeaBox feed and supporting pages */
main,
.container,
.page-wrap,
.feed,
.controls,
.feed-toolbar,
.section-header { color: var(--fmnc-ink) !important; }

/* IdeaBox's challenge and post cards are intentionally expressive.  They keep
   the post-selected palette and typography instead of inheriting the shared
   editorial surface used by the rest of the site. */
.theme-banner {
  background: #eef5e8 !important;
  border-color: rgba(47,157,99,.17) !important;
  box-shadow: 0 18px 42px rgba(38,75,48,.12), inset 0 1px 0 rgba(255,255,255,.95) !important;
  color: var(--fmnc-ink) !important;
  backdrop-filter: blur(16px) saturate(112%) !important;
}
.theme-banner::before { opacity: .16 !important; }
.theme-banner::after { opacity: .2 !important; }
.theme-bg { filter: saturate(.62) brightness(1.08) !important; opacity: .5 !important; }
.theme-bg-overlay { background: rgba(246,249,241,.78) !important; }
.theme-title { color: var(--fmnc-ink) !important; text-shadow: none !important; }
.theme-desc { color: var(--fmnc-dim) !important; }
.theme-host-pill { color: var(--fmnc-green-dark) !important; background: rgba(255,255,255,.66) !important; border-color: rgba(47,157,99,.2) !important; }
.theme-host-pill svg { color: var(--fmnc-green) !important; }
.theme-badge { color: var(--fmnc-green-dark) !important; background: var(--fmnc-orange-soft) !important; border-color: rgba(242,163,27,.32) !important; box-shadow: none !important; }
.theme-badge svg { color: var(--fmnc-orange) !important; filter: none !important; }
.theme-status-pill { color: var(--fmnc-green-dark) !important; background: var(--fmnc-green-soft) !important; border-color: rgba(47,157,99,.25) !important; }
.theme-status-dot { background: var(--fmnc-green) !important; box-shadow: none !important; }
.theme-metrics-bar { background: rgba(255,255,255,.65) !important; border-color: rgba(20,37,31,.1) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important; }
.theme-metric-item { color: var(--fmnc-ink) !important; }
.theme-metric-item b { color: var(--fmnc-green-dark) !important; }
.theme-metric-divider { background: rgba(20,37,31,.16) !important; }
.theme-icon-wrap { background: linear-gradient(135deg, rgba(242,163,27,.18), rgba(150,115,202,.18)) !important; border-color: rgba(242,163,27,.42) !important; box-shadow: 0 10px 22px rgba(47,85,55,.12), inset 0 1px 0 rgba(255,255,255,.9) !important; }
.theme-icon-wrap svg { color: var(--fmnc-orange) !important; filter: none !important; }
.btn-theme-secondary { color: var(--fmnc-ink) !important; background: rgba(255,255,255,.72) !important; border-color: rgba(20,37,31,.16) !important; }

/* IdeaBox notices use light FMNC surfaces, so every banner state gets a
   deliberate dark text treatment instead of inheriting the old night-theme
   whites. Inline legacy colors are overridden here intentionally. */
.ib-closed-banner {
  color: var(--fmnc-ink) !important;
  background: linear-gradient(135deg, #fff7e3, #fff1dc) !important;
  border-color: rgba(242,163,27,.34) !important;
  box-shadow: 0 10px 24px rgba(129,88,24,.10), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.ib-closed-banner > div:first-child {
  background: var(--fmnc-orange-soft) !important;
  border-color: rgba(242,163,27,.34) !important;
  color: #9a5b0a !important;
}
.ib-closed-banner strong { color: #8a5208 !important; }
.ib-closed-banner span { color: var(--fmnc-dim) !important; }

.ib-announcement-banner {
  color: var(--fmnc-ink) !important;
  box-shadow: 0 10px 24px rgba(38,75,48,.08), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.ib-announcement-banner.type-warning {
  background: linear-gradient(135deg, #fff7e3, #fff1df) !important;
  border-color: rgba(242,163,27,.34) !important;
}
.ib-announcement-banner.type-info {
  background: linear-gradient(135deg, #eef6ff, #f1efff) !important;
  border-color: rgba(55,141,226,.28) !important;
}
.ib-announcement-banner.type-success {
  background: linear-gradient(135deg, #edf9f1, #eaf6ee) !important;
  border-color: rgba(47,157,99,.28) !important;
}
.ib-announcement-banner.type-alert {
  background: linear-gradient(135deg, #fff1ef, #fff0f5) !important;
  border-color: rgba(191,94,94,.3) !important;
}
.ib-announcement-banner .announcement-title,
.ib-announcement-banner.type-warning .announcement-title,
.ib-announcement-banner.type-info .announcement-title,
.ib-announcement-banner.type-success .announcement-title,
.ib-announcement-banner.type-alert .announcement-title {
  color: var(--fmnc-ink) !important;
  text-shadow: none !important;
}
.ib-announcement-banner .announcement-msg { color: var(--fmnc-dim) !important; }
.ib-announcement-banner .announcement-dismiss {
  color: var(--fmnc-faint) !important;
  background: rgba(20,37,31,.06) !important;
  border-color: rgba(20,37,31,.12) !important;
}
.ib-announcement-banner .announcement-dismiss:hover { color: var(--fmnc-ink) !important; background: rgba(20,37,31,.1) !important; }
.theme-banner .btn-theme-post.closed {
  color: #8a5208 !important;
  background: var(--fmnc-orange-soft) !important;
  border-color: rgba(242,163,27,.34) !important;
}
.theme-banner .btn-theme-post.closed:hover { color: #704206 !important; background: #ffecc5 !important; }

.iotw {
  background: linear-gradient(150deg, rgba(30,22,8,.92), rgba(10,14,32,.96)) !important;
  border-color: rgba(251,191,36,.42) !important;
  box-shadow: 0 24px 70px -14px rgba(0,0,0,.62), 0 0 34px -6px rgba(245,158,11,.28), inset 0 1px 0 rgba(255,255,255,.14) !important;
  color: var(--ink) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
}
.iotw::before { opacity: 1 !important; }
.iotw::after { opacity: .85 !important; }
.iotw__title,
.iotw__leader-name,
.iotw__stat b { color: var(--ink) !important; }
.iotw__desc,
.iotw__stat { color: var(--ink-dim) !important; }
.iotw__leader-role { color: var(--ink-faint) !important; }
.iotw__leader-dept,
.iotw__kicker { color: var(--orange-hi) !important; }

.idea-card {
  color: var(--ink) !important;
  background: linear-gradient(145deg, rgba(20,28,58,.82), rgba(10,16,36,.92)) !important;
  border-color: rgba(255,255,255,.13) !important;
  box-shadow: 0 12px 34px -10px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter: blur(16px) saturate(140%) !important;
}
.idea-card.card-style-clean { --card-accent:#67e8f9; --card-accent-2:#fbbf24; background:linear-gradient(145deg,rgba(18,26,54,.85),rgba(8,14,34,.94)) !important; }
.idea-card.card-style-sunrise { --card-accent:#fb7185; --card-accent-2:#f59e0b; background:linear-gradient(145deg,rgba(48,20,36,.85),rgba(20,10,28,.94)) !important; }
.idea-card.card-style-ocean { --card-accent:#38bdf8; --card-accent-2:#818cf8; background:linear-gradient(145deg,rgba(14,35,64,.85),rgba(8,16,38,.94)) !important; }
.idea-card.card-style-garden { --card-accent:#34d399; --card-accent-2:#a3e635; background:linear-gradient(145deg,rgba(16,44,32,.85),rgba(8,22,18,.94)) !important; }
.idea-card.card-style-aurora { --card-accent:#c084fc; --card-accent-2:#22d3ee; background:linear-gradient(145deg,rgba(38,18,60,.88),rgba(12,20,44,.94)) !important; }
.idea-card.card-style-cyberpunk { --card-accent:#f43f5e; --card-accent-2:#facc15; background:linear-gradient(145deg,rgba(46,14,32,.9),rgba(22,12,34,.94)) !important; }
.idea-card.card-style-midnight { --card-accent:#818cf8; --card-accent-2:#c084fc; background:linear-gradient(145deg,rgba(18,22,52,.9),rgba(8,10,24,.96)) !important; }
.idea-card.card-style-sunset { --card-accent:#f97316; --card-accent-2:#ec4899; background:linear-gradient(145deg,rgba(52,22,24,.88),rgba(24,10,28,.94)) !important; }
.idea-card::before,
.idea-card::after { opacity: 1 !important; }
.idea-card .card-title { color: #fff !important; text-shadow: 0 2px 8px rgba(0,0,0,.3) !important; }
.idea-card .card-desc { color: var(--ink-dim) !important; }
.idea-card .poster-name { color: var(--ink) !important; }
.idea-card .card-time,
.idea-card .spark-count { color: var(--ink-faint) !important; }
.idea-card .poster { border-top-color: rgba(255,255,255,.08) !important; }
.idea-card .card-footer { color: var(--ink) !important; border-top-color: rgba(255,255,255,.07) !important; }
.idea-card .dept-pill { color: #d8b4fe !important; background: rgba(139,92,246,.18) !important; border-color: rgba(139,92,246,.35) !important; }
.idea-card .spark-btn { color: var(--ink-dim) !important; background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.14) !important; }
.idea-card .spark-btn:hover { color: #fff !important; border-color: rgba(251,191,36,.45) !important; background: rgba(251,191,36,.1) !important; }
.idea-card .spark-btn[aria-pressed="true"] { color: #fff !important; border-color: rgba(251,191,36,.7) !important; background: linear-gradient(135deg,rgba(245,158,11,.32),rgba(236,72,153,.22)) !important; }
.idea-card .spark-btn[aria-pressed="true"] .spark-count { color: #fef08a !important; }
.idea-card .btn-reach-out { color: var(--ink) !important; background: rgba(255,255,255,.06) !important; border-color: var(--glass-border) !important; }
.idea-card .btn-reach-out.done { color: var(--green) !important; background: rgba(52,211,153,.08) !important; border-color: rgba(52,211,153,.4) !important; }
.idea-card .btn-reach-out.full { color: var(--ink-faint) !important; background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.12) !important; }
.idea-card .btn-report { color: var(--ink-faint) !important; background: transparent !important; }
.idea-card .card-spark-badge { color: #fef08a !important; background: linear-gradient(135deg,rgba(251,191,36,.22),rgba(217,119,6,.28)) !important; border-color: rgba(251,191,36,.65) !important; }
.idea-card .theme-badge-kicker { color: #fef08a !important; }
.idea-card .theme-badge-name { color: #fff !important; text-shadow: 0 1px 4px rgba(0,0,0,.5) !important; }
.idea-card .idea-highlight { color: color-mix(in srgb, var(--card-accent) 90%, white) !important; background: color-mix(in srgb, var(--card-accent) 15%, rgba(0,0,0,.35)) !important; }
.idea-card .read-more-btn { color: color-mix(in srgb, var(--card-accent) 85%, white) !important; background: transparent !important; }
.idea-card .read-more-btn:hover { color: #fff !important; }

.bottom-nav {
  color: var(--fmnc-ink) !important;
  background: rgba(255,255,255,.95) !important;
  border-color: var(--fmnc-line) !important;
  box-shadow: 0 -10px 28px rgba(38,75,48,.11) !important;
  backdrop-filter: blur(16px) !important;
}
.bottom-nav .nav-tab,
.bottom-nav a,
.bottom-nav button { color: var(--fmnc-dim) !important; }
.bottom-nav .nav-tab.active,
.bottom-nav a.active,
.bottom-nav button.active { color: var(--fmnc-green-dark) !important; }
.bottom-nav .nav-tab.active::after { background: var(--fmnc-green) !important; }

.login-prompt-overlay,
.modal-overlay,
.confirm-overlay,
.appearance-modal,
.photo-modal-overlay,
.reel-fullscreen-modal { background: rgba(20,37,31,.25) !important; backdrop-filter: blur(5px) !important; }
.login-prompt-card,
.confirm-card,
.appearance-panel { background: var(--fmnc-surface-strong) !important; }

.empty-state,
.loading-state,
.team-load-state { color: var(--fmnc-dim) !important; }

/* IdeaBox authentication */
body:has(.bulb-wrap) { overflow-x: hidden; }
.bulb-wrap { background: var(--fmnc-orange-soft) !important; border-color: rgba(242,163,27,.25) !important; box-shadow: 0 8px 22px rgba(242,163,27,.12) !important; animation: none !important; }
.bulb-wrap svg { color: var(--fmnc-orange) !important; filter: none !important; }
.brand h1 { background: none !important; -webkit-text-fill-color: var(--fmnc-green-dark) !important; }
.field label { color: var(--fmnc-dim) !important; }
.field-wrap svg { color: var(--fmnc-faint) !important; }
.btn { transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.card .btn { background: var(--fmnc-green) !important; }
.msg.err { background: #fff0ee !important; border-color: rgba(191,94,94,.25) !important; color: #984c4c !important; }
.msg.ok { background: #edf7ed !important; border-color: rgba(47,157,99,.25) !important; color: var(--fmnc-green-dark) !important; }
.hint b, .note a { color: var(--fmnc-green-dark) !important; }

.toast {
  color: var(--fmnc-ink) !important;
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(47,157,99,.24) !important;
  box-shadow: 0 12px 28px rgba(38,75,48,.16) !important;
}
.toast.err { color: #984c4c !important; background: #fff0ee !important; border-color: rgba(191,94,94,.28) !important; }
.toast.ok { color: var(--fmnc-green-dark) !important; background: #edf7ed !important; }
.toast-msg { color: var(--fmnc-ink) !important; background: rgba(255,255,255,.96) !important; border-color: var(--fmnc-line) !important; box-shadow: 0 12px 28px rgba(38,75,48,.16) !important; }
.toast-msg.error { color: #984c4c !important; background: #fff0ee !important; }

/* IdeaBox chat workspace */
.chat-header,
.chat-input-bar,
.member-header,
.search-box,
.team-item,
.emoji-picker,
.quick-react-popup { background: rgba(255,255,255,.80) !important; color: var(--fmnc-ink) !important; border-color: var(--fmnc-line) !important; }
.chat-header h2,
.member-header h3,
.team-name,
.msg-header,
.member-name { color: var(--fmnc-ink) !important; }
.msg-group:not(.mine) .bubble { background: #fff !important; color: var(--fmnc-ink) !important; border-color: var(--fmnc-line) !important; }
.msg-group.mine .bubble { background: var(--fmnc-green) !important; color: #fff !important; border-color: transparent !important; }
.msg-group.mine .bubble *, .msg-group.mine .bubble a { color: #fff !important; }
.chat-textarea { background: #fff !important; color: var(--fmnc-ink) !important; border-color: var(--fmnc-line) !important; }
.left-panel .team-item.active { background: var(--fmnc-green-soft) !important; border-color: rgba(47,157,99,.25) !important; }

/* My Ideas and Reach-outs */
.stats-grid,
.ro-list,
.ideas-list { color: var(--fmnc-ink) !important; }
.stat-value { color: var(--fmnc-green-dark) !important; text-shadow: none !important; }
.ro-card .ro-title,
.ro-card .ro-message,
.ro-card .ro-meta { color: var(--fmnc-ink) !important; }
.ro-card .ro-message,
.ro-card .ro-meta { color: var(--fmnc-dim) !important; }
.ro-card .ro-from,
.ro-card .ro-dept,
.ro-card .ro-idea,
.ro-card .ro-time,
.ro-card .status-badge { color: var(--fmnc-ink) !important; }
.ro-card .ro-dept,
.ro-card .ro-time { color: var(--fmnc-dim) !important; }

/* Kidilonam public page */
header .nav-brand img { object-fit: contain; }
.hero { color: var(--fmnc-ink) !important; }
.hero-festive-badge,
.status-pill.open { color: var(--fmnc-green-dark) !important; background: var(--fmnc-green-soft) !important; border-color: rgba(47,157,99,.22) !important; }
.hero-kidilonam {
  background: none !important;
  -webkit-text-fill-color: var(--fmnc-ink) !important;
  color: var(--fmnc-ink) !important;
  text-shadow: none !important;
}
.hero-kidilonam .year-highlight { color: var(--fmnc-green-dark) !important; -webkit-text-fill-color: var(--fmnc-green-dark) !important; }
.hero-desc { max-width: 640px; }
.contest-banner { background: #f1f7ed !important; border-color: rgba(47,157,99,.20) !important; }
.countdown-card,
.maintenance-card,
.upload-card,
.spotlight-section,
.reel-card { border-radius: 18px !important; }
.timer-card { background: #f5f8f2 !important; border-color: var(--fmnc-line) !important; }
.timer-card .timer-value { color: var(--fmnc-green-dark) !important; }
.kasavu-border { border-color: rgba(47,157,99,.25) !important; }
.kasavu-border::before { background: linear-gradient(90deg, var(--fmnc-green), var(--fmnc-orange), var(--fmnc-green)) !important; opacity: .8 !important; }
.spotlight-header h2,
.feed-title,
.reel-card h3,
.card-header,
.student-name,
.card-footer { color: var(--fmnc-ink) !important; }
.reel-card .student-meta,
.reel-card .caption,
.reel-card .sub-meta { color: var(--fmnc-dim) !important; }
.reel-card .like-btn.liked { color: var(--fmnc-red) !important; background: #fff0ee !important; border-color: rgba(191,94,94,.22) !important; }
.pill-dept, .rank-badge, .photo-count-badge { color: var(--fmnc-green-dark) !important; background: var(--fmnc-green-soft) !important; border-color: rgba(47,157,99,.20) !important; }
.empty-feed { color: var(--fmnc-dim) !important; }
.photo-modal-card,
.reel-fullscreen-card { background: #101b17 !important; color: #fff !important; }
.photo-modal-card *, .reel-fullscreen-card * { color: inherit; }

/* Admin dashboard */
body > header .brand h1 { color: var(--fmnc-ink) !important; }
body > header .bulb { color: var(--fmnc-orange) !important; }
.top-actions .btn--ghost { background: rgba(255,255,255,.82) !important; }
.role-badge { color: var(--fmnc-green-dark) !important; background: var(--fmnc-green-soft) !important; border-color: rgba(47,157,99,.22) !important; }
.stats .stat .v,
.ib-stat .v,
.onam-stat .v { color: var(--fmnc-ink) !important; -webkit-text-fill-color: var(--fmnc-ink) !important; background: none !important; text-shadow: none !important; }
.stats .stat.s2 .v,
.stats .stat.s3 .v,
.stats .stat.s4 .v { color: var(--fmnc-green-dark) !important; -webkit-text-fill-color: var(--fmnc-green-dark) !important; }
.stat .k, .stat .sub, .ib-stat .k, .onam-stat .k { color: var(--fmnc-dim) !important; }
.stat .k svg, .dept-section-header svg { color: var(--fmnc-green) !important; stroke: currentColor; }
.dept-card,
.sem-chip,
.toolbar,
.search,
.filter,
.table-wrap,
.pager,
.ib-tabs,
.ib-tab,
.onam-tabs,
.onam-tab,
.ib-ideas-row,
.form-grid,
.onam-stat,
.ib-stat { color: var(--fmnc-ink) !important; }
.dept-card, .sem-chip { background: rgba(255,255,255,.72) !important; border-color: var(--fmnc-line) !important; }
.dept-card:hover, .sem-chip:hover { background: var(--fmnc-green-soft) !important; }
.toolbar, .ib-tabs, .onam-tabs { background: transparent !important; }
.search, .filter { background: rgba(255,255,255,.88) !important; border-color: var(--fmnc-line) !important; }
table { color: var(--fmnc-ink) !important; }
thead th { color: var(--fmnc-dim) !important; border-bottom-color: var(--fmnc-line) !important; }
tbody td { color: var(--fmnc-ink) !important; border-bottom-color: rgba(20,37,31,.07) !important; }
tbody tr:hover { background: var(--fmnc-green-soft) !important; }
.ib-section, .onam-section { background: transparent !important; }
.ib-section h2, .onam-section h2 { color: var(--fmnc-ink) !important; }
.ib-tab, .onam-tab { color: var(--fmnc-dim) !important; }
.ib-panel.open, .onam-panel.open { color: var(--fmnc-ink) !important; }
.ib-toggle-slider { background: #d7e3d6 !important; }
.ib-toggle input:checked + .ib-toggle-slider { background: var(--fmnc-green) !important; }
.modal-header { border-bottom-color: var(--fmnc-line) !important; }
.modal-body label, .modal-body .field-label { color: var(--fmnc-dim) !important; }
.spin { border-color: rgba(47,157,99,.22) !important; border-top-color: var(--fmnc-green) !important; }

/* Admin authentication */
.remember, .login-help, .linkbtn { color: var(--fmnc-dim) !important; }
.login-card .btn, body:has(.login-card) .btn { background: var(--fmnc-green) !important; }

@media (max-width: 760px) {
  .topnav, .top-nav, body > header { width: calc(100% - 20px); margin-top: 8px; border-radius: 16px; }
  body > header { padding-left: 14px !important; padding-right: 14px !important; }
  .nav-brand-sub { display: none; }
  .top-actions { gap: 5px !important; }
  .top-actions .who { display: none; }
  .hero { padding-left: 16px !important; padding-right: 16px !important; }
  .hero-actions { flex-wrap: wrap; }
  .hero-actions .btn { flex: 1 1 180px; }
  .toolbar { flex-wrap: wrap; }
  .search { flex: 1 1 100%; }
  .stats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .dept-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .table-wrap { overflow-x: auto; }
  .modal-card, .card { max-width: calc(100vw - 28px); }
}

@media (max-width: 430px) {
  .stats { gap: 8px !important; }
  .dept-grid { grid-template-columns: 1fr !important; }
  .topnav, .top-nav { width: calc(100% - 16px); }
  .topnav .nav-brand-title { font-size: 13px !important; }
  .bottom-nav { padding-bottom: max(8px, env(safe-area-inset-bottom)) !important; }
}
