@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --font-heading:'Bricolage Grotesque',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --bg:#e7ecdd;
  --bg-deep:#768d6b;
  --surface:#fbfaf4;
  --surface-2:#f2f5e9;
  --surface-3:#dde8c7;
  --ink:#20301e;
  --muted:#6d7868;
  --brand:#4e8233;
  --brand-dark:#2f622b;
  --brand-deeper:#1f4623;
  --brand-soft:#dbe7c7;
  --line:#dce4d3;
  --danger:#a73c33;
  --warning:#a86f14;
  --success:#267348;
  --shadow:0 18px 46px rgba(35,54,31,.10);
  --shadow-soft:0 10px 26px rgba(35,54,31,.07);
  --radius-xl:34px;
  --radius-lg:26px;
  --radius-md:18px;
  --sidebar:276px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:linear-gradient(180deg,#eef2e8 0%,#e5ebdb 100%);line-height:1.6;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;background:rgba(240,244,235,.34);backdrop-filter:blur(12px);opacity:0;transition:opacity .22s ease}
body.page-is-leaving::after{opacity:1}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.025em;line-height:1.08;color:var(--ink);margin:0 0 12px}
p{margin:0 0 14px}
small,.muted{color:var(--muted)}
main{min-height:70vh}

/* ---------- public header ---------- */
.site-header-wrap{padding:22px 5vw 0;background:linear-gradient(180deg,#788e6c 0,#788e6c 112px,transparent 112px)}
.site-header{max-width:1420px;margin:0 auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px 12px 16px;background:rgba(253,252,246,.96);border:1px solid rgba(255,255,255,.78);border-radius:28px;box-shadow:var(--shadow);position:relative;z-index:30}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{width:52px;height:52px;object-fit:contain;border-radius:14px;background:#fff;padding:5px;flex:0 0 52px}
.brand strong{display:block;font-family:var(--font-heading);font-size:20px;line-height:1.05}
.brand small{display:block;font-size:11px;margin-top:3px;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.site-nav a{padding:9px 13px;border-radius:999px;font-size:13px;font-weight:700;color:#354334;transition:.18s ease}
.site-nav a:hover,.site-nav a.active{background:var(--brand-soft);color:var(--brand-dark)}
.site-nav .btn{padding:10px 17px}
.lang-pill{border:1px solid var(--line);background:#fff}
.nav-toggle{display:none;width:44px;height:44px;border:0;border-radius:15px;background:var(--brand-dark);color:#fff;font-size:20px;cursor:pointer}

/* ---------- buttons ---------- */
.btn{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:999px;background:linear-gradient(180deg,#5a943d,#3e762f);color:#fff!important;font-weight:800;font-size:14px;box-shadow:0 8px 18px rgba(57,107,42,.18);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(57,107,42,.23)}
.btn-light{background:#fbfaf4!important;color:var(--brand-dark)!important;border:1px solid var(--line);box-shadow:none}
.btn-soft{background:var(--brand-soft)!important;color:var(--brand-dark)!important;box-shadow:none}
.btn-small{min-height:36px;padding:8px 13px;font-size:12px}
.danger{background:linear-gradient(180deg,#bd5a4e,#96362e)!important}

/* ---------- public hero / reference-inspired ---------- */
.hero-shell{padding:24px 5vw 46px}
.hero{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:22px;align-items:stretch}
.hero-main{min-height:520px;border-radius:var(--radius-xl);padding:42px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:
  radial-gradient(circle at 82% 18%,rgba(222,234,188,.28),transparent 22%),
  radial-gradient(circle at 10% 85%,rgba(196,218,156,.22),transparent 22%),
  linear-gradient(145deg,#446f38 0%,#31582f 50%,#233f25 100%);box-shadow:var(--shadow)}
.hero-main::before{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-110px;top:-130px}
.hero-main::after{content:'';position:absolute;width:250px;height:250px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:80px;top:80px}
.hero-main>*{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;width:max-content;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px)}
.hero-main h1{max-width:760px;font-size:clamp(44px,5vw,76px);color:#fff;margin-top:14px}
.hero-main p{max-width:670px;color:#edf4e8;font-size:17px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.search-panel{max-width:1040px;margin:-34px auto 0;position:relative;z-index:6;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:center;padding:13px 14px 13px 18px;border-radius:999px;background:#b8cf8f;box-shadow:0 18px 38px rgba(46,73,39,.16)}
.search-panel input,.search-panel select{border:0;background:rgba(255,255,255,.96);border-radius:999px;min-height:45px;padding:0 16px;outline:none;color:var(--ink)}
.hero-side{display:flex;flex-direction:column;gap:18px}
.glass-card,.soft-card,.info-card,.feature-card,.form-card,.stat-card,.member-card,.empty-state,.quote-card{background:rgba(253,252,247,.96);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.hero-card,.quote-card{padding:24px}
.founder-row,.member-head{display:flex;align-items:center;gap:14px}
.founder-avatar,.mini-avatar{display:grid;place-items:center;flex:0 0 auto;width:62px;height:62px;border-radius:20px;background:var(--brand-soft);color:var(--brand-dark);font-family:var(--font-heading);font-weight:800;font-size:25px;overflow:hidden}
.founder-avatar{width:72px;height:72px;font-size:30px}
.mini-avatar.big{width:108px;height:108px;border-radius:28px;font-size:40px}
.mini-avatar img{width:100%;height:100%;object-fit:cover}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.metric{padding:18px 12px;border-radius:22px;background:#f8f8f1;border:1px solid var(--line);text-align:center}
.metric strong{display:block;font-family:var(--font-heading);font-size:28px;line-height:1}
.metric span{font-size:11px;color:var(--muted)}

/* ---------- content ---------- */
.section{padding:38px 5vw}
.section>*{max-width:1420px;margin-left:auto;margin-right:auto}
.section-title{font-size:clamp(30px,3vw,46px)}
.section-intro{max-width:760px!important;margin-left:0!important;color:var(--muted);margin-bottom:20px}
.feature-grid,.card-grid,.section-grid,.triple-grid,.member-grid,.stats-grid,.admin-panel-grid,.two-col,.quick-links{display:grid;gap:16px}
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.card-grid,.section-grid,.triple-grid,.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.two-col{grid-template-columns:.9fr 1.1fr;align-items:start}
.feature-card,.info-card,.soft-card,.member-card{padding:22px}
.feature-icon{width:52px;height:52px;border-radius:18px;background:var(--brand-soft);display:grid;place-items:center;margin-bottom:14px}
.feature-icon img{width:28px;height:28px;object-fit:contain;opacity:.82}
.tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e7eddc;color:#3e6236;font-size:11px;font-weight:800;margin-bottom:10px}
.privacy-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px 30px;border-radius:30px;background:linear-gradient(135deg,#2e512d,#203b25);color:#fff;box-shadow:var(--shadow)}
.privacy-banner h2{color:#fff}.privacy-banner p{color:#dce7d4;max-width:860px}
.list-clean{margin:0;padding-left:18px}.list-clean li{margin-bottom:8px}

/* ---------- public page shells ---------- */
.page-hero{padding:36px 5vw 18px}.page-panel{max-width:1420px;margin:0 auto;padding:30px 32px;border-radius:32px;background:linear-gradient(135deg,#edf3e2,#fbfaf4);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.page-hero.slim h1{font-size:clamp(36px,4vw,56px)}
.page-hero p{max-width:760px;color:var(--muted)}
.about-photo{padding:22px;text-align:center}.logo-block{padding:22px;background:#fff;border-radius:22px;border:1px solid var(--line)}
.legal{max-width:980px!important}
.article-body{max-width:980px!important;padding:28px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-soft)}
.article-body p{font-size:17px}.share-row{margin-top:20px}

/* ---------- forms ---------- */
.form-shell{padding:12px 5vw 44px;display:grid;place-items:center}.form-card{width:100%;max-width:900px;padding:26px}.form-card.wide{max-width:1180px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
label{display:block;font-size:13px;font-weight:800;color:#334033;margin:10px 0}
input,textarea,select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:15px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;transition:border .15s ease,box-shadow .15s ease}
input:focus,textarea:focus,select:focus{border-color:#9fba82;box-shadow:0 0 0 4px rgba(127,157,95,.11)}
textarea{min-height:120px;resize:vertical}.large-textarea{font-size:17px;line-height:1.65}.check,.check-row{display:flex;gap:9px;align-items:flex-start;flex-wrap:wrap}.check input,.check-row input{width:auto;margin-top:4px}
.login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:12px 5vw 44px;max-width:1420px;margin:0 auto}
.form-step{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.form-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-dark);color:#fff;font-weight:800}
.progress-shell{height:10px;border-radius:999px;background:#e8ede2;overflow:hidden}.progress-shell span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5d943d,#315d2f)}

/* ---------- notices / status ---------- */
.notice{max-width:1420px;margin:16px auto;padding:13px 16px;border-radius:16px;font-weight:800;font-size:13px}.notice.success{background:#ebf8ef;color:#23613e;border:1px solid #c7e5d1}.notice.error{background:#fff0ed;color:#9b332b;border:1px solid #efc4bd}
.badge,.nav-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:800}
.badge{padding:5px 9px;background:#edf1e8;color:#455244}.badge-pending{background:#fff2da;color:#8a6112}.badge-approved,.badge-published,.badge-active,.badge-accepted{background:#e7f7ec;color:#226c42}.badge-rejected,.badge-declined,.badge-blocked,.badge-cancelled{background:#fdeae7;color:#9d372d}.badge-proposal,.badge-draft,.badge-closed,.badge-reviewed{background:#edf0fa;color:#4f5b8f}
.nav-badge{min-width:20px;height:20px;padding:0 6px;background:rgba(255,255,255,.16);color:#fff}

/* ---------- admin + member app ---------- */
.admin-body{display:block;min-height:100vh;background:linear-gradient(180deg,#edf2e7 0%,#e5ebdc 100%)}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:18px 14px;background:linear-gradient(180deg,#183820,#274e2b 58%,#325b32 100%);box-shadow:12px 0 36px rgba(27,54,31,.14);overflow-y:auto;z-index:90}
.member-sidebar{background:linear-gradient(180deg,#234629,#315d31 60%,#416d3c 100%)}
.admin-brand{display:flex!important;align-items:center;justify-content:flex-start!important;gap:11px;padding:4px 7px 16px!important;margin:0 0 8px!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.09);border-radius:0!important;background:transparent!important}
.admin-brand img{width:46px!important;height:46px!important;max-width:46px!important;object-fit:contain!important;border-radius:13px;background:#fff;padding:5px;flex:0 0 46px}
.admin-brand span{font-family:var(--font-heading);font-size:16px;font-weight:700;color:#fff}
.admin-sidebar>a:not(.admin-brand){display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:9px 11px;border-radius:13px;color:#ecf3e9;font-size:13px;font-weight:700;transition:.16s ease}
.admin-sidebar>a:not(.admin-brand):hover,.admin-sidebar>a.active:not(.admin-brand){background:rgba(255,255,255,.12);color:#fff}
.admin-shell{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-height:100vh}
.admin-topbar{position:sticky;top:0;z-index:50;min-height:70px;padding:13px 24px;display:flex;align-items:center;gap:12px;background:rgba(244,247,239,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(208,219,199,.8)}
.admin-topbar h1{font-size:25px;margin:0}
.admin-content{padding:24px;max-width:1540px;margin:0 auto}
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
.stat-card{padding:20px;min-height:112px;background:linear-gradient(180deg,#fffef9,#f7f9f2)}
.stat-card span{display:block;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:8px}.stat-card strong{display:block;font-family:var(--font-heading);font-size:34px;line-height:1}
.admin-panel-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-link{display:block;padding:17px;min-height:106px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.quick-link strong{display:block;font-size:14px;margin-bottom:5px}.quick-link .muted{font-size:12px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:13px 14px;border-bottom:1px solid #edf1e8;text-align:left;vertical-align:top}th{background:#f6f8f2;color:#697565;text-transform:uppercase;letter-spacing:.04em;font-size:10px}tr:last-child td{border-bottom:0}
.filter-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:13px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft)}
.inline-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;margin:0;min-height:36px;padding:7px 10px}
.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.empty-state{padding:26px;text-align:center;color:var(--muted)}
.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.family-person{padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.relation-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:11px;font-weight:800}.text-danger{border:0;background:none;color:var(--danger);font-weight:800;cursor:pointer}
.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.toggle-card{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:15px!important;margin:0!important;border:1px solid var(--line);border-radius:18px;background:#fff}.toggle-card span{display:grid}.toggle-card small{font-size:11px}.toggle-card input{position:absolute;opacity:0;pointer-events:none}.toggle-card i{width:46px;height:26px;border-radius:999px;background:#d6ddd1;position:relative;flex:0 0 46px;transition:.18s}.toggle-card i::after{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:.18s}.toggle-card input:checked+i{background:var(--brand)}.toggle-card input:checked+i::after{transform:translateX(20px)}
.settings-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.settings-tabs a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:800}.settings-tabs a.active{background:var(--brand-dark);color:#fff}

/* ---------- footer ---------- */
.site-footer{display:flex;justify-content:space-between;gap:24px;padding:30px 5vw;background:#203d26;color:#fff}.site-footer>div{max-width:680px}.site-footer p,.site-footer a,.site-footer small{color:#dce7d8}.footer-links{display:flex;gap:12px;flex-wrap:wrap;align-content:flex-start}.footer-logo{width:82px!important;height:auto!important;max-width:82px!important;border-radius:14px;background:#fff;padding:4px;margin-bottom:10px}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .hero{grid-template-columns:1fr}.hero-side{display:grid;grid-template-columns:1fr 1fr}.hero-metrics{grid-column:1/-1}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel-grid,.triple-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .site-header-wrap{padding:12px 14px 0;background:linear-gradient(180deg,#788e6c 0,#788e6c 92px,transparent 92px)}
  .site-header{min-height:64px;padding:9px 10px 9px 12px;border-radius:22px}.brand img{width:44px;height:44px;flex-basis:44px}.brand strong{font-size:17px}.brand small{font-size:10px}.nav-toggle{display:grid;place-items:center}
  .site-nav{display:none;position:absolute;left:0;right:0;top:72px;padding:12px;background:#fbfaf4;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.site-nav a{text-align:center}
  .hero-shell{padding:18px 14px 34px}.hero-main{min-height:430px;padding:28px 22px;border-radius:28px}.hero-main h1{font-size:clamp(39px,11vw,58px)}.hero-main p{font-size:15px}.hero-side{grid-template-columns:1fr}.search-panel{grid-template-columns:1fr;margin:-20px 12px 0;border-radius:26px;padding:12px}.search-panel input,.search-panel select{border-radius:14px}.search-panel .btn{width:100%}
  .section{padding:30px 14px}.feature-grid,.card-grid,.section-grid,.triple-grid,.member-grid,.two-col,.form-grid,.login-grid,.toggle-grid,.family-grid,.filter-bar{grid-template-columns:1fr}.privacy-banner,.site-footer{flex-direction:column;align-items:flex-start}.login-grid{padding:10px 14px 34px}.page-hero{padding:26px 14px 12px}.page-panel{padding:24px 20px;border-radius:26px}.form-shell{padding:8px 14px 32px}.form-card{padding:20px}
  .admin-sidebar{transform:translateX(-106%);transition:transform .22s ease;width:min(286px,86vw)}.admin-sidebar.open{transform:translateX(0)}.admin-shell{margin-left:0;width:100%}.admin-content{padding:16px 13px 34px}.admin-topbar{min-height:60px;padding:10px 13px}.admin-topbar h1{font-size:20px}.stats-grid{grid-template-columns:1fr 1fr}.quick-links{grid-template-columns:1fr}.filter-bar{display:grid}.card-actions{flex-direction:column;align-items:stretch}.card-actions .btn{width:100%}.table-wrap{border-radius:18px}.settings-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.settings-tabs a{white-space:nowrap}
}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.hero-metrics{grid-template-columns:1fr 1fr 1fr}.metric{padding:14px 8px}.metric strong{font-size:24px}.feature-grid{grid-template-columns:1fr}.site-footer{padding:26px 18px}}
.sidebar-label{padding:14px 10px 5px;color:rgba(235,244,233,.54);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.topbar-spacer{flex:1}.topbar-user{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);font-size:12px;font-weight:800}.topbar-user-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-dark);font-family:var(--font-heading)}
@media(max-width:700px){.topbar-user span:last-child{display:none}.topbar-user{padding:6px}.topbar-user-dot{width:30px;height:30px}}

/* ==========================================================
   Final UI/UX + mobile + API dashboard refinement round
   Source reference: soft eco-friendly rounded community UI
   ========================================================== */
:root{
  --header-bg:#f9fbf3;
  --olive-band:#7c906f;
  --warm-cream:#fffaf0;
  --deep-green:#183b22;
  --card-border:#dfebd2;
  --focus-ring:0 0 0 4px rgba(85,135,58,.16);
}
body{background:linear-gradient(180deg,#f7fbef 0%,#eef5e8 40%,#f8faf4 100%)!important;color:#1b2b1d!important}
body:not(.admin-body) .site-header-wrap{padding-top:20px;background:linear-gradient(180deg,var(--olive-band) 0,var(--olive-band) 118px,transparent 118px)!important}
.site-header{max-width:1440px!important;border-radius:28px!important;background:rgba(255,255,250,.9)!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 24px 60px rgba(45,70,35,.16)!important;padding:13px 18px!important}
.brand img,.admin-brand img{object-fit:contain!important}.site-nav a{font-size:14px!important}.site-nav a.active{background:#dceac8!important;color:#244726!important}.site-nav .btn{box-shadow:none!important}.hero-shell{padding-top:36px!important}.hero-main{border-radius:34px!important;box-shadow:0 28px 75px rgba(50,72,39,.2)!important;background:linear-gradient(145deg,rgba(43,76,37,.82),rgba(74,106,48,.72)),url('/assets/icons/png/Community-08.png') center/cover no-repeat!important}.hero-main h1{max-width:760px!important;text-wrap:balance}.hero-main .btn-light{background:#fff!important}.search-panel{box-shadow:0 20px 48px rgba(60,80,40,.18)!important;border:1px solid rgba(255,255,255,.6)!important}.feature-card,.info-card,.soft-card,.form-card{transition:transform .18s ease,box-shadow .18s ease}.feature-card:hover,.info-card:hover,.quick-link:hover{transform:translateY(-2px);box-shadow:0 24px 48px rgba(38,61,33,.11)!important}.btn:focus,input:focus,textarea:focus,select:focus{outline:0!important;box-shadow:var(--focus-ring)!important;border-color:#8ead73!important}.admin-sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.admin-sidebar::-webkit-scrollbar{width:7px}.admin-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.23);border-radius:999px}.sidebar-label{margin-top:7px}.admin-sidebar .sidebar-label:first-of-type{margin-top:2px}.admin-content{animation:softEnter .26s ease both}@keyframes softEnter{from{opacity:.01;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.topbar-user{white-space:nowrap}.member-head{display:flex;gap:14px;align-items:center}.api-grid-form{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:18px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.api-card{background:#fff;border:1px solid var(--card-border);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft)}.api-card-primary{grid-row:span 3;background:linear-gradient(180deg,#fffef8,#f7faef)}.api-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.api-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.api-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#fff2d8;color:#876014;font-size:12px;font-weight:800}.api-pill.ok{background:#e7f7ec;color:#226c42}.connection-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;background:linear-gradient(135deg,#ffffff,#eff7e5)!important}.connection-status-card{min-width:230px;background:#fff;border:1px solid var(--card-border);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft)}.connection-status-card strong{display:block}.connection-status-card small{display:block;margin-top:4px}.mini-switch input{position:absolute;opacity:0}.mini-switch i{display:block;width:52px;height:30px;border-radius:999px;background:#d7dfd1;position:relative;transition:.18s}.mini-switch i:after{content:'';position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.16);transition:.18s}.mini-switch input:checked+i{background:#33733d}.mini-switch input:checked+i:after{transform:translateX(22px)}.suggestion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.suggestion-grid>div{background:#fbfdf7;border:1px solid var(--card-border);border-radius:18px;padding:15px}.mobile-nav-note{display:none}
@media(max-width:1180px){.api-grid-form{grid-template-columns:1fr!important}.api-card-primary{grid-row:auto}.suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body:not(.admin-body) .site-header-wrap{background:linear-gradient(180deg,var(--olive-band) 0,var(--olive-band) 92px,transparent 92px)!important}.site-header{border-radius:22px!important}.site-nav{max-height:calc(100vh - 100px);overflow:auto}.admin-content{padding-bottom:80px!important}.admin-sidebar{box-shadow:18px 0 44px rgba(6,35,15,.24)!important}.admin-topbar{box-shadow:0 12px 32px rgba(36,57,30,.08)}.admin-topbar:after{content:'Menu';font-size:11px;font-weight:800;color:var(--muted);margin-left:-6px}.connection-hero{flex-direction:column;align-items:stretch}.connection-status-card{min-width:0}.api-actions{flex-direction:column}.api-actions .btn{width:100%}.suggestion-grid{grid-template-columns:1fr}.form-grid{gap:12px}.admin-panel-grid,.triple-grid{gap:14px}.quick-link{min-height:auto!important}.stats-grid{gap:12px}.stat-card{padding:16px!important}.stat-card strong{font-size:30px!important}}
@media(max-width:520px){.hero-metrics{grid-template-columns:1fr!important}.hero-actions .btn,.privacy-banner .btn{width:100%}.admin-topbar h1{max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user{display:none}.sidebar-label{font-size:8px}.admin-sidebar>a:not(.admin-brand){font-size:12.5px}.feature-card,.info-card,.soft-card,.form-card,.api-card{border-radius:19px!important}.table-wrap table{min-width:680px}.site-footer{gap:16px}.footer-links{display:grid;grid-template-columns:1fr 1fr;width:100%}}


/* Batch 1: Sanjay Dashboard, Onboarding, Moderation Queue */
.sanjay-hero,.onboarding-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#fffef7,#eef6e2)!important}.sanjay-stats{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px}.sanjay-stats div,.completion-ring{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;text-align:center;box-shadow:var(--shadow)}.sanjay-stats strong,.completion-ring strong{display:block;font-family:var(--font-heading);font-size:34px;line-height:1;color:var(--brand-dark)}.sanjay-stats span,.completion-ring span{font-size:13px;color:var(--muted);font-weight:700}.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-action{display:flex;align-items:center;justify-content:center;min-height:92px;padding:20px;border-radius:24px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800;box-shadow:var(--shadow);font-size:17px;text-align:center;cursor:pointer}.quick-action:hover{transform:translateY(-2px);background:var(--brand-soft)}.action-panel[hidden]{display:none!important}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.onboarding-item{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow);color:var(--ink)}.onboarding-item.done{background:linear-gradient(135deg,#f7fff4,#ecf7e8)}.onboarding-check{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:#eff5ea;color:var(--brand-dark);font-weight:900;font-size:20px}.onboarding-item.done .onboarding-check{background:#2f7136;color:#fff}.moderation-list{display:grid;gap:18px}.moderation-list .soft-card{padding:20px}.moderation-list h2{margin-bottom:12px}
@media(max-width:900px){.sanjay-hero,.onboarding-hero{flex-direction:column;align-items:flex-start}.sanjay-stats,.quick-action-grid,.onboarding-grid{grid-template-columns:1fr!important}.quick-action{min-height:70px}.completion-ring{width:100%}}

/* Batch 2: family tree, notification center, WhatsApp digest */
.batch2-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px;padding:28px 30px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#fffef8,#eef7e4);box-shadow:var(--shadow)}
.batch2-hero h2{margin:4px 0 8px;font-size:32px}.batch2-hero p{max-width:780px;color:var(--muted);font-size:15px}.batch2-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#dfedd5;color:#3d6d35;font-size:12px;font-weight:900}.mini-stat{min-width:94px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;box-shadow:var(--shadow-soft)}.mini-stat strong{display:block;font-size:30px;line-height:1;color:var(--brand-dark);font-family:var(--font-heading)}.mini-stat span{display:block;margin-top:6px;font-size:12px;color:var(--muted);font-weight:800}.batch2-grid{display:grid;gap:18px}.batch2-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:999px;background:#e5f1dc;color:var(--brand-dark);font-weight:900}.family-tree-shell{display:grid;gap:18px;margin-bottom:18px}.tree-generation{background:#fff;border:1px solid var(--line);border-radius:26px;padding:20px;box-shadow:var(--shadow)}.tree-generation-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tree-generation-title span{font-size:18px;font-weight:900;color:var(--ink)}.tree-generation-title small{color:var(--muted);font-weight:800}.tree-node-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px;position:relative}.tree-node{position:relative;padding:18px;border:1px solid #dce9d4;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfdf7);min-height:132px}.tree-node:before{content:'';position:absolute;left:20px;top:-14px;width:2px;height:14px;background:#cbdcc1}.tree-node-self{background:linear-gradient(135deg,#2f7136,#588a45);color:#fff}.tree-node-self h3,.tree-node-self p,.tree-node-self small{color:#fff}.tree-node-empty{background:#fbfaf4;color:var(--muted);border-style:dashed}.relation-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef6e8;color:#2e6531;font-size:11px;font-weight:900;margin-bottom:10px}.tree-node-self .relation-chip{background:rgba(255,255,255,.22);color:#fff}.tree-node h3{margin:0 0 8px;font-size:20px}.tree-node p{margin:0 0 6px;color:var(--muted)}.tree-node small{color:var(--muted);font-weight:700}.mini-list-item{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-top:10px}.mini-list-item strong{color:var(--ink)}.mini-list-item span{color:var(--muted);font-size:13px}.mini-list-item.suggested{background:#fffaf0}.filter-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filter-tabs a:not(.btn){display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:800}.filter-tabs a.active{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}.notification-list{display:grid;gap:12px}.notification-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow-soft)}.notification-card.unread{border-color:#9bc58b;background:linear-gradient(135deg,#fff,#f2fbec)}.notification-dot{width:12px;height:12px;border-radius:50%;background:#b9c9ad}.notification-card.unread .notification-dot{background:#2f7136;box-shadow:0 0 0 7px rgba(47,113,54,.11)}.notification-card h3{margin:0 0 5px;font-size:17px}.notification-card p{margin:0 0 5px;color:var(--muted)}.notification-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.digest-filter{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:18px}.digest-filter label{margin:0;min-width:220px}.digest-textarea{width:100%;min-height:520px;border-radius:20px;border:1px solid var(--line);background:#fffef9;padding:18px;font-size:15px;line-height:1.55;resize:vertical}.digest-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.digest-stats div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.digest-stats strong{display:block;font-size:28px;color:var(--brand-dark);font-family:var(--font-heading)}.digest-stats span{font-size:12px;color:var(--muted);font-weight:800}.empty-state.small{padding:18px;font-size:14px}
@media(max-width:980px){.batch2-hero{flex-direction:column;align-items:flex-start}.batch2-grid.two{grid-template-columns:1fr}.notification-card{grid-template-columns:auto 1fr}.notification-actions{grid-column:1/-1;justify-content:flex-start}.digest-filter{flex-direction:column;align-items:stretch}.digest-filter label{min-width:0}.digest-stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.batch2-hero{padding:22px 18px;border-radius:22px}.batch2-hero h2{font-size:26px}.batch2-hero-actions,.batch2-hero-actions .btn{width:100%}.mini-stat{flex:1}.tree-generation{padding:16px;border-radius:20px}.tree-node-row{grid-template-columns:1fr}.notification-card{grid-template-columns:1fr}.notification-dot{display:none}.notification-actions .btn{width:100%}.digest-stats{grid-template-columns:1fr}.digest-textarea{min-height:440px}}

/* Batch 3: AI, memories, verification */
.hero-split{display:flex;align-items:center;justify-content:space-between;gap:24px}
.mini-stat-stack{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.mini-stat-stack>div{min-width:118px;padding:18px;border-radius:22px;background:rgba(255,255,255,.78);border:1px solid rgba(41,76,46,.12);text-align:center;box-shadow:0 14px 30px rgba(37,58,38,.08)}
.mini-stat-stack strong{display:block;font-size:30px;line-height:1;color:#2f7d32}
.mini-stat-stack span{display:block;font-size:12px;color:var(--muted);text-transform:lowercase}
.stacked-form{display:grid;gap:14px}
.clean-list{margin:12px 0 0 20px;display:grid;gap:10px}.clean-list li{padding-left:6px}
.memory-card{overflow:hidden}.memory-thumb{width:100%;height:190px;object-fit:cover;border-radius:22px;margin-bottom:14px;border:1px solid rgba(41,76,46,.12);background:#eef5e9}
.mini-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(41,76,46,.12)}
.score-ring{width:138px;height:138px;border-radius:50%;background:linear-gradient(135deg,#ffffff,#ecf7e8);border:1px solid rgba(41,76,46,.16);display:grid;place-content:center;text-align:center;box-shadow:0 18px 45px rgba(37,58,38,.12)}
.score-ring strong{font-size:34px;color:#2f7d32}.score-ring span{font-weight:800;color:var(--text)}
.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checklist-item{display:flex;gap:14px;align-items:center;padding:16px;border-radius:20px;background:#fff;border:1px solid rgba(41,76,46,.12)}.checklist-item.done{background:#eff9ed}.checklist-item>span{width:38px;height:38px;border-radius:50%;background:#eef5e9;display:grid;place-items:center;font-weight:900;color:#2f7d32}.checklist-item small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:780px){.hero-split{display:grid}.mini-stat-stack{justify-content:stretch}.mini-stat-stack>div{flex:1}.checklist-grid{grid-template-columns:1fr}.score-ring{width:118px;height:118px}.memory-thumb{height:160px}}

/* Admin floating AI guide */
.admin-ai-assistant{position:fixed;right:24px;bottom:24px;z-index:140;font-family:var(--font-body,system-ui,sans-serif)}
.admin-ai-fab{width:82px;height:82px;border:0;border-radius:28px;background:linear-gradient(135deg,#2f7d32,#17441f);color:#fff;box-shadow:0 22px 55px rgba(18,63,29,.32);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:.2s ease}
.admin-ai-fab:hover{transform:translateY(-3px);box-shadow:0 26px 70px rgba(18,63,29,.42)}
.admin-ai-fab span{font-size:24px;font-weight:900;line-height:1}.admin-ai-fab strong{font-size:13px;letter-spacing:.02em}
.admin-ai-panel{position:absolute;right:0;bottom:98px;width:min(430px,calc(100vw - 28px));height:min(680px,calc(100vh - 130px));background:rgba(253,253,247,.98);border:1px solid rgba(44,91,48,.18);border-radius:30px;box-shadow:0 32px 90px rgba(17,50,24,.28);display:none;overflow:hidden}
.admin-ai-assistant.open .admin-ai-panel{display:flex;flex-direction:column;animation:assistantRise .16s ease-out}.admin-ai-assistant.open .admin-ai-fab{display:none}
@keyframes assistantRise{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.admin-ai-head{padding:20px 20px 16px;background:linear-gradient(135deg,#f8fbef,#e8f4dc);border-bottom:1px solid rgba(44,91,48,.14);display:flex;align-items:flex-start;gap:12px}.admin-ai-head h3{margin:7px 0 4px;font-size:24px}.admin-ai-head p{margin:0;color:#6d7968;font-size:14px;line-height:1.45}.admin-ai-close{margin-left:auto;width:38px;height:38px;border-radius:15px;border:1px solid rgba(44,91,48,.18);background:#fff;color:#19361f;font-size:24px;cursor:pointer}
.admin-ai-messages{flex:1;overflow:auto;padding:18px;background:linear-gradient(180deg,#f8fbf1,#f2f7eb)}.admin-ai-msg{max-width:92%;padding:13px 15px;border-radius:20px;margin-bottom:12px;box-shadow:0 12px 28px rgba(24,58,28,.08)}.admin-ai-msg p{margin:0;line-height:1.55}.admin-ai-msg.bot{background:#fff;border:1px solid rgba(44,91,48,.14);color:#19361f}.admin-ai-msg.user{background:#2f7d32;color:#fff;margin-left:auto}.admin-ai-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admin-ai-links a{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:#edf6e9;color:#27662d;text-decoration:none;font-weight:800;font-size:13px;border:1px solid rgba(47,125,50,.18)}.admin-ai-source{display:block;margin-top:10px;color:#7b8877;font-size:11px}.admin-ai-prompts{padding:13px 16px;display:flex;gap:8px;overflow:auto;border-top:1px solid rgba(44,91,48,.12);background:#fbfcf6}.admin-ai-prompts button{white-space:nowrap;border:1px solid rgba(47,125,50,.18);background:#fff;border-radius:999px;padding:8px 11px;color:#27662d;font-weight:800;cursor:pointer}.admin-ai-form{padding:14px;background:#fff;border-top:1px solid rgba(44,91,48,.12);display:flex;gap:8px}.admin-ai-form input{flex:1;border-radius:18px;border:1px solid rgba(44,91,48,.18);padding:13px 14px;font-weight:700;outline:none}.admin-ai-form input:focus{border-color:#3b843a;box-shadow:0 0 0 4px rgba(59,132,58,.11)}.admin-ai-form button{border:0;border-radius:17px;background:#2f7d32;color:#fff;font-weight:900;padding:0 16px;cursor:pointer}.admin-ai-assistant.loading .admin-ai-form button{opacity:.6;cursor:wait}
@media(max-width:700px){.admin-ai-assistant{right:14px;bottom:14px}.admin-ai-fab{width:70px;height:70px;border-radius:24px}.admin-ai-panel{right:-2px;bottom:86px;width:calc(100vw - 24px);height:min(640px,calc(100vh - 108px));border-radius:24px}.admin-ai-head h3{font-size:21px}.admin-ai-prompts{padding-bottom:10px}}
