/* Production repair layer. Keeps the approved With love, FMB design system while fixing layout, motion and app-like mobile behavior. */
:root{
  --tap:44px;
  --surface:#fff;
  --surface-soft:rgba(255,255,255,.78);
  --danger:#8d2433;
  --success:#24643a;
}
[hidden]{display:none!important}
.skip-link{position:fixed;left:12px;top:12px;z-index:1200;padding:11px 15px;border-radius:999px;background:#fff;color:var(--violet-900);box-shadow:var(--shadow);transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:none}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,.pill,.nav-btn,.member-tab,.auth-tab{min-height:var(--tap)}
button[disabled],.is-loading{cursor:wait;opacity:.62}

/* Seamless right-moving Work with FMB banner */
.support-glass{display:block!important;padding:0!important;overflow:hidden!important;min-height:40px}
.promo-marquee{position:relative;display:flex;width:max-content;min-width:200%;will-change:transform;animation:fmb-marquee-right 24s linear infinite}
.promo-group{display:flex;align-items:center;gap:10px;min-width:50%;padding:6px 10px;white-space:nowrap}
.promo-group strong{font-size:12px;letter-spacing:.02em}
@keyframes fmb-marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.support-glass:hover .promo-marquee,.support-glass:focus-within .promo-marquee{animation-play-state:paused}

/* Landing hero */
.hero{padding:132px 0 72px!important;min-height:0!important;background:radial-gradient(circle at 50% 0,rgba(187,107,222,.28),transparent 55%),linear-gradient(180deg,#fff,#f7eafd)!important}
.hero-banner{width:min(1440px,100%);margin:0 auto!important;border-radius:0!important;border:0!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
.hero-banner img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
.hero-card{max-width:860px!important;margin:-34px auto 0!important;padding:38px 42px 34px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 24px 70px rgba(52,11,75,.14)!important}
.hero-card .hero-title{font-size:clamp(44px,6vw,76px)!important}
.hero-audience{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px auto 0}
.hero-audience span{padding:8px 12px;border-radius:999px;background:var(--violet-100);color:var(--violet-900);font-size:12px;font-weight:800}

/* Cleaner sections and cards */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.card,.glass-card,.mini-card,.support-card{content-visibility:auto;contain-intrinsic-size:1px 330px}
.card-media img{padding:14px;object-fit:contain!important}
.card strong{color:var(--violet-800)}
.section[id]{scroll-margin-top:138px}
.inline-status{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--violet-100);color:var(--violet-900);font-size:13px}
.inline-status.error{background:#fff0f2;color:var(--danger)}
.inline-status.success{background:#eef9f1;color:var(--success)}
.empty{padding:20px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}

/* Community feed */
.community-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.community-post{padding:24px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.72);box-shadow:0 14px 42px rgba(45,23,56,.07)}
.community-post p{white-space:pre-wrap;color:var(--ink)}
.community-post footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:12px}

/* Authentication */
.password-wrap{position:relative}
.password-wrap input{padding-right:54px!important}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-width:40px;min-height:38px;border:0;border-radius:12px;background:var(--violet-100);color:var(--violet-900);font-size:12px;font-weight:800}
.password-rules{display:grid;gap:5px;margin-top:8px;color:var(--muted);font-size:12px}
.password-rules span::before{content:'○';margin-right:7px}
.password-rules span.valid{color:var(--success)}
.password-rules span.valid::before{content:'✓'}
.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* Member profile and dashboard */
.profile-summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px}
.avatar{width:92px;height:92px;border-radius:28px;object-fit:cover;background:linear-gradient(145deg,var(--violet-100),#fff);border:1px solid var(--line)}
.avatar.placeholder{display:grid;place-items:center;color:var(--violet-800);font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:600}
.profile-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.profile-meta span{padding:7px 10px;border-radius:999px;background:var(--violet-100);color:var(--violet-900);font-size:12px}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.stat-card{padding:20px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid var(--line)}
.stat-card strong{display:block;font-family:'Cormorant Garamond',serif;font-size:36px;color:var(--violet-900)}
.saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.interest-checks{display:flex;gap:8px;flex-wrap:wrap}
.interest-checks label{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--violet-900);font-size:13px}
.file-field input[type=file]{padding:10px;background:#fff}

/* Admin */
.admin-shell{padding:145px 0 90px}
.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:24px}
.admin-head h1{font-size:clamp(48px,7vw,78px);font-weight:500;color:var(--violet-900);line-height:.95}
.admin-nav{display:flex;gap:8px;overflow:auto;padding:4px 0 14px;scrollbar-width:none}
.admin-nav::-webkit-scrollbar{display:none}
.admin-nav button{white-space:nowrap;padding:11px 15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.7);color:var(--muted);font-weight:800}
.admin-nav button.active{background:var(--violet-900);color:#fff}
.admin-panel[hidden]{display:none!important}
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.admin-kpi{padding:22px;border-radius:24px;background:rgba(255,255,255,.74);border:1px solid var(--line)}
.admin-kpi strong{display:block;font-family:'Cormorant Garamond',serif;font-size:42px;color:var(--violet-900)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.76)}
.data-table{width:100%;border-collapse:collapse;min-width:760px}
.data-table th,.data-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}
.data-table th{position:sticky;top:0;background:#fbf5fe;color:var(--violet-900);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.data-table tr:last-child td{border-bottom:0}
.table-actions{display:flex;gap:7px;flex-wrap:wrap}
.table-actions button{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--violet-900);font-size:12px;font-weight:800}
.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.admin-toolbar input,.admin-toolbar select{min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}
.admin-editor{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.admin-list{display:grid;gap:10px;max-height:650px;overflow:auto}
.admin-list button{padding:14px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink)}
.admin-list button.active{border-color:var(--violet-500);background:var(--violet-100)}

/* Helpful states */
.skeleton{position:relative;overflow:hidden;background:#efe8f3!important;color:transparent!important}
.skeleton::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:skeleton 1.2s infinite}
@keyframes skeleton{to{transform:translateX(100%)}}
.toast{position:fixed;right:18px;bottom:calc(92px + var(--safe));z-index:900;max-width:min(380px,calc(100% - 36px));padding:14px 17px;border-radius:18px;background:var(--violet-950);color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s}
.toast.show{opacity:1;transform:none}

@media(max-width:960px){
  .grid-2,.community-feed,.admin-editor{grid-template-columns:1fr}
  .admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-stats{grid-template-columns:repeat(3,minmax(120px,1fr));overflow:auto}
}
@media(max-width:800px){
  body{padding-bottom:calc(86px + var(--safe))}
  .hero{padding-top:126px!important;padding-bottom:54px!important}
  .hero-card{margin:12px 12px 0!important;padding:30px 22px!important;border-radius:28px!important}
  .hero-banner img{aspect-ratio:16/9!important}
  .section{padding:72px 0!important}
  .statement{padding:78px 22px!important}
  .card,.glass-card,.mini-card,.support-card{border-radius:24px}
  .member-shell,.admin-shell{padding-top:132px}
  .admin-head{align-items:flex-start}
  .profile-summary{grid-template-columns:1fr;text-align:center;justify-items:center}
  .profile-meta{justify-content:center}
}
@media(max-width:520px){
  :root{--radius:24px}
  .top-shell{padding:7px!important}
  .support-glass{width:calc(100% - 2px)!important}
  .promo-marquee{animation-duration:20s}
  .nav-glass{min-height:58px!important;border-radius:10px 10px 21px 21px!important}
  .nav-word{font-size:17px!important}
  .hero{padding-top:118px!important}
  .hero-banner{background:#f8effc!important}
  .hero-banner img{width:100%!important;min-height:238px!important;object-fit:cover!important;object-position:center!important}
  .hero-card .hero-title{font-size:44px!important;line-height:1!important}
  .hero-card .hero-sub{font-size:15px!important}
  .hero-actions .pill{width:100%}
  .section-title{font-size:42px!important}
  .grid-3,.support-grid{gap:14px!important}
  .card-body,.glass-card{padding:24px!important}
  .card h3,.mini-card h3{font-size:28px!important}
  .community-feed{grid-template-columns:1fr}
  .auth-layout{padding:125px 10px 45px!important}
  .auth-shell{border-radius:28px!important}
  .auth-story{display:none}
  .auth-card{padding:28px 19px!important}
  .member-header{border-radius:24px!important;padding:22px!important}
  .member-tabs,.admin-nav{margin-left:-4px;margin-right:-4px}
  .saved-grid{grid-template-columns:1fr}
  .dashboard-stats{grid-template-columns:repeat(3,136px);padding-bottom:6px}
  .admin-kpis{grid-template-columns:1fr 1fr}
  .admin-kpi{padding:18px}
  .admin-kpi strong{font-size:34px}
  .admin-toolbar>*{width:100%}
  .mobile-bar{bottom:calc(8px + var(--safe))!important}
}
@media(prefers-reduced-motion:reduce){
  .promo-marquee{animation:none!important;transform:none!important}
  .promo-group[aria-hidden=true]{display:none!important}
  .skeleton::after{animation:none}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
