:root{--bg:#F5F3EC;--bg2:#E9EFE8;--ink:#14231D;--mute:#5B6B63;--card:rgba(255,255,255,.72);--solid:#fff;--line:rgba(20,35,29,.12);--em:#0E8A5F;--em-d:#0A6647;--em-x:#06382A;--gold:#F0B429;--gold-d:#B98212;--bad:#B3261E;--bad-bg:#FBE7E4;--ok-bg:#DFF3E8;--warn-bg:#FFF1CC;--info-bg:#E4EDF9;--sh:0 10px 30px -12px rgba(6,56,42,.35),0 2px 6px rgba(6,56,42,.08);--r:20px}

*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:400 16px/1.6 "DM Sans",system-ui,sans-serif;background:radial-gradient(1000px 500px at 85% -10%,rgba(240,180,41,.20),transparent 60%),radial-gradient(900px 600px at -10% 10%,rgba(14,138,95,.18),transparent 60%),var(--bg);background-attachment:fixed;min-height:100vh;overflow-x:hidden}
h1,h2,h3{font-family:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;line-height:1.05;margin:0;letter-spacing:-.025em}
h1{font-size:clamp(32px,6vw,60px);font-weight:800}h2{font-size:clamp(26px,4vw,38px);font-weight:800}h3{font-size:19px;font-weight:700}
a{color:var(--em-d)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.top{position:sticky;top:0;z-index:30;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;gap:10px}
.logo{font:800 21px "Bricolage Grotesque",sans-serif;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:9px}.logo img{width:34px;height:34px;border-radius:10px;display:block;object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,.18)}
nav.links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border-radius:14px;font:700 15px "DM Sans",sans-serif;text-decoration:none;border:0;cursor:pointer;min-height:44px;color:var(--ink);background:var(--solid);box-shadow:0 3px 0 var(--line),var(--sh);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}
.btn.pri{background:linear-gradient(180deg,#14A374,var(--em));color:#fff;box-shadow:0 4px 0 var(--em-x),0 10px 20px -8px rgba(6,56,42,.6)}
.btn.gold{background:linear-gradient(180deg,#FFD25E,var(--gold));color:#3B2A00;box-shadow:0 4px 0 var(--gold-d),0 10px 20px -8px rgba(185,130,18,.6)}
.btn.bad{background:var(--bad-bg);color:var(--bad);box-shadow:0 3px 0 rgba(179,38,30,.25)}.btn.sm{padding:7px 14px;min-height:38px;font-size:14px}.btn.block{display:flex;width:100%}
main{padding:26px 0 60px}
.card{background:var(--card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:16px;box-shadow:var(--sh)}
.card.tight{padding:0;overflow:hidden}.card h3{margin-bottom:12px}
.tilt{transform-style:preserve-3d;transition:transform .2s ease-out;will-change:transform}
.tilt>*{transform:translateZ(18px)}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.head p{margin:6px 0 0;color:var(--mute)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));perspective:1200px}
.flash{border-radius:14px;padding:13px 18px;margin-bottom:12px;font-weight:500;border:1px solid var(--line)}
.flash.success{background:var(--ok-bg)}.flash.danger{background:var(--bad-bg);color:var(--bad)}.flash.warning{background:var(--warn-bg)}.flash.info{background:var(--info-bg)}
.pill{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12.5px;font-weight:700;background:var(--line);letter-spacing:.02em}
.pill.ok{background:var(--ok-bg);color:var(--em-d)}.pill.warn{background:var(--warn-bg);color:#7A5300}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.info{background:var(--info-bg)}
.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--line);flex-wrap:wrap}
.list li:first-child{border-top:0}.grow{flex:1;min-width:0}.list small,.mute,small{color:var(--mute)}.amt{font-weight:700;white-space:nowrap}
.empty{padding:28px 20px;text-align:center;color:var(--mute)}
.av{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE08A,var(--gold));box-shadow:0 3px 0 var(--gold-d);color:#3B2A00;display:grid;place-items:center;font-weight:800;flex:none}
label{display:block;font-weight:700;font-size:14.5px;margin-bottom:6px}
input,select,textarea{width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:13px;background:var(--solid);color:var(--ink);font:inherit;min-height:46px}
input:focus,select:focus,textarea:focus{border-color:var(--em);outline:none}
.field{margin-bottom:15px}.field small{display:block;margin-top:4px}
.radio{display:flex;gap:12px;border:2px solid var(--line);border-radius:14px;padding:13px 15px;margin-bottom:9px;cursor:pointer;font-weight:500;background:var(--solid)}
.radio input{width:auto;min-height:0;margin-top:5px}.radio:has(input:checked){border-color:var(--em);background:var(--ok-bg)}
.auth{max-width:440px;margin:24px auto}.auth h1{font-size:34px;margin-bottom:6px}
.banner{background:var(--warn-bg);border:2px solid var(--gold);border-radius:var(--r);padding:20px;margin-bottom:16px}.banner.bad{background:var(--bad-bg);border-color:var(--bad)}.banner p{margin:6px 0 12px}
dialog{border:0;border-radius:22px;padding:0;width:min(460px,calc(100% - 28px));background:var(--solid);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.4)}
dialog::backdrop{background:rgba(6,20,15,.6);backdrop-filter:blur(3px)}dialog form{padding:24px}.actions{display:flex;gap:10px;justify-content:flex-end}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px;perspective:1200px}
.stat{background:var(--card);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--sh)}
.stat b{display:block;font:800 30px "Bricolage Grotesque",sans-serif;letter-spacing:-.03em}.stat small{font-weight:500}
.stat.gold{background:linear-gradient(135deg,#FFE08A,var(--gold));color:#3B2A00}.stat.gold small{color:#5A3D00}
.stat.dark{background:linear-gradient(135deg,var(--em-d),var(--em-x));color:#EAF8F1}.stat.dark small{color:#A9D9C4}
.ring{--p:0;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p)*1%),rgba(255,255,255,.18) 0);display:grid;place-items:center;flex:none;box-shadow:0 8px 0 rgba(0,0,0,.18)}
.ring span{width:88px;height:88px;border-radius:50%;background:var(--em-x);display:grid;place-items:center;font:800 24px "Bricolage Grotesque";color:#fff;text-align:center;line-height:1}
.ring small{display:block;font:500 11px "DM Sans";color:#A9D9C4;margin-top:2px}
.hero3d{background:linear-gradient(135deg,var(--em-d),var(--em-x));color:#EAF8F1;border:0;display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.hero3d h2{color:#fff}.hero3d small,.hero3d p{color:#A9D9C4;margin:4px 0 0}
table{width:100%;border-collapse:collapse}th,td{padding:12px 16px;text-align:left;border-top:1px solid var(--line);font-size:15px}th{font-size:12.5px;color:var(--mute);text-transform:uppercase;letter-spacing:.05em;border-top:0}
.scroll{overflow-x:auto}.pager{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:12px}
/* landing */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:40px 0 30px}
.hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.08}.hero .lead{font-size:20px;color:var(--mute);max-width:30em;margin:20px 0 28px}.cta{display:flex;gap:14px;flex-wrap:wrap}
.hero h1 span{background:linear-gradient(90deg,var(--em),var(--gold-d));-webkit-background-clip:text;background-clip:text;color:transparent}
.scene{height:400px;perspective:900px;position:relative;display:grid;place-items:center}
.stack{position:relative;width:200px;height:260px;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-20deg);animation:float 7s ease-in-out infinite}
.coin{position:absolute;left:0;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFF0B8,var(--gold) 48%,var(--gold-d));border:6px solid #E0A31F;box-shadow:inset 0 0 0 10px rgba(255,255,255,.12),0 8px 0 #A97210}
.coin:after{content:"KES";position:absolute;inset:0;display:grid;place-items:center;font:800 34px "Bricolage Grotesque";color:#8A5D00;opacity:.7}
.coin:nth-child(1){top:150px;transform:translateZ(0)}.coin:nth-child(2){top:150px;transform:translateZ(16px)}.coin:nth-child(3){top:150px;transform:translateZ(32px)}.coin:nth-child(4){top:150px;transform:translateZ(48px)}.coin:nth-child(5){top:150px;transform:translateZ(64px)}
.float{position:absolute;background:var(--card);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;padding:12px 16px;box-shadow:var(--sh);font-weight:700;animation:bob 6s ease-in-out infinite}
.float small{display:block;font-weight:500}.float.a{top:24px;left:0;transform:rotate(-5deg)}.float.b{bottom:34px;right:0;animation-delay:-3s;transform:rotate(4deg)}.float.c{top:120px;right:-6px;animation-delay:-1.5s}
@keyframes float{50%{transform:rotateX(58deg) rotateZ(-14deg) translateZ(14px)}}@keyframes bob{50%{translate:0 -12px}}
.features a.card{display:block;color:inherit;text-decoration:none;cursor:pointer}.features a.card:hover,.features a.card:focus-visible{box-shadow:0 14px 34px rgba(16,110,80,.22)}.features a.card:focus-visible{outline:3px solid var(--gold,#E8B13A);outline-offset:2px}
.section{padding:44px 0}.features{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:26px;perspective:1200px}
.ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:14px;background:linear-gradient(135deg,#14A374,var(--em-d));box-shadow:0 5px 0 var(--em-x);color:#fff}.ico svg{width:26px;height:26px}
.plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:26px;perspective:1200px}
.plan{position:relative}.plan.best{background:linear-gradient(160deg,var(--em-d),var(--em-x));color:#EAF8F1;border:0}.plan.best .mute,.plan.best li{color:#BFE6D3}
.plan .price{font:800 44px "Bricolage Grotesque",sans-serif;letter-spacing:-.03em}.plan ul{list-style:none;padding:0;margin:14px 0 20px}.plan li{padding:4px 0 4px 26px;position:relative;color:var(--mute)}
.plan li:before{content:"";position:absolute;left:2px;top:11px;width:12px;height:7px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);transform:rotate(-45deg)}
.badge{position:absolute;top:-12px;right:18px;background:var(--gold);color:#3B2A00;font-weight:800;font-size:12px;padding:5px 12px;border-radius:99px;box-shadow:0 3px 0 var(--gold-d)}
.perf-btn{font-size:13px;background:none;border:1px solid var(--line);border-radius:99px;padding:5px 12px;color:var(--mute);cursor:pointer;min-height:34px}
footer{padding:30px 0 50px;color:var(--mute);font-size:14px;text-align:center}
.perf .tilt,.perf .stack,.perf .float{animation:none!important;transform:none!important}.perf .card,.perf .stat,.perf .top,.perf .float{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.perf body{background-attachment:scroll}
@media (max-width:820px){.hero{grid-template-columns:1fr;padding-top:16px}.scene{height:320px;order:-1}.stack{transform:rotateX(58deg) rotateZ(-20deg) scale(.8)}}
@media (max-width:520px){.hide-sm{display:none}.wrap{padding:0 14px}.card{padding:18px}.list li{padding:13px 14px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.tilt{transform:none!important}}
.subnav{display:flex;gap:8px;overflow-x:auto;margin:0 -14px 18px;padding:2px 14px 8px;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:9px 16px;border-radius:99px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:700;font-size:14.5px;min-height:40px;display:flex;align-items:center;gap:6px}
.subnav a[aria-current]{background:linear-gradient(180deg,#14A374,var(--em));color:#fff;border-color:transparent;box-shadow:0 3px 0 var(--em-x)}
.dot{background:var(--gold);color:#3B2A00;border-radius:99px;font-size:12px;padding:1px 7px;font-weight:800}
.chat{display:flex;flex-direction:column;gap:10px;max-height:58vh;overflow-y:auto;padding:16px}
.msg{max-width:82%;align-self:flex-start;background:var(--solid);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:10px 14px}
.msg.mine{align-self:flex-end;background:var(--ok-bg);border-radius:16px 16px 4px 16px}.msg p{margin:2px 0;white-space:pre-wrap;overflow-wrap:anywhere}.msg small{font-size:12px}
.chatbox{display:flex;gap:10px;align-items:center;padding:12px}.chatbox input{flex:1}
.list .grow{min-width:150px}
.list li .btn.sm,.list li form{flex:none}
@media (max-width:520px){.list li{row-gap:8px}}
#msgs{display:flex;flex-direction:column;gap:10px}
.barrow{display:grid;grid-template-columns:78px 1fr auto;gap:10px;align-items:center;padding:5px 0;font-size:14px}
.bar{height:12px;border-radius:99px;background:var(--line);overflow:hidden;display:block}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--em),var(--gold));border-radius:99px}
textarea{min-height:90px;resize:vertical}
@media (max-width:520px){.barrow{grid-template-columns:62px 1fr;}.barrow span:last-child{grid-column:1/-1;color:var(--mute)}}


/* PWA install card */
.pwa-install-card{
  position:fixed;left:16px;right:16px;bottom:18px;z-index:9999;
  display:flex;align-items:center;gap:13px;max-width:720px;margin:auto;
  padding:13px 15px;border-radius:20px;background:linear-gradient(135deg,#06382A,#0A6647);
  color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.30),0 4px 12px rgba(6,56,42,.25);
  border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.pwa-install-card[hidden]{display:none}
.pwa-install-icon{width:50px;height:50px;flex:none;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.pwa-install-icon img{width:100%;height:100%;display:block;object-fit:cover}
.pwa-install-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.pwa-install-copy strong{font-size:15px;font-weight:800;line-height:1.2}
.pwa-install-copy span{font-size:.84rem;line-height:1.3;opacity:.86}
.pwa-install-steps{font-size:.80rem;line-height:1.35;opacity:.96;margin-top:6px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.10)}
.pwa-install-steps ol{margin:0;padding-left:20px}.pwa-install-steps li{margin:2px 0}
.pwa-install-steps b{color:#fff}
.pwa-install-close{border:0;background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer;opacity:.85;padding:4px}
.pwa-install-close:hover{opacity:1}
@media (max-width:520px){
  .pwa-install-card{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:12px;gap:10px;border-radius:19px;align-items:center}
  .pwa-install-icon{width:46px;height:46px;border-radius:12px}
  .pwa-install-copy strong{font-size:14px}
  .pwa-install-copy span{font-size:.76rem;line-height:1.25}
  .pwa-install-card .btn{min-height:40px;padding:8px 12px;white-space:nowrap;font-size:13px}
  .pwa-install-close{font-size:23px;padding:2px}
  .pwa-install-steps{font-size:.75rem;padding:7px 9px;margin-top:5px}
}
@media (max-width:380px){
  .pwa-install-card{gap:8px;padding:10px}.pwa-install-icon{width:42px;height:42px}
  .pwa-install-card .btn{padding:7px 9px;font-size:12px}.pwa-install-close{font-size:21px}
}

.subnav{display:flex;gap:6px;overflow-x:auto;padding:8px 2px 14px;margin-bottom:16px;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}.subnav a{white-space:nowrap;text-decoration:none;color:var(--mute);padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;font-weight:700}
.subnav a[aria-current="page"]{background:var(--em);color:#fff;border-color:var(--em)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.metric{margin:8px 0}.metric>span{font-size:13px;color:var(--mute)}.metric>b{float:right;font-size:13px}
.bar{height:8px;background:var(--line);border-radius:999px;overflow:hidden;clear:both}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--em),var(--gold));border-radius:inherit}.bar.large{height:12px;margin:14px 0}
.goal-number{font:800 30px "Bricolage Grotesque",sans-serif;margin:8px 0}.inline-form{display:flex;gap:8px}.inline-form input{max-width:170px}
.vote-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.vote-bars>div{padding:12px;border-radius:14px;background:var(--bg2);text-align:center}.vote-bars span{display:block;font-size:11px;color:var(--mute)}.vote-bars b{font-size:24px}.vote-actions{display:flex;gap:8px;flex-wrap:wrap}
.receipt{max-width:560px;margin:20px auto}.receipt hr{border:0;border-top:1px solid var(--line);margin:20px 0}
@media(max-width:520px){.subnav a{padding:7px 9px;font-size:12px}.vote-bars{grid-template-columns:1fr 1fr 1fr}.inline-form{flex-wrap:wrap}.inline-form input{max-width:none}}
@media print{.top,.subnav,.btn{display:none!important}body{background:#fff}.card{box-shadow:none;border:0}}

.mobile-bottom{display:none}
@media(max-width:700px){body{padding-bottom:74px}.mobile-bottom{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:10px;z-index:50;padding:7px 5px calc(7px + env(safe-area-inset-bottom,0px));border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--solid) 88%,transparent);backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(0,0,0,.22)}.mobile-bottom a{text-decoration:none;color:var(--mute);text-align:center;font-size:18px;font-weight:800;line-height:1.05}.mobile-bottom span{display:block;font-size:10px;font-weight:700;margin-top:3px}.mobile-bottom a:hover{color:var(--em)}}

.my-chamas-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}
@media(max-width:520px){.my-chamas-hero{display:block}.my-chamas-hero .stat{margin-top:14px;min-width:0!important}.dashboard-chama-card{min-height:180px}}

/* Simple homepage/app menu */
.app-menu{position:relative;display:inline-block;margin:0}
.app-menu summary{list-style:none;cursor:pointer;user-select:none}
.app-menu summary::-webkit-details-marker{display:none}
.menu-trigger{display:inline-flex;align-items:center;gap:8px}
.menu-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;font-size:11px;background:var(--danger,#c0392b);color:#fff}
.app-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 24px));padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:linear-gradient(145deg,rgba(8,35,29,.99),rgba(5,25,21,.99));color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.38);z-index:1000;backdrop-filter:blur(18px)}
.menu-heading{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px}.menu-heading strong{font-size:16px;color:#fff}.menu-heading span{font-size:12px;color:rgba(255,255,255,.62)}
.menu-item,.menu-logout button{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:14px;background:transparent;color:#fff;text-decoration:none;text-align:left;box-sizing:border-box}.menu-item:hover,.menu-item:focus-visible,.menu-logout button:hover,.menu-logout button:focus-visible{background:rgba(255,255,255,.12);outline:none}
.menu-item b,.menu-logout b{display:block;font-size:14px;color:#fff}.menu-item small,.menu-logout small{display:block;margin-top:2px;font-size:11px;color:rgba(255,255,255,.62)}
.menu-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex:0 0 34px;border-radius:11px;background:rgba(255,255,255,.10);font-size:16px;color:#fff}.menu-primary .menu-icon{background:rgba(255,255,255,.17)}.menu-owner .menu-icon{background:rgba(224,179,67,.22)}
.menu-divider{height:1px;background:rgba(255,255,255,.13);margin:7px 4px}.menu-logout{margin:0}.menu-logout button{font:inherit;cursor:pointer;color:#ffb8b1}.menu-logout button b{color:#ffd0cb}
@media(max-width:700px){.app-menu-panel{position:fixed;right:12px;top:66px;width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 82px);overflow:auto;border-radius:20px}.menu-trigger{min-height:42px}.top .links{gap:6px}.top .logo{font-size:18px}}


/* ChamaPay V21: mobile-first navigation and Command Center polish */
.v21-subnav{align-items:center;gap:7px;flex-wrap:nowrap;overflow:visible}
.v21-subnav>a,.v21-subnav .nav-group>summary{font:700 13px/1.1 "DM Sans",sans-serif;white-space:nowrap;text-decoration:none;color:var(--mute);padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer;list-style:none}
.v21-subnav>a[aria-current="page"],.v21-subnav .nav-group[open]>summary{background:var(--em);color:#fff;border-color:var(--em)}
.v21-subnav .nav-group{position:relative;flex:0 0 auto}.v21-subnav .nav-group>summary::-webkit-details-marker{display:none}
.nav-group-panel{position:absolute;z-index:80;top:calc(100% + 7px);left:0;min-width:190px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--solid);box-shadow:0 18px 45px rgba(0,0,0,.18);display:grid;gap:3px}
.nav-group-panel a{padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--text);font-size:13px;font-weight:700}.nav-group-panel a:hover,.nav-group-panel a[aria-current="page"]{background:var(--bg2);color:var(--em)}
.nav-command{border-color:rgba(224,179,67,.45)!important;color:var(--gold)!important}.nav-command[aria-current="page"]{background:var(--gold)!important;color:#162018!important}
.quick-actions{margin:0 0 16px}.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.quick-action{display:block;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--bg2);color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.quick-action:hover{transform:translateY(-2px);border-color:var(--em);box-shadow:0 10px 24px rgba(0,0,0,.08)}.quick-action b{display:block;font-size:13px}.quick-action small{display:block;margin-top:4px;color:var(--mute);line-height:1.35;font-size:11px}
.command-next{margin-top:16px}.next-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:13px}.next-grid>div{padding:12px;border-radius:14px;background:var(--bg2)}.next-grid b{display:block;font:800 22px "Bricolage Grotesque",sans-serif}.next-grid span{display:block;margin-top:3px;color:var(--mute);font-size:11px;line-height:1.3}
.mobile-nav-badge{position:absolute;top:-3px;margin-left:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger,#c0392b);color:#fff;font-size:9px;line-height:16px;font-style:normal;text-align:center}
@media(max-width:800px){.v21-subnav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:11px}.v21-subnav .nav-group-panel{position:fixed;left:12px;right:12px;top:auto;bottom:82px;width:auto;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));max-height:48vh;overflow:auto;border-radius:18px}.v21-subnav .nav-group-panel a{padding:12px}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.next-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.v21-subnav>a,.v21-subnav .nav-group>summary{padding:8px 10px;font-size:12px}.quick-action-grid{grid-template-columns:1fr}.next-grid{gap:7px}.next-grid>div{padding:10px}.next-grid b{font-size:19px}}

/* ChamaPay V22: trust, data saver, receipts and premium polish */
.data-saver .app-menu-panel,.data-saver .card,.data-saver .stat,.data-saver .quick-action{backdrop-filter:none!important;box-shadow:none!important}
.data-saver *, .data-saver *::before, .data-saver *::after{animation:none!important;transition:none!important}
.data-saver .tilt{transform:none!important}
.data-saver .hero3d{background-image:none!important}
.data-saver-toggle{cursor:pointer!important}
.stat-note{display:block;margin-top:5px;color:var(--mute);font-size:10px;line-height:1.25}.explain-link{display:inline-block;margin-top:7px;font-size:11px;font-weight:800;color:var(--em);text-decoration:none}.explain-link:hover{text-decoration:underline}
.trust-note{display:flex;gap:8px;align-items:flex-start;margin-bottom:16px}.trust-note span{color:var(--mute);font-size:12px;line-height:1.45}.timeline{position:relative;max-width:860px;margin:8px auto}.timeline::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:var(--line)}.timeline-item{position:relative;display:flex;gap:16px;margin:0 0 12px}.timeline-dot{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--em);border:6px solid var(--bg);box-shadow:0 0 0 1px var(--line);z-index:1}.timeline-body{flex:1;border:1px solid var(--line);background:var(--card);border-radius:17px;padding:14px}.timeline-body small{display:block;margin-top:3px}.timeline-amount{font-size:18px}.timeline-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0;color:var(--mute);font-size:11px}.receipt-v22{max-width:700px;margin:20px auto}.receipt-brand{display:flex;justify-content:space-between;gap:10px;align-items:center}.receipt-brand b,.receipt-brand small{display:block}.receipt-brand small{color:var(--mute);margin-top:2px}.proof-amount{font:800 42px "Bricolage Grotesque",sans-serif;margin:18px 0}.proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:15px;overflow:hidden}.proof-grid>div{padding:13px;background:var(--bg2)}.proof-grid small{display:block;color:var(--mute);font-size:10px}.proof-grid b{display:block;margin-top:4px;font-size:13px}.receipt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.health-hero{display:flex;align-items:center;gap:20px;margin-bottom:16px}.health-score{width:120px;height:120px;flex:0 0 120px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--em) calc(var(--health,0)*1%),var(--line) 0);font:800 38px "Bricolage Grotesque",sans-serif}.health-score::before{content:"";position:absolute}.health-score span,.health-score small{position:relative}.health-score small{font:700 12px "DM Sans",sans-serif;color:var(--mute)}.explain-card{max-width:760px}.explain-card>small{color:var(--mute)}.explain-value{font:800 46px "Bricolage Grotesque",sans-serif;margin:8px 0 12px}.setup-progress{height:10px;background:var(--line);border-radius:99px;overflow:hidden;margin:0 0 16px}.setup-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--em),var(--gold));border-radius:inherit}.setup-list{display:grid;gap:10px}.setup-step{display:flex;align-items:center;gap:13px}.setup-check{width:38px;height:38px;border-radius:12px;display:grid;place-content:center;background:var(--bg2);font-weight:800;color:var(--em);flex:0 0 38px}.setup-step h3{margin:0 0 3px}.setup-step p{margin:0;color:var(--mute);font-size:12px}.owner-command-link{margin:16px 0}.analytics-bars{height:250px;display:flex;align-items:flex-end;gap:10px;padding-top:18px}.analytics-bar{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-width:0}.analytics-track{height:180px;width:100%;display:flex;align-items:flex-end;justify-content:center;background:var(--bg2);border-radius:12px 12px 6px 6px;overflow:hidden}.analytics-track i{display:block;width:70%;min-height:2px;background:linear-gradient(180deg,var(--gold),var(--em));border-radius:10px 10px 0 0}.analytics-bar b{font-size:10px;white-space:nowrap}.analytics-bar small{font-size:10px;color:var(--mute)}
@media(max-width:620px){.proof-grid{grid-template-columns:1fr}.health-hero{align-items:flex-start}.health-score{width:92px;height:92px;flex-basis:92px;font-size:30px}.analytics-bars{gap:6px}.analytics-bar b{display:none}.timeline-body .section-head{align-items:flex-start}.timeline-amount{font-size:15px}}
@media print{.receipt-v22{border:0!important;box-shadow:none!important}.receipt-actions{display:none!important}}
.error-card{max-width:650px;margin:50px auto;text-align:center}.error-code{font:800 64px "Bricolage Grotesque",sans-serif;color:var(--em)}.error-card h1{margin:0 0 8px}.error-card .trust-note{justify-content:center;margin:18px auto;max-width:520px}


/* V22.1: Core Chama functions stay directly visible. Nothing important is hidden inside Community/Intelligence dropdowns. */
.v22-direct-nav{display:flex;flex-wrap:wrap;overflow-x:visible;align-items:center;gap:7px}
.v22-direct-nav>a{flex:0 0 auto}
.v22-direct-nav .all-functions-link{background:var(--em-x);color:var(--em);border-color:var(--em)}
@media(max-width:800px){.v22-direct-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:7px;padding-bottom:12px}.v22-direct-nav>a{width:100%;justify-content:center;box-sizing:border-box}.v22-direct-nav .all-functions-link{grid-column:1/-1}}
@media(max-width:420px){.v22-direct-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.v22-direct-nav>a{padding:9px 7px;font-size:12px}}

/* V23: payment setup and secure one-time member invitation */
.payment-method-card{border:1px solid rgba(13,95,224,.16);background:linear-gradient(135deg,#fff,#f7fbff)}
.payment-number{font:800 28px "Bricolage Grotesque",sans-serif;letter-spacing:.5px;margin-top:7px}
.payment-instructions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.join-code-card{display:grid;gap:12px;margin-bottom:16px;border:1px solid rgba(13,95,224,.2);background:linear-gradient(135deg,#fff,#f7fbff)}
.join-code-value{font:900 38px/1 "Bricolage Grotesque",sans-serif;letter-spacing:5px;text-align:center;padding:16px;border-radius:18px;background:#eef5ff;color:#0d5fe0;box-shadow:inset 0 0 0 1px rgba(13,95,224,.12)}
@media(max-width:560px){.join-code-value{font-size:30px;letter-spacing:3px}.payment-number{font-size:24px}.logo img{width:32px;height:32px}}

/* Standard alert bell with a clear red unread state; chat unread counts use the same red alert colour. */
.notification-menu-item{gap:12px}.notification-bubble{width:42px;height:42px;display:inline-flex;position:relative;flex:0 0 42px;align-items:center;justify-content:center}.notification-bubble svg{width:34px;height:34px;fill:#087ff5}.notification-bubble.has-alert svg{fill:#dc2626}.notification-bubble em{position:absolute;right:-5px;top:-5px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#dc2626;border:2px solid #fff;color:#fff;font-style:normal;font-size:12px;font-weight:800;line-height:17px;text-align:center;box-shadow:0 1px 3px #0002}.dot{background:#dc2626;color:#fff;border-radius:99px;font-size:12px;padding:1px 7px;font-weight:800}.menu-badge,.mobile-nav-badge{background:#dc2626;color:#fff}


/* Clear, high-contrast member overview; intentionally independent of the decorative hero layout. */
.chama-glance{margin-bottom:16px;background:#fff;color:#14231D;border:1px solid #D7E2DB;padding:clamp(18px,3vw,28px);}
.chama-glance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;}
.chama-glance .eyebrow{margin:0 0 7px;color:#0A6647;font-size:11px;font-weight:800;letter-spacing:.11em;}
.chama-glance h3{font-size:clamp(21px,2.5vw,27px);margin:0;color:#14231D;}
.chama-glance .glance-intro{margin:7px 0 0;color:#52635A;font-size:14px;}
.glance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.glance-tile{min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:#F7FAF8;border:1px solid #DCE7E0;border-radius:16px;padding:18px;}
.glance-tile.contribution-tile{background:#F0F8F3;border-color:#A9D4BC;}
.glance-label{display:flex;align-items:center;gap:9px;color:#34483D;font-size:13px;font-weight:750;line-height:1.35;}
.glance-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:31px;height:31px;padding:0 5px;border-radius:10px;background:#DCEFE4;color:#075C40;font-size:11px;font-weight:900;}
.glance-value{display:block;margin:16px 0 4px;color:#102A20;font-size:clamp(23px,3vw,31px);font-weight:850;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere;}
.glance-detail{margin:0 0 12px;color:#4D6055;font-size:13px;line-height:1.5;}
.glance-detail strong{color:#263E32;}
.glance-status{display:block;margin:0 0 15px;padding:7px 9px;border-radius:9px;font-size:12px;font-weight:750;line-height:1.4;}
.status-good{background:#DDF3E5;color:#075C40;}.status-warn{background:#FFF0C7;color:#704900;}
.glance-action{margin-top:auto;max-width:100%;white-space:normal;text-align:center;}
.glance-next-actions{margin-top:20px;padding-top:17px;border-top:1px solid #DCE7E0;}
.glance-next-actions h4{margin:0 0 9px;font-size:15px;color:#14231D;}
.glance-next-actions ul{margin:0;padding-left:20px;color:#34483D;}.glance-next-actions li{padding:5px 0;}.glance-next-actions li span{display:inline-block;margin-left:8px;color:#52635A;font-size:12px;}
@media(max-width:720px){.glance-grid{grid-template-columns:1fr 1fr;}.glance-tile:first-child{grid-column:1/-1;}}
@media(max-width:460px){.chama-glance{padding:16px;}.glance-grid{grid-template-columns:1fr;}.glance-tile:first-child{grid-column:auto;}.glance-tile{padding:16px;}.glance-value{margin-top:12px;}.glance-action{width:100%;}}


/* ChamaPay refresh v52: calm depth, readable contrast and restrained 3D surfaces. */
.card{box-shadow:0 12px 28px rgba(6,56,42,.075),0 3px 0 rgba(6,56,42,.035);transition:box-shadow .18s ease,border-color .18s ease}
.btn{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn:hover{filter:saturate(1.05)}
.top{box-shadow:0 6px 20px rgba(6,56,42,.035)}
.app-menu-panel{box-shadow:0 24px 60px rgba(6,30,22,.22),0 4px 0 rgba(6,56,42,.05)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.grid>.card:hover{border-color:rgba(14,138,95,.2)}}
@media (prefers-reduced-motion:reduce){.card,.btn{transition:none!important}}
.data-saver .provider-card:hover,.perf .provider-card:hover{transform:none!important;box-shadow:var(--sh)!important}

/* Profile picture v64: compact avatar with a camera badge. */
.pp{display:flex;align-items:center;gap:12px;min-width:0}
.pp-form{position:relative;margin:0}
.pp-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.pp-ring{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE08A,var(--gold));box-shadow:0 0 0 3px #fff,0 2px 8px rgba(0,0,0,.16);color:#3B2A00;font-weight:800;font-size:24px;cursor:pointer;flex:none;transition:transform .15s}
.pp-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.pp-static{cursor:default;width:52px;height:52px;font-size:20px}
label.pp-ring:hover{transform:scale(1.04)}
.pp-input:focus-visible+.pp-ring{outline:3px solid var(--gold-d);outline-offset:3px}
.pp-ring.is-busy{opacity:.55;pointer-events:none}
.pp-cam{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;border:2px solid #fff}
.pp-text{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.25}
.pp-note{font-size:.8rem;color:var(--mute,#6b7280)}
.pp-remove{margin:0}.pp-remove button{all:unset;cursor:pointer;font-size:.8rem;color:#b42318;text-decoration:underline}
.av.has-img{background:none;box-shadow:none;overflow:hidden}.av.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.head .pp{margin-bottom:6px}
.head-id{display:flex;align-items:center;gap:14px;min-width:0}.av-lg{width:56px;height:56px;font-size:22px}
.head-id{flex-wrap:wrap}

/* Marketplace + Community v65 (mx- = marketplace, cx- = community) */
.mx-hero,.cx-hero{position:relative;overflow:hidden;border-radius:24px;padding:clamp(20px,4vw,34px);margin-bottom:16px;color:#effff7;background:radial-gradient(circle at 92% 10%,rgba(240,180,41,.32),transparent 30%),linear-gradient(135deg,#0a6647,#06382a 80%);box-shadow:var(--sh)}
.mx-hero h1,.cx-hero h1{font-size:clamp(26px,4.4vw,42px);margin:6px 0 0;color:#fff}.mx-hero p,.cx-hero p{color:#c8eadb;margin:10px 0 0;max-width:640px}
.mx-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#FFE08A}
.mx-search{display:flex;gap:8px;margin-top:18px;max-width:640px}.mx-search input{flex:1;min-width:0;border-radius:999px;padding:13px 18px;border:0;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.mx-stats,.cx-pulse{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:16px;font-size:.84rem;color:#c8eadb;align-items:center}.mx-stats b,.cx-pulse b{color:#fff;font-size:1.1rem}.mx-stats a{margin-left:auto;color:#FFE08A;font-weight:700}
.cx-hero{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}.cx-hero>div:first-child{flex:1;min-width:240px}
.mx-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:0 0 6px;scrollbar-width:thin}.mx-chip{flex:none;display:inline-flex;gap:6px;align-items:center;padding:8px 14px;border-radius:999px;background:var(--solid);border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.86rem;text-decoration:none;white-space:nowrap}.mx-chip i{font-style:normal;font-size:.75rem;color:var(--mute);background:rgba(20,35,29,.07);border-radius:999px;padding:1px 7px}
.mx-chip.on{background:var(--em);border-color:var(--em);color:#fff}.mx-chip.on i{background:rgba(255,255,255,.22);color:#fff}.mx-chip.saved:not(.on){color:#b3261e}
.mx-filters{margin:0 0 10px}.mx-filters>summary,.mx-compare>summary,.mx-list-service>summary{cursor:pointer;font-weight:700;padding:10px 2px;list-style:none}.mx-filters>summary::before{content:'⚙ '}
.mx-filters form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;background:var(--solid);border:1px solid var(--line);border-radius:16px;padding:14px}
.mx-compare{background:var(--solid);border:1px solid var(--line);border-radius:16px;padding:4px 16px;margin-bottom:14px}.mx-compare>summary span{display:block;font-weight:400;color:var(--mute);font-size:.84rem}.mx-compare[open]{padding-bottom:16px}
.mx-results-head{display:flex;justify-content:space-between;gap:10px;margin:6px 2px 10px;align-items:center}.mx-results-head a{font-size:.88rem}
.mx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px;align-items:start}
.mx-card{background:var(--solid);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0;box-shadow:0 8px 22px -14px rgba(6,56,42,.35);transition:transform .15s,box-shadow .15s}.mx-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(6,56,42,.45)}
.mx-card header{display:flex;gap:12px;align-items:flex-start}.mx-logo{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:1.2rem;color:#3B2A00;background:linear-gradient(135deg,#FFE08A,var(--gold))}
.mx-title{flex:1;min-width:0}.mx-title h2{font-size:1.1rem;margin:0 0 6px;overflow-wrap:anywhere}.mx-badges{display:flex;gap:5px;flex-wrap:wrap}
.mx-save button{all:unset;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--mute);padding:4px 6px;border-radius:10px}.mx-save button.on{color:#d92d20}.mx-save button:hover{background:rgba(20,35,29,.06)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mx-rating{margin:0;color:var(--mute);font-size:.86rem}.mx-rating b{color:#b98212}
.mx-desc{margin:0;color:var(--ink);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mx-contact{display:flex;gap:8px;flex-wrap:wrap}.mx-contact a{padding:6px 12px;border-radius:999px;background:rgba(14,138,95,.1);color:var(--em-d);font-weight:700;font-size:.82rem;text-decoration:none}
.mx-reviews blockquote{margin:0;padding:10px 12px;border-left:3px solid var(--gold);background:rgba(240,180,41,.08);border-radius:0 12px 12px 0;font-size:.86rem}.mx-reviews blockquote p{margin:4px 0}.mx-reviews .stars{color:#b98212}.mx-reviews small{color:var(--mute)}
.mx-card footer{display:flex;flex-direction:column;gap:8px;margin-top:2px}.mx-pick{display:flex;gap:8px;align-items:center;font-size:.84rem;color:var(--mute);margin:0}.mx-pick input{width:auto}
.mx-act>summary{list-style:none;cursor:pointer;text-align:center}.mx-act>summary::-webkit-details-marker{display:none}.mx-act[open]>summary{margin-bottom:10px}.mx-act form{display:grid;gap:8px}
.mx-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.mx-empty{grid-column:1/-1;text-align:center;padding:36px 16px;background:var(--solid);border:1px dashed var(--line);border-radius:20px}.mx-empty .symbol{font-size:2rem}
.mx-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:22px 0}.mx-tips article{background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.mx-tips p{margin:4px 0 0;font-size:.84rem;color:var(--mute)}
.mx-list-service{margin-bottom:14px}
/* community */
.cx-composer{background:var(--solid);border:1px solid var(--line);border-radius:18px;padding:6px 16px;margin-bottom:12px;box-shadow:0 8px 22px -16px rgba(6,56,42,.4)}.cx-composer>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:10px 0;font-weight:800}.cx-composer>summary::-webkit-details-marker{display:none}.cx-composer>summary small{margin-left:auto;font-weight:400;color:var(--mute)}
.cx-plus{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--em);color:#fff;font-size:1.2rem}.cx-composer form{display:grid;gap:10px;padding-bottom:12px}
.cx-kinds{display:flex;gap:8px;flex-wrap:wrap}.cx-kind input{position:absolute;opacity:0;width:1px;height:1px}.cx-kind span{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:.86rem;cursor:pointer;background:#fff}.cx-kind input:checked+span{background:var(--em);border-color:var(--em);color:#fff}.cx-kind input:focus-visible+span{outline:3px solid var(--gold-d);outline-offset:2px}
.cx-toolbar{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cx-search{display:flex;gap:8px;flex-wrap:wrap}.cx-search input{flex:1;min-width:160px}.cx-search select{width:auto}
.cx-feed{display:grid;gap:12px}.cx-post{background:var(--solid);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 8px 22px -16px rgba(6,56,42,.4);min-width:0}
.cx-post header{display:flex;gap:10px;align-items:center}.cx-who{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.cx-who small{color:var(--mute)}.cx-kindpill{flex:none}
.cx-post h2{font-size:1.2rem;margin:10px 0 6px;overflow-wrap:anywhere}.cx-body{white-space:pre-wrap;margin:0 0 8px;overflow-wrap:anywhere}
.cx-actions{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;margin:6px 0}.cx-actions form{margin:0}
.cx-like{all:unset;cursor:pointer;padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:.84rem;background:#fff}.cx-like.on{background:rgba(14,138,95,.14);border-color:var(--em);color:var(--em-d)}.cx-like:focus-visible{outline:3px solid var(--gold-d)}
.cx-count,.cx-link{font-size:.84rem;font-weight:700;color:var(--mute);text-decoration:none;background:none;border:0;cursor:pointer;padding:0}.cx-link.danger{color:var(--bad)}
.cx-report{position:relative}.cx-report>summary{cursor:pointer;list-style:none;font-size:.82rem;color:var(--mute)}.cx-report>summary::-webkit-details-marker{display:none}.cx-report form{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.cx-report select{width:auto}
.cx-replies{margin-top:8px;border-top:1px solid var(--line);padding-top:8px}.cx-replies>summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--em-d);padding:4px 0}
.cx-reply{display:flex;gap:10px;margin:12px 0}.cx-reply.child{margin:10px 0 0;padding-left:10px;border-left:3px solid rgba(14,138,95,.35)}.cx-rhead{margin:0 0 2px}.cx-rhead small{color:var(--mute)}
.av.sm{width:30px;height:30px;font-size:.8rem;flex:none}.cx-inline>summary{cursor:pointer;font-size:.82rem;font-weight:700;color:var(--mute);list-style:none}.cx-inline form{display:grid;gap:6px;margin-top:6px}
.cx-replybox{display:grid;gap:8px;margin-top:10px}.cx-replybox textarea,.cx-inline textarea{min-height:64px}.cx-more{text-align:center;margin:16px 0}.cx-rules{margin-top:18px}.cx-rules>summary{cursor:pointer}
@media(max-width:600px){.mx-search{flex-direction:column}.mx-search .btn{width:100%}.mx-stats a{margin-left:0}}
.mx-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mx-act[open]{grid-column:1/-1}.mx-act>summary{display:block;width:100%;box-sizing:border-box;padding:11px 8px}
@media(min-width:760px){.mx-chips{flex-wrap:wrap;overflow:visible}}
.cx-feed{margin-top:12px}.cx-replybox .btn,.cx-inline .btn{justify-self:end}


/* V66 readability, accessibility and mobile polish */
.mx-hero,.cx-hero{color:#f7fffb}
.mx-hero p,.cx-hero p,.mx-stats,.cx-pulse{color:#e0f4e9}
.mx-eyebrow{color:#ffe08a}
.mx-card,.cx-post,.mx-filters form,.mx-compare,.mx-list-service,.cx-composer,.mx-empty{background:#fff;color:#17352b;border-color:#d5e3dc}
.mx-card p,.cx-post p,.mx-title h2,.cx-post h2{color:#17352b}
.mx-rating,.mx-reviews small,.mx-pick,.cx-who small,.cx-count,.cx-link{color:#52675e}
.mx-desc,.cx-body{color:#203a30;line-height:1.6;font-size:1rem}
.mx-contact a{background:#e5f5ed;color:#075b3e;border:1px solid #b7dfca}
.mx-credentials{border:1px solid #d6e5dd;background:#f4f9f6;border-radius:12px;padding:10px 12px;color:#203a30;overflow-wrap:anywhere}
.mx-credentials p{margin:4px 0;color:#203a30;white-space:pre-wrap}
.mx-credentials small{display:block;color:#52675e;line-height:1.45}
.mx-card .pill.ok{background:#e1f5e9;color:#075b3e;border:1px solid #a9d9bd}
.mx-card .pill.info{background:#e7f0fb;color:#204d80;border:1px solid #c5d8ef}
.mx-card .pill.warn{background:#fff3d5;color:#78520a;border:1px solid #efd99c}
.mx-search input,.mx-filters input,.mx-filters select,.mx-card input,.mx-card textarea,.mx-card select,.cx-search input,.cx-search select,.cx-composer input,.cx-composer textarea,.cx-composer select,.cx-inline textarea,.cx-replybox textarea{color:#17352b;background:#fff;border:1px solid #b9cbc1;min-height:44px}
.mx-search input::placeholder,.mx-card input::placeholder,.mx-card textarea::placeholder,.cx-search input::placeholder,.cx-composer input::placeholder,.cx-composer textarea::placeholder{color:#64776e;opacity:1}
.mx-card button:focus-visible,.mx-chip:focus-visible,.cx-post button:focus-visible,.mx-search input:focus-visible,.mx-card input:focus-visible,.mx-card textarea:focus-visible,.cx-composer input:focus-visible,.cx-composer textarea:focus-visible{outline:3px solid #c58b12;outline-offset:2px}
.mx-compare>summary,.mx-filters>summary,.mx-list-service>summary,.cx-composer>summary,.cx-rules>summary{color:#17352b}
.cx-like{color:#17352b;background:#fff}
.mx-tips article{background:#f7faf8;color:#203a30}
@media(max-width:600px){.mx-hero,.cx-hero{border-radius:16px;padding:20px 16px}.mx-grid{grid-template-columns:minmax(0,1fr)}.mx-card{padding:14px;border-radius:16px}.mx-acts{grid-template-columns:1fr}.mx-stats{gap:8px 12px}.mx-stats a{width:100%}.cx-post{padding:14px}.cx-search{display:grid;grid-template-columns:1fr}.cx-search input,.cx-search select,.cx-search button{width:100%;box-sizing:border-box}.mx-form-grid{grid-template-columns:minmax(0,1fr)}.mx-card footer .btn{min-height:44px}}

/* V67 — Marketplace and Community visual rebuild: strong contrast, calmer surfaces, responsive rhythm */
:root{--mx-ink:#142b23;--mx-muted:#52665d;--mx-line:#dce7e1;--mx-surface:#fff;--mx-soft:#f4f8f6;--mx-green:#086548;--mx-green-dark:#064a37;--mx-gold:#f5c451}
.mx-hero,.cx-hero{isolation:isolate;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:clamp(24px,4vw,44px);margin:0 0 24px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(125deg,#064a37 0%,#087353 58%,#0b6047 100%);box-shadow:0 16px 38px rgba(6,56,42,.16)}
.mx-hero:before,.cx-hero:before{content:"";position:absolute;z-index:-1;right:-70px;top:-120px;width:300px;height:300px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025)}
.mx-hero-text,.cx-hero>div:first-child{max-width:720px}.mx-hero h1,.cx-hero h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.035em;line-height:1.08;margin:12px 0;color:#fff}.mx-hero p,.cx-hero p{font-size:1.04rem;line-height:1.65;max-width:620px;color:#e3f4eb}.mx-eyebrow{font-size:.75rem;letter-spacing:.12em;color:#ffe19a}
.mx-search{max-width:none;width:min(100%,760px);padding:6px;background:#fff;border:1px solid #e1eee7;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.13)}.mx-search input{border:0!important;box-shadow:none!important;min-height:48px;padding:12px 16px;font-size:1rem}.mx-search .btn{border-radius:12px;min-width:112px;min-height:48px}
.mx-stats,.cx-pulse{gap:10px 22px;margin-top:20px;color:#e3f4eb}.mx-stats>span,.cx-pulse>span{display:inline-flex;gap:6px;align-items:center}.mx-stats b,.cx-pulse b{font-size:1.05rem}.mx-stats a{padding:8px 12px;border-radius:10px;color:#fff;border:1px solid rgba(255,255,255,.3);text-decoration:none}
.mx-chips{gap:8px;padding:4px 0 14px;margin-bottom:12px}.mx-chip{padding:10px 15px;border-radius:12px;background:#fff;border:1px solid #d8e4dd;color:#28473a;font-size:.9rem;transition:background .15s,border-color .15s}.mx-chip:hover{background:#eef7f1;border-color:#9fcbb4}.mx-chip.on{background:#086548;border-color:#086548;color:#fff}
.mx-filters,.mx-compare{margin:0 0 18px;border-radius:16px}.mx-filters>summary,.mx-compare>summary{padding:15px 17px;background:#f6faf7;border-radius:14px;font-size:.97rem}.mx-filters[open]>summary,.mx-compare[open]>summary{margin-bottom:12px}.mx-filters form{border-radius:16px;background:#fff;padding:18px}.mx-results-head{font-size:.95rem;margin:16px 2px 14px}.mx-results-head>b{font-size:1.08rem;color:#193c2d}.mx-results-head a{font-weight:700}
.mx-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;align-items:stretch}.mx-card{border:1px solid #dfe9e3;border-radius:22px;padding:20px;gap:14px;box-shadow:0 5px 18px rgba(13,55,39,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mx-card:hover{transform:translateY(-3px);border-color:#b6d6c4;box-shadow:0 16px 32px rgba(13,55,39,.11)}.mx-card header{gap:13px;align-items:flex-start}.mx-logo{width:54px;height:54px;border-radius:17px;background:#e2f3e9;color:#086548;font-size:1.35rem}.mx-title h2{font-size:1.16rem;line-height:1.35;letter-spacing:-.015em}.mx-badges{gap:6px}.mx-card .pill{font-size:.75rem;padding:5px 8px;border-radius:8px}.mx-rating{font-size:.9rem;line-height:1.5}.mx-desc{font-size:.97rem;line-height:1.65;display:block;overflow:visible}.mx-credentials{background:#f6f9f7;border-color:#e0e9e4;padding:13px;border-radius:14px}.mx-contact{gap:7px}.mx-contact a{padding:9px 12px;border-radius:10px}.mx-card footer{margin-top:auto;padding-top:14px;border-top:1px solid #edf1ee}.mx-acts{grid-template-columns:1fr 1fr;gap:10px}.mx-act>summary{border-radius:11px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:.9rem}.mx-card .btn.pri,.mx-card button.pri,.mx-card .btn{border-radius:11px}.mx-pick{color:#354f43;font-size:.9rem}.mx-pick input{width:18px;height:18px;accent-color:#086548}.mx-empty{padding:48px 20px;border-radius:22px;background:#fff}
.mx-tips{gap:14px;margin:26px 0}.mx-tips article{background:#f6faf7;border:1px solid #e0eae4;border-radius:17px;padding:18px}.mx-tips article>b{color:#164832}.mx-tips p{font-size:.9rem;line-height:1.55;color:#52665d}
.cx-hero{align-items:flex-start}.cx-hero>div:first-child{min-width:0}.cx-pulse{display:flex;gap:10px;align-self:flex-end}.cx-pulse span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:10px 12px;white-space:nowrap}
.cx-composer{padding:8px 20px;margin:0 0 20px;border:1px solid #dce7e1;border-radius:18px;box-shadow:0 5px 18px rgba(13,55,39,.045)}.cx-composer>summary{gap:13px;padding:13px 0;color:#173b2b}.cx-plus{width:42px;height:42px;border-radius:14px;background:#e1f3e8;color:#086548;font-size:1.45rem}.cx-composer>summary small{font-size:.88rem;color:#52665d}.cx-composer form{gap:14px;padding:6px 0 16px}.cx-kind span{border-radius:10px;padding:10px 13px;background:#f8fbf9;color:#254738}.cx-kind input:checked+span{background:#086548;border-color:#086548}
.cx-toolbar{gap:12px;margin:0 0 18px}.cx-toolbar .mx-chips{margin:0}.cx-search{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:9px;padding:8px;border:1px solid #dce7e1;border-radius:15px;background:#fff}.cx-search input,.cx-search select{min-height:44px;border:1px solid #d5e1da;border-radius:10px;padding:10px 12px}.cx-search button{min-width:76px;border-radius:10px}
.cx-feed{gap:16px;margin-top:0}.cx-post{padding:22px;border-radius:20px;border:1px solid #dfe9e3;box-shadow:0 5px 18px rgba(13,55,39,.05);transition:border-color .15s,box-shadow .15s}.cx-post:hover{border-color:#c4dace;box-shadow:0 10px 26px rgba(13,55,39,.075)}.cx-post header{gap:12px}.cx-post .av{width:44px;height:44px;flex:none;background:#e2f3e9;color:#086548;border-radius:14px;font-weight:800}.cx-who b{color:#193b2c;font-size:.96rem}.cx-who small{font-size:.82rem;margin-top:3px;color:#63766c}.cx-kindpill{background:#eef6f1;color:#285941;border:1px solid #dcebe1;border-radius:8px;padding:6px 9px}.cx-post h2{font-size:clamp(1.12rem,2vw,1.35rem);letter-spacing:-.015em;line-height:1.35;margin:16px 0 8px;color:#183b2b}.cx-body{font-size:1rem;line-height:1.75;color:#2e463a}.cx-actions{gap:10px 16px;margin:14px 0 8px}.cx-like{border-radius:10px;padding:9px 13px;border-color:#d9e5de;color:#244a37;background:#f8fbf9}.cx-like.on{background:#e4f5ea;border-color:#9fd0b3;color:#075b3e}.cx-count,.cx-link{color:#4f685b;font-size:.9rem}.cx-replies{margin-top:14px;padding-top:14px;border-color:#e7eeea}.cx-replies>summary{padding:7px 0;font-size:.94rem}.cx-reply{padding:12px 0;margin:8px 0;border-top:1px solid #edf1ee}.cx-reply .av.sm{width:34px;height:34px;border-radius:11px}.cx-reply.child{background:#f7faf8;border:0;border-left:3px solid #b7d9c5;border-radius:0 12px 12px 0;padding:12px;margin-top:12px}.cx-replybox textarea,.cx-inline textarea{border:1px solid #d5e1da;border-radius:12px;padding:12px;line-height:1.5}.cx-rules{padding:18px 20px;background:#f7faf8;border:1px solid #dfe9e3;border-radius:17px}.cx-rules>summary{color:#193b2c;padding:4px 0 10px}.cx-rules li{line-height:1.7;color:#354f43;margin:5px 0}
/* Consistent accessible focus, readable controls, and reduced-motion support */
.mx-card a:focus-visible,.mx-card button:focus-visible,.mx-chip:focus-visible,.cx-post a:focus-visible,.cx-post button:focus-visible,.cx-composer summary:focus-visible,.cx-search :focus-visible,.mx-filters :focus-visible,.mx-compare :focus-visible{outline:3px solid #b78008;outline-offset:3px}.mx-card input,.mx-card textarea,.mx-card select,.cx-composer input,.cx-composer textarea,.cx-composer select{border-radius:10px;padding:11px 12px;line-height:1.45}.mx-card label,.cx-composer label{font-weight:650;color:#28473a;font-size:.9rem}.mx-card label input,.mx-card label textarea,.mx-card label select,.cx-composer label input,.cx-composer label textarea{margin-top:5px}
@media(max-width:760px){.mx-hero,.cx-hero{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:23px 18px;border-radius:20px}.mx-hero h1,.cx-hero h1{font-size:clamp(28px,8vw,36px)}.mx-search{display:flex;flex-direction:column;width:auto}.mx-search .btn{width:100%}.mx-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mx-stats a{width:fit-content;margin:0}.cx-pulse{align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cx-pulse span{display:flex;flex-direction:column;align-items:flex-start;white-space:normal;padding:10px;font-size:.82rem}.cx-toolbar .mx-chips{flex-wrap:nowrap;overflow-x:auto}.cx-search{grid-template-columns:1fr}.cx-search select,.cx-search button{width:100%}.mx-grid{grid-template-columns:minmax(0,1fr);gap:14px}.mx-card{padding:17px;border-radius:18px}.mx-acts{grid-template-columns:1fr}.mx-act[open]{grid-column:auto}.mx-form-grid{grid-template-columns:minmax(0,1fr)}.cx-post{padding:17px;border-radius:17px}.cx-post header{align-items:flex-start}.cx-kindpill{max-width:42%;white-space:normal;text-align:center}.cx-composer>summary{align-items:flex-start;flex-wrap:wrap}.cx-composer>summary small{margin-left:54px;width:100%}.mx-filters form{grid-template-columns:1fr}.mx-card footer .btn{min-height:46px}}
@media(prefers-reduced-motion:reduce){.mx-card,.cx-post,.mx-chip{transition:none!important}.mx-card:hover{transform:none}}

/* V68 — premium Marketplace + Community experience */
body:has(.mx-hero) main, body:has(.cx-hero) main { padding-top: 30px; }
body:has(.mx-hero) .wrap, body:has(.cx-hero) .wrap { max-width: 1320px; }
.mx-hero,.cx-hero{position:relative;overflow:hidden;min-height:260px;padding:clamp(28px,4vw,54px);border-radius:30px;background:radial-gradient(circle at 90% 12%,rgba(255,211,112,.24),transparent 24%),radial-gradient(circle at 78% 100%,rgba(49,201,148,.22),transparent 32%),linear-gradient(120deg,#052f25 0%,#075c43 48%,#087a56 100%);box-shadow:0 24px 55px rgba(3,55,39,.2);gap:28px}
.mx-hero:after,.cx-hero:after{content:"";position:absolute;right:7%;top:18%;width:190px;height:190px;border:1px solid rgba(255,255,255,.16);border-radius:38% 62% 58% 42%;transform:rotate(28deg);box-shadow:0 0 0 22px rgba(255,255,255,.035),0 0 0 48px rgba(255,255,255,.025);pointer-events:none}
.mx-hero-text,.cx-hero>div:first-child{position:relative;z-index:1;max-width:650px}.mx-eyebrow{display:inline-flex;align-items:center;gap:8px;letter-spacing:.14em;font-weight:800;font-size:.72rem;text-transform:uppercase;color:#ffdf91}.mx-hero h1,.cx-hero h1{max-width:700px;font-size:clamp(2.3rem,4.2vw,4rem);letter-spacing:-.055em;line-height:1.02;margin:15px 0;color:#fff}.mx-hero p,.cx-hero p{max-width:600px;font-size:1.04rem;line-height:1.75;color:#d5eee3}.mx-search{position:relative;z-index:2;align-self:center;flex:1;min-width:min(100%,340px);max-width:520px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:8px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.2)}.mx-search input{min-width:0;font-size:.98rem;color:#102d23!important}.mx-search .btn{border-radius:13px;box-shadow:none;background:#f1c65c;color:#302300;font-weight:800}.mx-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.mx-stats>span,.mx-stats>a{padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.075);font-size:.84rem;color:#e3f4ec}.mx-stats b{color:#fff;font-size:1rem}.mx-stats a{display:inline-flex;align-items:center;text-decoration:none;font-weight:800}
.mx-chips{display:flex;flex-wrap:wrap;gap:9px;padding:3px 0 17px}.mx-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;background:#fff;border:1px solid #dce7e0;color:#29483b;font-weight:750;box-shadow:0 3px 10px rgba(10,55,38,.035)}.mx-chip i{font-size:.75rem;font-style:normal;color:#5b7367}.mx-chip.on{background:#073f2f;color:#fff;border-color:#073f2f;box-shadow:0 6px 15px rgba(7,63,47,.18)}.mx-chip.on i{color:#d8eee4}
.mx-filters,.mx-compare,.mx-list-service{border:1px solid #dfe8e2;border-radius:20px;background:#fff;box-shadow:0 7px 24px rgba(15,57,41,.045);overflow:hidden}.mx-filters>summary,.mx-compare>summary,.mx-list-service>summary{padding:17px 20px;background:#fff;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-weight:800;color:#143c2d}.mx-compare>summary span,.mx-list-service>summary .mute{font-weight:500;color:#62766c}.mx-filters form,.mx-compare form,.mx-list-service form{padding:20px}.mx-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 2px 14px;color:#385347}.mx-results-head>b{font-size:1.12rem;color:#123b2b}.mx-results-head a{font-size:.9rem}
.mx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:22px;align-items:stretch}.mx-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:15px;padding:23px;border:1px solid #dfe8e2;border-radius:25px;background:linear-gradient(160deg,#fff 0%,#fff 72%,#f7fbf8 100%);box-shadow:0 8px 24px rgba(13,55,39,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.mx-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#08724f,#e6b947 70%,#f6e3a7)}.mx-card:hover{transform:translateY(-5px);border-color:#9ccbb4;box-shadow:0 20px 40px rgba(13,55,39,.13)}.mx-card header{display:flex;gap:13px;align-items:flex-start}.mx-logo{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:19px;background:linear-gradient(145deg,#e2f6e9,#c7e9d5);color:#075c40;font-size:1.5rem;font-weight:900;box-shadow:inset 0 0 0 1px #c3e4d0}.mx-title{min-width:0;flex:1}.mx-title h2{font-size:1.22rem;line-height:1.25;letter-spacing:-.03em;overflow-wrap:anywhere;color:#102f23}.mx-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.mx-card .pill{font-size:.73rem;line-height:1.35;padding:5px 8px;border-radius:999px}.mx-save{margin-left:auto}.mx-save button{width:40px;height:40px;border:1px solid #dbe8e0;border-radius:14px;background:#fff;color:#0a6748;font-size:1.3rem;box-shadow:0 4px 12px rgba(12,60,42,.06)}.mx-rating{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0;color:#526c60;font-size:.87rem}.mx-rating b{color:#8a5a00;background:#fff4d5;padding:4px 8px;border-radius:8px}.mx-desc{margin:0;color:#334f42;font-size:.97rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.mx-credentials{border:1px solid #e0e9e4;background:#f5faf7;border-radius:15px;padding:13px}.mx-credentials>b{font-size:.84rem;color:#194d37}.mx-credentials p{margin:5px 0;color:#29483a}.mx-credentials small{color:#64766c;line-height:1.5}.mx-contact{display:flex;flex-wrap:wrap;gap:7px}.mx-contact a{border:1px solid #d4e9dc;background:#eff8f2;color:#0b6547;border-radius:11px;padding:9px 12px;font-size:.86rem;font-weight:750;text-decoration:none}.mx-contact a:hover{background:#dff2e6}.mx-reviews blockquote{margin:0 0 8px;padding:13px 14px;border:1px solid #e7ede9;border-radius:14px;background:#fafcfb;color:#2a493a}.mx-reviews blockquote p{font-size:.9rem;line-height:1.6}.mx-card footer{margin-top:auto;padding-top:17px;border-top:1px solid #e8efea;display:flex;flex-direction:column;gap:13px}.mx-pick{display:flex;align-items:center;gap:8px;font-weight:750;color:#38594a}.mx-pick input{width:18px;height:18px;accent-color:#08724f}.mx-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mx-act>summary{min-height:48px;border-radius:13px;font-size:.9rem;font-weight:800}.mx-act .btn.pri{background:linear-gradient(135deg,#087b55,#07543d);box-shadow:0 4px 0 #043d2c;color:#fff}.mx-act form{display:grid;gap:12px;padding:14px 0 0}.mx-act label,.mx-compare label,.mx-list-service label{color:#244b39;font-weight:750;font-size:.88rem}.mx-card input,.mx-card textarea,.mx-card select,.mx-compare input,.mx-compare textarea,.mx-list-service input,.mx-list-service textarea,.mx-list-service select{border:1px solid #ccdcd2;background:#fff;color:#17392b;border-radius:12px;min-height:46px;padding:11px 13px}.mx-empty{border:1px dashed #b9d5c5;background:#f8fcf9;padding:60px 22px;text-align:center;border-radius:24px}.mx-empty .symbol{font-size:2.4rem;color:#08724f}.mx-tips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:30px 0}.mx-tips article{border:1px solid #e0e9e4;border-radius:18px;padding:18px;background:#fff;box-shadow:0 5px 18px rgba(13,55,39,.035)}.mx-tips article>b{color:#174a35}.mx-tips p{font-size:.9rem;line-height:1.6;color:#61756a}
.cx-hero{align-items:flex-start}.cx-hero>div:first-child{max-width:650px}.cx-pulse{position:relative;z-index:1;align-self:flex-end;display:flex;gap:9px;flex-wrap:wrap}.cx-pulse span{display:flex;flex-direction:column;gap:2px;min-width:92px;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);color:#dcefe5;font-size:.8rem}.cx-pulse b{font-size:1.5rem;color:#fff;line-height:1.2}.cx-composer{border:1px solid #dce8e0;border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(13,55,39,.05);padding:6px 22px;margin-bottom:24px}.cx-composer>summary{padding:17px 0;color:#143e2d;font-size:1.05rem;font-weight:850}.cx-plus{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#e0f4e8;color:#076244;font-size:1.55rem}.cx-composer>summary small{color:#63796d}.cx-composer form{gap:14px;padding:8px 0 20px}.cx-kind span{border:1px solid #dbe8e0;border-radius:12px;padding:11px 14px;background:#f8fbf9;color:#294c3a}.cx-kind input:checked+span{background:#075a40;border-color:#075a40;color:#fff}.cx-toolbar{display:grid;gap:14px;margin-bottom:20px}.cx-toolbar .mx-chips{margin:0}.cx-search{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:8px;padding:8px;border:1px solid #dce7e1;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(13,55,39,.035)}.cx-search input,.cx-search select{min-height:48px;border:1px solid #d5e1da;border-radius:12px;padding:10px 13px;color:#17392b;background:#fff}.cx-search button{min-width:95px;border-radius:12px;background:#075a40;color:#fff;box-shadow:none}.cx-feed{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.cx-post{padding:25px;border:1px solid #dfe8e2;border-radius:23px;background:#fff;box-shadow:0 7px 22px rgba(13,55,39,.045)}.cx-post:hover{border-color:#b9d9c7;box-shadow:0 14px 34px rgba(13,55,39,.085)}.cx-post header{display:flex;align-items:center;gap:12px}.cx-post .av{width:46px;height:46px;border-radius:16px;background:linear-gradient(145deg,#dff5e7,#bfe5cf);color:#075c40;box-shadow:none;font-size:1.05rem}.cx-who{flex:1;min-width:0}.cx-who b{font-size:.98rem;color:#153d2c}.cx-who small{display:block;font-size:.82rem;color:#657a6e;line-height:1.45;overflow-wrap:anywhere}.cx-kindpill{border-radius:999px;background:#eef7f1;border:1px solid #d8ebdf;color:#23573d;padding:6px 10px}.cx-post h2{margin:19px 0 9px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.2;letter-spacing:-.035em;color:#143c2b}.cx-body{font-size:1rem;line-height:1.8;color:#354f42;overflow-wrap:anywhere}.cx-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;margin:18px 0 8px}.cx-like{border:1px solid #dce8e0;border-radius:999px;background:#f7fbf8;color:#244e38;padding:10px 15px;font-weight:750}.cx-like.on{background:#e2f5e9;border-color:#9fd3b5;color:#075a40}.cx-count,.cx-link{font-weight:700;color:#4f6b5b}.cx-report>summary{font-size:.86rem;font-weight:700;color:#5d7166}.cx-replies{border-top:1px solid #e8efea;margin-top:18px;padding-top:15px}.cx-replies>summary{color:#194a34;font-weight:800;padding:7px 0}.cx-reply{padding:15px 0;margin:8px 0;border-top:1px solid #edf2ee}.cx-reply.child{background:#f6faf7;border-left:3px solid #9dceb1;border-radius:0 15px 15px 0;padding:14px;margin:12px 0}.cx-replybox{display:grid;gap:9px;margin-top:14px}.cx-replybox textarea,.cx-inline textarea{border:1px solid #d5e1da;border-radius:13px;background:#fff;color:#17392b}.cx-rules{background:#fff;border:1px solid #dfe8e2;border-radius:20px;padding:22px}.cx-rules>summary{font-weight:850;color:#17452f}.cx-rules li{line-height:1.75;color:#354f42;margin:7px 0}
@media(min-width:1000px){.cx-toolbar{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center}.cx-feed{max-width:1000px;margin-inline:auto}.cx-composer{max-width:1000px;margin-inline:auto auto}.cx-rules{max-width:1000px;margin-left:auto;margin-right:auto}}
@media(max-width:900px){.mx-tips{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-hero,.cx-hero{align-items:stretch}.mx-search{max-width:none;width:100%}.cx-pulse{align-self:stretch}}
@media(max-width:600px){body:has(.mx-hero) .wrap,body:has(.cx-hero) .wrap{padding-left:13px;padding-right:13px}.mx-hero,.cx-hero{padding:25px 20px;border-radius:23px;min-height:0}.mx-hero h1,.cx-hero h1{font-size:clamp(2rem,9vw,2.8rem)}.mx-search{display:grid;grid-template-columns:minmax(0,1fr);padding:8px}.mx-search .btn{width:100%;min-height:47px}.mx-stats{display:grid;grid-template-columns:1fr 1fr}.mx-stats>span,.mx-stats>a{align-items:flex-start}.mx-grid{grid-template-columns:minmax(0,1fr);gap:15px}.mx-card{padding:20px 17px;border-radius:21px}.mx-acts{grid-template-columns:minmax(0,1fr)}.mx-tips{grid-template-columns:minmax(0,1fr);gap:10px}.mx-filters form,.mx-compare form,.mx-list-service form{padding:16px}.cx-pulse{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cx-pulse span{min-width:0;padding:10px 8px;font-size:.74rem}.cx-pulse b{font-size:1.25rem}.cx-toolbar{display:flex;flex-direction:column;align-items:stretch}.cx-toolbar .mx-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:9px}.cx-search{grid-template-columns:minmax(0,1fr);padding:8px}.cx-search button{width:100%}.cx-post{padding:19px 16px;border-radius:20px}.cx-post h2{font-size:1.28rem}.cx-post header{align-items:flex-start}.cx-kindpill{max-width:42%;white-space:normal;text-align:center}.cx-composer{padding:6px 17px}.cx-composer>summary{align-items:flex-start;flex-wrap:wrap}.cx-composer>summary small{margin-left:58px;width:100%}.cx-rules{padding:18px}.mx-form-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.mx-card,.cx-post,.mx-chip{transition:none!important}.mx-card:hover{transform:none}}


/* V69: hard refresh + deterministic community layout overrides.
   Keep these rules last so earlier legacy styles cannot flatten the page. */
body:has(.cx-hero) { background:#f4f7f5 !important; }
body:has(.cx-hero) main { padding:28px 0 64px !important; }
body:has(.cx-hero) .wrap { width:min(1240px, calc(100% - 48px)) !important; max-width:1240px !important; margin-inline:auto !important; }
body:has(.cx-hero) .cx-hero {
  box-sizing:border-box !important; position:relative !important; isolation:isolate !important;
  display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:center !important;
  gap:28px !important; min-height:unset !important; padding:clamp(28px,4vw,48px) !important;
  margin:0 0 24px !important; border:1px solid #145b43 !important; border-radius:28px !important;
  color:#f8fffb !important; background:radial-gradient(circle at 90% 5%,rgba(240,190,74,.22),transparent 25%),linear-gradient(125deg,#062f24 0%,#075b41 55%,#087a55 100%) !important;
  box-shadow:0 18px 44px rgba(8,48,35,.14) !important; overflow:hidden !important;
}
body:has(.cx-hero) .cx-hero > div:first-child { position:relative !important; z-index:1 !important; max-width:720px !important; min-width:0 !important; }
body:has(.cx-hero) .cx-hero .mx-eyebrow { display:inline-flex !important; margin:0 0 8px !important; color:#ffdf91 !important; font-size:.75rem !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important; }
body:has(.cx-hero) .cx-hero h1 { margin:8px 0 12px !important; max-width:720px !important; color:#fff !important; font-size:clamp(2.1rem,4.4vw,3.7rem) !important; line-height:1.04 !important; letter-spacing:-.045em !important; }
body:has(.cx-hero) .cx-hero p { margin:0 !important; max-width:620px !important; color:#e0f2e8 !important; font-size:1.04rem !important; line-height:1.7 !important; }
body:has(.cx-hero) .cx-pulse { position:relative !important; z-index:1 !important; display:grid !important; grid-template-columns:repeat(3,minmax(86px,1fr)) !important; gap:9px !important; align-self:center !important; }
body:has(.cx-hero) .cx-pulse span { display:flex !important; flex-direction:column !important; gap:6px !important; min-width:0 !important; padding:15px 14px !important; border:1px solid rgba(255,255,255,.2) !important; border-radius:16px !important; background:rgba(255,255,255,.09) !important; color:#e3f4eb !important; font-size:.8rem !important; white-space:normal !important; }
body:has(.cx-hero) .cx-pulse b { color:#fff !important; font-size:1.7rem !important; line-height:1 !important; }
body:has(.cx-hero) .cx-hero > .btn { position:relative !important; z-index:2 !important; grid-column:1/-1 !important; justify-self:start !important; }
body:has(.cx-hero) .cx-composer, body:has(.cx-hero) .cx-rules { box-sizing:border-box !important; width:100% !important; max-width:none !important; margin:0 0 20px !important; border:1px solid #dce7e0 !important; border-radius:20px !important; background:#fff !important; box-shadow:0 5px 20px rgba(19,54,39,.045) !important; }
body:has(.cx-hero) .cx-composer { padding:8px 22px !important; }
body:has(.cx-hero) .cx-composer > summary { display:flex !important; gap:13px !important; align-items:center !important; padding:14px 0 !important; color:#173b2c !important; font-size:1rem !important; font-weight:800 !important; cursor:pointer !important; }
body:has(.cx-hero) .cx-composer > summary small { margin-left:auto !important; color:#60756a !important; font-weight:500 !important; }
body:has(.cx-hero) .cx-toolbar { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(340px,.9fr) !important; gap:14px !important; align-items:center !important; margin:0 0 20px !important; }
body:has(.cx-hero) .cx-toolbar .mx-chips { display:flex !important; flex-wrap:wrap !important; gap:7px !important; margin:0 !important; padding:0 !important; overflow:visible !important; }
body:has(.cx-hero) .cx-toolbar .mx-chip { padding:9px 13px !important; border:1px solid #d8e5dc !important; border-radius:999px !important; background:#fff !important; color:#284b39 !important; font-size:.87rem !important; font-weight:750 !important; text-decoration:none !important; }
body:has(.cx-hero) .cx-toolbar .mx-chip.on { background:#075a40 !important; color:#fff !important; border-color:#075a40 !important; }
body:has(.cx-hero) .cx-search { display:grid !important; grid-template-columns:minmax(0,1fr) 145px 64px !important; gap:7px !important; padding:7px !important; border:1px solid #d7e3dc !important; border-radius:15px !important; background:#fff !important; box-shadow:0 4px 15px rgba(15,55,37,.04) !important; }
body:has(.cx-hero) .cx-search input, body:has(.cx-hero) .cx-search select { box-sizing:border-box !important; width:100% !important; min-width:0 !important; min-height:44px !important; border:1px solid #d8e3dc !important; border-radius:10px !important; padding:10px 12px !important; background:#fff !important; color:#18382b !important; font:inherit !important; }
body:has(.cx-hero) .cx-search button { min-height:44px !important; border:0 !important; border-radius:10px !important; background:#075a40 !important; color:#fff !important; font-weight:800 !important; box-shadow:none !important; }
body:has(.cx-hero) .cx-feed { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:16px !important; width:100% !important; max-width:100% !important; margin:0 !important; }
body:has(.cx-hero) .cx-post { box-sizing:border-box !important; width:100% !important; min-width:0 !important; padding:clamp(18px,2.5vw,28px) !important; border:1px solid #e0e8e2 !important; border-radius:21px !important; background:#fff !important; box-shadow:0 5px 20px rgba(15,55,37,.045) !important; }
body:has(.cx-hero) .cx-post header { display:flex !important; gap:12px !important; align-items:center !important; }
body:has(.cx-hero) .cx-post .av { flex:0 0 44px !important; width:44px !important; height:44px !important; border-radius:14px !important; display:grid !important; place-items:center !important; background:#e0f3e7 !important; color:#075a40 !important; font-weight:850 !important; }
body:has(.cx-hero) .cx-who { min-width:0 !important; flex:1 !important; }
body:has(.cx-hero) .cx-who b { color:#173b2b !important; font-size:.97rem !important; }
body:has(.cx-hero) .cx-who small { display:block !important; margin-top:4px !important; color:#63776b !important; font-size:.82rem !important; line-height:1.5 !important; }
body:has(.cx-hero) .cx-kindpill { max-width:42% !important; padding:6px 10px !important; border:1px solid #d6e9dd !important; border-radius:999px !important; background:#edf7f0 !important; color:#24573d !important; font-size:.78rem !important; }
body:has(.cx-hero) .cx-post h2 { margin:18px 0 8px !important; color:#153a29 !important; font-size:clamp(1.2rem,2.2vw,1.55rem) !important; line-height:1.3 !important; letter-spacing:-.025em !important; }
body:has(.cx-hero) .cx-body { margin:0 0 8px !important; color:#334d40 !important; font-size:1rem !important; line-height:1.75 !important; white-space:pre-wrap !important; overflow-wrap:anywhere !important; }
body:has(.cx-hero) .cx-actions { display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:10px 14px !important; margin:15px 0 8px !important; }
body:has(.cx-hero) .cx-like { min-height:40px !important; padding:9px 13px !important; border:1px solid #d7e5dc !important; border-radius:11px !important; background:#f7fbf8 !important; color:#245039 !important; font-weight:750 !important; }
body:has(.cx-hero) .cx-count, body:has(.cx-hero) .cx-link, body:has(.cx-hero) .cx-report>summary { color:#4c6858 !important; font-size:.88rem !important; }
body:has(.cx-hero) .cx-replies { margin-top:16px !important; padding-top:14px !important; border-top:1px solid #e6eee8 !important; }
body:has(.cx-hero) .cx-replies > summary { padding:8px 0 !important; color:#15583d !important; font-weight:800 !important; }
body:has(.cx-hero) .cx-replybox textarea, body:has(.cx-hero) .cx-inline textarea, body:has(.cx-hero) .cx-composer input, body:has(.cx-hero) .cx-composer textarea, body:has(.cx-hero) .cx-composer select { box-sizing:border-box !important; width:100% !important; max-width:100% !important; min-height:46px !important; border:1px solid #cbdcd1 !important; border-radius:12px !important; padding:11px 13px !important; background:#fff !important; color:#17382a !important; font:inherit !important; }
body:has(.cx-hero) .cx-rules { padding:20px 22px !important; color:#304b3c !important; }
body:has(.cx-hero) .cx-rules > summary { color:#173e2c !important; font-weight:850 !important; }
body:has(.cx-hero) .cx-rules li { margin:7px 0 !important; line-height:1.7 !important; }
@media(max-width:850px){body:has(.cx-hero) .wrap{width:calc(100% - 28px) !important}body:has(.cx-hero) .cx-hero{grid-template-columns:minmax(0,1fr) !important;gap:20px !important}body:has(.cx-hero) .cx-pulse{grid-template-columns:repeat(3,minmax(0,1fr)) !important}body:has(.cx-hero) .cx-toolbar{grid-template-columns:minmax(0,1fr) !important}}
@media(max-width:560px){body:has(.cx-hero) main{padding-top:16px !important}body:has(.cx-hero) .wrap{width:calc(100% - 24px) !important}body:has(.cx-hero) .cx-hero{padding:24px 19px !important;border-radius:22px !important;gap:18px !important}body:has(.cx-hero) .cx-hero h1{font-size:clamp(2rem,9vw,2.75rem) !important;line-height:1.04 !important}body:has(.cx-hero) .cx-hero p{font-size:.98rem !important}body:has(.cx-hero) .cx-pulse{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:7px !important}body:has(.cx-hero) .cx-pulse span{padding:10px 8px !important;font-size:.72rem !important}body:has(.cx-hero) .cx-pulse b{font-size:1.35rem !important}body:has(.cx-hero) .cx-toolbar{gap:12px !important}body:has(.cx-hero) .cx-toolbar .mx-chips{flex-wrap:nowrap !important;overflow-x:auto !important;padding-bottom:5px !important}body:has(.cx-hero) .cx-search{grid-template-columns:minmax(0,1fr) !important;padding:8px !important}body:has(.cx-hero) .cx-search button{width:100% !important}body:has(.cx-hero) .cx-post{padding:18px 15px !important;border-radius:18px !important}body:has(.cx-hero) .cx-post header{align-items:flex-start !important}body:has(.cx-hero) .cx-composer{padding:6px 16px !important}body:has(.cx-hero) .cx-composer>summary{align-items:flex-start !important;flex-wrap:wrap !important}body:has(.cx-hero) .cx-composer>summary small{margin-left:58px !important;width:100% !important}}

/* V70: Explicit, high-contrast layout for BOTH marketplace and community.
   Scoped rules are intentionally robust against inherited theme styles. */
body:has(.mx-hero) main .wrap, body:has(.cx-hero) main .wrap { width:min(1180px,calc(100% - 40px)) !important; max-width:1180px !important; margin-inline:auto !important; }
body:has(.mx-hero) main, body:has(.cx-hero) main { color:#18352a !important; font-size:16px !important; line-height:1.55 !important; }
body:has(.mx-hero) .mx-hero { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(280px,.72fr) !important; gap:22px 34px !important; align-items:center !important; padding:clamp(28px,4vw,48px) !important; margin:0 0 24px !important; border-radius:28px !important; background:linear-gradient(125deg,#073d2e,#087451) !important; color:#fff !important; }
body:has(.mx-hero) .mx-hero-text { min-width:0 !important; }
body:has(.mx-hero) .mx-hero h1 { color:#fff !important; font-size:clamp(2.2rem,4.6vw,3.6rem) !important; line-height:1.04 !important; letter-spacing:-.045em !important; margin:12px 0 !important; }
body:has(.mx-hero) .mx-hero p { color:#e0f2e9 !important; font-size:1.04rem !important; line-height:1.7 !important; }
body:has(.mx-hero) .mx-search { display:flex !important; gap:8px !important; align-items:stretch !important; min-width:0 !important; padding:8px !important; border-radius:16px !important; background:#fff !important; box-shadow:0 10px 30px #002c1d38 !important; }
body:has(.mx-hero) .mx-search input { flex:1 1 auto !important; width:100% !important; min-width:0 !important; min-height:48px !important; border:1px solid #d7e4dc !important; border-radius:11px !important; padding:12px 14px !important; color:#17382a !important; background:#fff !important; font:inherit !important; }
body:has(.mx-hero) .mx-search button { flex:0 0 auto !important; min-height:48px !important; padding:0 22px !important; border:0 !important; border-radius:11px !important; background:#e9b949 !important; color:#183323 !important; font-weight:850 !important; }
body:has(.mx-hero) .mx-stats { display:flex !important; flex-wrap:wrap !important; gap:10px !important; grid-column:1/-1 !important; align-items:stretch !important; color:#e6f6ed !important; }
body:has(.mx-hero) .mx-stats span, body:has(.mx-hero) .mx-stats a { display:flex !important; align-items:center !important; gap:8px !important; padding:10px 14px !important; border:1px solid #ffffff2e !important; border-radius:12px !important; background:#ffffff12 !important; color:#f4fff8 !important; text-decoration:none !important; }
body:has(.mx-hero) .mx-stats b { color:#fff !important; font-size:1.2rem !important; }
body:has(.mx-hero) .mx-chips, body:has(.cx-hero) .cx-toolbar .mx-chips { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:0 0 20px !important; padding:0 0 3px !important; }
body:has(.mx-hero) .mx-chip, body:has(.cx-hero) .cx-toolbar .mx-chip { display:inline-flex !important; align-items:center !important; gap:7px !important; padding:10px 14px !important; border:1px solid #d8e5dc !important; border-radius:999px !important; background:#fff !important; color:#254936 !important; font-weight:750 !important; text-decoration:none !important; line-height:1.2 !important; }
body:has(.mx-hero) .mx-chip.on, body:has(.cx-hero) .cx-toolbar .mx-chip.on { background:#075b40 !important; border-color:#075b40 !important; color:#fff !important; }
body:has(.mx-hero) .mx-filters, body:has(.mx-hero) .mx-compare { margin:0 0 18px !important; padding:15px 18px !important; border:1px solid #dce7df !important; border-radius:17px !important; background:#fff !important; box-shadow:0 5px 18px #163b2608 !important; }
body:has(.mx-hero) .mx-filters>summary, body:has(.mx-hero) .mx-compare>summary { color:#17432f !important; font-weight:850 !important; cursor:pointer !important; }
body:has(.mx-hero) .mx-filters form { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) auto !important; align-items:end !important; gap:12px !important; margin-top:15px !important; }
body:has(.mx-hero) .mx-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:stretch !important; gap:18px !important; width:100% !important; }
body:has(.mx-hero) .mx-card { display:flex !important; flex-direction:column !important; box-sizing:border-box !important; min-width:0 !important; width:100% !important; padding:22px !important; border:1px solid #dce7df !important; border-radius:22px !important; background:#fff !important; box-shadow:0 8px 28px #143c260a !important; }
body:has(.mx-hero) .mx-card>header { display:flex !important; gap:13px !important; align-items:flex-start !important; min-width:0 !important; }
body:has(.mx-hero) .mx-logo { display:grid !important; place-items:center !important; flex:0 0 50px !important; width:50px !important; height:50px !important; border-radius:15px !important; background:#e5f3e9 !important; color:#075b40 !important; font-size:1.25rem !important; font-weight:900 !important; }
body:has(.mx-hero) .mx-title { flex:1 !important; min-width:0 !important; }
body:has(.mx-hero) .mx-title h2 { margin:2px 0 8px !important; color:#173a2a !important; font-size:1.22rem !important; line-height:1.25 !important; overflow-wrap:anywhere !important; }
body:has(.mx-hero) .mx-badges { display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
body:has(.mx-hero) .mx-rating { margin:14px 0 8px !important; color:#536d5d !important; font-size:.9rem !important; }
body:has(.mx-hero) .mx-rating b { color:#93630a !important; }
body:has(.mx-hero) .mx-desc { color:#344e40 !important; font-size:.98rem !important; line-height:1.7 !important; overflow-wrap:anywhere !important; }
body:has(.mx-hero) .mx-credentials { padding:13px !important; border:1px solid #dce9df !important; border-radius:13px !important; background:#f5faf6 !important; color:#254a35 !important; }
body:has(.mx-hero) .mx-credentials small { color:#607367 !important; line-height:1.55 !important; }
body:has(.mx-hero) .mx-contact { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:8px 0 !important; }
body:has(.mx-hero) .mx-contact a { padding:8px 11px !important; border:1px solid #d8e6dc !important; border-radius:10px !important; color:#075b40 !important; font-weight:750 !important; text-decoration:none !important; }
body:has(.mx-hero) .mx-card footer { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:12px !important; margin-top:auto !important; padding-top:18px !important; }
body:has(.mx-hero) .mx-acts { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px !important; }
body:has(.mx-hero) .mx-act { min-width:0 !important; }
body:has(.mx-hero) .mx-act>summary { display:flex !important; justify-content:center !important; align-items:center !important; min-height:44px !important; padding:10px 12px !important; border-radius:11px !important; cursor:pointer !important; text-align:center !important; font-weight:800 !important; }
body:has(.mx-hero) .mx-act>form { display:grid !important; gap:12px !important; padding:14px 0 !important; }
body:has(.mx-hero) .mx-form-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
body:has(.mx-hero) label { min-width:0 !important; color:#254736 !important; font-weight:700 !important; }
body:has(.mx-hero) input:not([type=checkbox]):not([type=radio]), body:has(.mx-hero) select, body:has(.mx-hero) textarea, body:has(.cx-hero) input:not([type=checkbox]):not([type=radio]), body:has(.cx-hero) select, body:has(.cx-hero) textarea { box-sizing:border-box !important; width:100% !important; max-width:100% !important; min-height:44px !important; border:1px solid #cbdcd1 !important; border-radius:11px !important; padding:11px 13px !important; background:#fff !important; color:#18382a !important; font:inherit !important; }
body:has(.cx-hero) .cx-hero { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:center !important; gap:24px !important; padding:clamp(28px,4vw,48px) !important; margin:0 0 24px !important; border-radius:28px !important; background:linear-gradient(125deg,#073d2e,#087451) !important; color:#fff !important; }
body:has(.cx-hero) .cx-hero h1 { margin:12px 0 !important; color:#fff !important; font-size:clamp(2.2rem,4.6vw,3.6rem) !important; line-height:1.04 !important; letter-spacing:-.045em !important; }
body:has(.cx-hero) .cx-hero p { color:#e0f2e9 !important; font-size:1.04rem !important; line-height:1.7 !important; }
body:has(.cx-hero) .cx-pulse { display:grid !important; grid-template-columns:repeat(3,minmax(82px,1fr)) !important; gap:9px !important; }
body:has(.cx-hero) .cx-pulse span { display:flex !important; flex-direction:column !important; gap:7px !important; padding:14px !important; border:1px solid #ffffff30 !important; border-radius:15px !important; background:#ffffff12 !important; color:#e7f6ed !important; }
body:has(.cx-hero) .cx-pulse b { color:#fff !important; font-size:1.6rem !important; }
body:has(.cx-hero) .cx-toolbar { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(340px,.9fr) !important; align-items:center !important; gap:14px !important; margin-bottom:20px !important; }
body:has(.cx-hero) .cx-search { display:grid !important; grid-template-columns:minmax(0,1fr) 125px 62px !important; gap:8px !important; min-width:0 !important; padding:8px !important; border:1px solid #dce7df !important; border-radius:15px !important; background:#fff !important; }
body:has(.cx-hero) .cx-search button { min-height:44px !important; border:0 !important; border-radius:10px !important; background:#075b40 !important; color:#fff !important; font-weight:800 !important; }
body:has(.cx-hero) .cx-feed { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:16px !important; }
body:has(.cx-hero) .cx-post { padding:clamp(18px,2.5vw,28px) !important; border:1px solid #dce7df !important; border-radius:21px !important; background:#fff !important; box-shadow:0 8px 28px #143c260a !important; }
@media(max-width:850px){body:has(.mx-hero) main .wrap,body:has(.cx-hero) main .wrap{width:calc(100% - 28px)!important}body:has(.mx-hero) .mx-hero{grid-template-columns:minmax(0,1fr)!important}body:has(.mx-hero) .mx-stats{grid-column:auto!important}body:has(.mx-hero) .mx-grid{grid-template-columns:minmax(0,1fr)!important}body:has(.mx-hero) .mx-filters form{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:has(.cx-hero) .cx-hero{grid-template-columns:minmax(0,1fr)!important}body:has(.cx-hero) .cx-toolbar{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:560px){body:has(.mx-hero) main .wrap,body:has(.cx-hero) main .wrap{width:calc(100% - 22px)!important}body:has(.mx-hero) .mx-hero,body:has(.cx-hero) .cx-hero{padding:23px 17px!important;border-radius:20px!important}body:has(.mx-hero) .mx-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}body:has(.mx-hero) .mx-search{display:grid!important;grid-template-columns:minmax(0,1fr)!important}body:has(.mx-hero) .mx-search button{width:100%!important}body:has(.mx-hero) .mx-grid{grid-template-columns:minmax(0,1fr)!important}body:has(.mx-hero) .mx-filters form,body:has(.mx-hero) .mx-form-grid{grid-template-columns:minmax(0,1fr)!important}body:has(.mx-hero) .mx-acts{grid-template-columns:minmax(0,1fr)!important}body:has(.cx-hero) .cx-pulse{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}body:has(.cx-hero) .cx-pulse span{padding:9px 7px!important;font-size:.75rem!important}body:has(.cx-hero) .cx-pulse b{font-size:1.25rem!important}body:has(.cx-hero) .cx-toolbar .mx-chips{flex-wrap:nowrap!important;overflow-x:auto!important}body:has(.cx-hero) .cx-search{grid-template-columns:minmax(0,1fr)!important}body:has(.cx-hero) .cx-search button{width:100%!important}}

/* V77: Emerald & Gold luxury homepage visual refresh. CSS-only; preserves existing routes, data bindings and forms. */
body:has(.hero){background:#f5f3e9!important;color:#07382a!important}
body:has(.hero) .top{background:rgba(3,43,32,.97)!important;border-bottom:1px solid rgba(238,190,69,.22)!important;box-shadow:0 8px 28px rgba(2,34,25,.22)!important}
body:has(.hero) .top .logo{color:#fff!important}
body:has(.hero) .top .links .btn,body:has(.hero) .top .perf-btn{background:linear-gradient(145deg,#0b6048,#06412f)!important;color:#fff!important;border:1px solid rgba(241,195,76,.25)!important;box-shadow:0 5px 0 rgba(0,0,0,.18),0 8px 18px rgba(0,0,0,.12)!important}
body:has(.hero) .top .owner-direct-link{background:linear-gradient(145deg,#f8d777,#dca52a)!important;color:#183b2b!important;border-color:#ffe8a0!important}
body:has(.hero) main{padding-top:18px!important}
body:has(.hero) main>.wrap{max-width:1280px!important}
body:has(.hero) .hero{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:20px;min-height:390px;padding:clamp(26px,4vw,52px);border:1px solid rgba(239,190,67,.45);border-radius:30px;background:radial-gradient(ellipse at 78% 35%,rgba(26,132,87,.42),transparent 36%),linear-gradient(125deg,#032b20 0%,#064632 55%,#021e17 100%);box-shadow:0 22px 55px rgba(3,49,35,.22),inset 0 1px 0 rgba(255,255,255,.08);color:#f8fbf5}
body:has(.hero) .hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 45%,rgba(238,187,56,.07) 70%,transparent 100%);pointer-events:none}
body:has(.hero) .hero h1{color:#fff;font-size:clamp(36px,4.4vw,61px);letter-spacing:-.045em;line-height:1.02;margin:0}
body:has(.hero) .hero h1 span{background:linear-gradient(100deg,#ffe7a0 0%,#f4c44d 45%,#d99c20 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
body:has(.hero) .hero .lead{max-width:34em;color:#d5e9dd;font-size:clamp(16px,1.5vw,20px);line-height:1.7;margin:20px 0 24px}
body:has(.hero) .hero .mute{color:#c5dfd1!important}
body:has(.hero) .hero .btn.pri{background:linear-gradient(145deg,#f7d36e,#dca528)!important;color:#173c2c!important;border:1px solid #ffe6a1!important;box-shadow:0 5px 0 #986b13,0 12px 24px rgba(0,0,0,.18)!important;font-weight:850}
body:has(.hero) .hero .cta .btn:not(.pri){background:rgba(3,35,26,.5)!important;border:1px solid rgba(255,255,255,.65)!important;color:#fff!important;box-shadow:inset 0 1px rgba(255,255,255,.08)!important}
body:has(.hero) .scene{min-width:0;height:340px;perspective:1100px}
body:has(.hero) .stack{filter:drop-shadow(0 28px 24px rgba(0,0,0,.3));transform:rotateX(58deg) rotateZ(-20deg) scale(.92)}
body:has(.hero) .coin{border-color:#f4c13e;background:radial-gradient(circle at 32% 23%,#fff1bd 0%,#f6cf59 27%,#d99a12 69%,#98630a 100%);box-shadow:inset 0 0 0 8px rgba(255,255,255,.19),inset 0 0 0 12px rgba(142,88,0,.12),0 8px 0 #98660d,0 18px 25px rgba(0,0,0,.22)}
body:has(.hero) .coin:after{color:#79500b;text-shadow:0 1px rgba(255,255,255,.4)}
body:has(.hero) .float{background:rgba(250,250,240,.96);color:#123b2c;border:1px solid rgba(235,192,80,.55);box-shadow:0 16px 35px rgba(0,0,0,.22);backdrop-filter:blur(18px)}
body:has(.hero) .float small{color:#567064}
body:has(.hero) .section{padding-top:30px;padding-bottom:28px}
body:has(.hero) .section h2{color:#073c2c;letter-spacing:-.035em;font-size:clamp(25px,3vw,34px)}
body:has(.hero) .features{gap:16px}
body:has(.hero) .features .card{border:1px solid #d8e7d8;background:linear-gradient(145deg,#fffef8,#e9f4e8);box-shadow:0 8px 20px rgba(6,61,42,.07);border-radius:20px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
body:has(.hero) .features .card:hover{transform:translateY(-5px);border-color:#d7b24b;box-shadow:0 17px 34px rgba(6,61,42,.14)}
body:has(.hero) .features .card h3{color:#073c2c}
body:has(.hero) .features .card .ico{background:linear-gradient(145deg,#0a6848,#032e21);color:#f7d36e;border:1px solid rgba(241,197,81,.38);box-shadow:0 7px 0 #02281d,0 12px 20px rgba(2,45,31,.17)}
body:has(.hero) .hero3d{background:linear-gradient(120deg,#032b20,#07573d 70%,#0b6b49);border:1px solid rgba(240,193,69,.42);border-radius:22px;box-shadow:0 15px 35px rgba(3,49,35,.16)}
body:has(.hero) .hero3d p{color:#d3e8dc}
body:has(.hero) .hero3d .btn.gold{background:linear-gradient(145deg,#f8d777,#dca52a)!important;color:#153b2a!important;box-shadow:0 4px 0 #966a14!important}
body:has(.hero) .plans .card{border-radius:22px;border-color:#dce7d9;box-shadow:0 8px 24px rgba(6,61,42,.07)}
body:has(.hero) footer{color:#587367}
@media(max-width:760px){body:has(.hero) main{padding-top:10px!important}body:has(.hero) .hero{grid-template-columns:minmax(0,1fr);padding:25px 20px 18px;border-radius:23px;gap:8px;min-height:0}body:has(.hero) .hero h1{font-size:clamp(34px,9vw,48px)}body:has(.hero) .hero .lead{font-size:16px;margin:15px 0 18px}body:has(.hero) .scene{height:230px;margin-top:0;overflow:hidden}body:has(.hero) .stack{transform:rotateX(58deg) rotateZ(-20deg) scale(.65)}body:has(.hero) .float{font-size:12px;padding:9px 11px;border-radius:13px}body:has(.hero) .float.a{top:5px;left:0}body:has(.hero) .float.b{bottom:8px;right:0}body:has(.hero) .float.c{top:72px;right:0}body:has(.hero) .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}body:has(.hero) .features .card{padding:15px;border-radius:17px}body:has(.hero) .hero3d{padding:20px}}
@media(max-width:380px){body:has(.hero) .features{grid-template-columns:minmax(0,1fr)}body:has(.hero) .top .wrap{gap:5px}body:has(.hero) .top .logo span{font-size:17px}body:has(.hero) .top .links{gap:4px}body:has(.hero) .header-logout button{font-size:11px;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){body:has(.hero) .stack,body:has(.hero) .float{animation:none!important}body:has(.hero) .features .card{transition:none!important}}

/* ChamaPay V78: futuristic emerald glass homepage concept.
   Scoped to the public landing page so internal workflows and records are untouched. */
body:has(.hero){
  --glass-ink:#eafbf5;--glass-muted:#b8d9d0;--glass-line:rgba(179,255,231,.28);
  background:radial-gradient(ellipse at 12% 8%,rgba(16,185,129,.24),transparent 34%),radial-gradient(ellipse at 88% 22%,rgba(34,211,238,.18),transparent 32%),linear-gradient(145deg,#031c18 0%,#063b31 48%,#062923 100%);
  color:var(--glass-ink);
}
body:has(.hero) main{position:relative;isolation:isolate}
body:has(.hero) main:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.45;background:radial-gradient(circle at 80% 12%,rgba(255,209,91,.17),transparent 17%),radial-gradient(circle at 18% 65%,rgba(53,220,191,.12),transparent 22%)}
body:has(.hero) .top{background:rgba(3,34,29,.76)!important;border-bottom:1px solid var(--glass-line)!important;box-shadow:0 10px 36px rgba(0,0,0,.2)!important;backdrop-filter:blur(24px) saturate(145%)!important;-webkit-backdrop-filter:blur(24px) saturate(145%)!important}
body:has(.hero) .top .logo,body:has(.hero) .top .links,body:has(.hero) .top a{color:#f2fff9}
body:has(.hero) .hero{position:relative;overflow:hidden;padding:clamp(24px,4vw,48px);border:1px solid rgba(182,255,231,.3);border-radius:30px;background:linear-gradient(120deg,rgba(3,47,38,.84),rgba(7,100,79,.52) 54%,rgba(8,50,46,.72));box-shadow:0 28px 80px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body:has(.hero) .hero:after{content:"";position:absolute;inset:-45% -20% auto 30%;height:190%;transform:rotate(24deg);pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),rgba(120,255,220,.1),transparent);animation:chamaGlassSheen 13s ease-in-out infinite}
@keyframes chamaGlassSheen{0%,100%{translate:-12% 0}50%{translate:12% 0}}
body:has(.hero) .hero h1{color:#f4fff9;text-shadow:0 6px 30px rgba(0,0,0,.25)}
body:has(.hero) .hero h1 span{background:linear-gradient(100deg,#7ef5d0 0%,#e8fff6 42%,#ffd66e 76%,#e9ac31 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
body:has(.hero) .hero .lead,body:has(.hero) .hero .mute{color:var(--glass-muted)}
body:has(.hero) .scene{filter:drop-shadow(0 22px 35px rgba(0,0,0,.3))}
body:has(.hero) .coin{border-color:#f8ce56;background:radial-gradient(circle at 30% 23%,#fff5bd 0%,#f8cf5b 28%,#d99916 66%,#8b5708 100%);box-shadow:inset 0 0 0 7px rgba(255,255,255,.2),inset 0 -12px 20px rgba(100,55,0,.22),0 9px 0 #86530c,0 26px 36px rgba(0,0,0,.34)}
body:has(.hero) .float{color:#effff8;background:rgba(7,69,56,.62);border:1px solid rgba(196,255,235,.35);box-shadow:0 16px 36px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
body:has(.hero) .float small{color:#b9e1d5}
body:has(.hero) .btn:not(.pri):not(.gold){color:#effff9;background:rgba(255,255,255,.08);border:1px solid rgba(201,255,238,.35);box-shadow:0 8px 22px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.14)}
body:has(.hero) .btn.pri{background:linear-gradient(135deg,#16c99a,#087958);box-shadow:0 5px 0 #064b3b,0 14px 30px rgba(5,185,134,.2)}
body:has(.hero) .btn.gold{background:linear-gradient(135deg,#ffe89a,#e5a920);color:#352400;box-shadow:0 5px 0 #95670b,0 14px 30px rgba(230,174,40,.22)}
body:has(.hero) .section h2,body:has(.hero) .section h3{color:#f0fff8}
body:has(.hero) .features a.card,body:has(.hero) .card{background:linear-gradient(145deg,rgba(224,255,246,.14),rgba(161,241,218,.055))!important;border:1px solid rgba(196,255,236,.24)!important;color:#effff8;box-shadow:0 15px 35px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.14)!important;backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
body:has(.hero) .features a.card:hover{transform:translateY(-5px) rotateX(1deg);border-color:rgba(255,215,103,.65)!important;box-shadow:0 24px 44px rgba(0,0,0,.24),0 0 28px rgba(46,222,177,.1)!important}
body:has(.hero) .features .ico{color:#ffda73;background:linear-gradient(145deg,rgba(9,145,105,.9),rgba(3,55,44,.85));border:1px solid rgba(255,231,153,.38);box-shadow:0 8px 22px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.2)}
body:has(.hero) .mute{color:#b9d9d0}
body:has(.hero) .hero3d{background:linear-gradient(110deg,rgba(5,87,66,.9),rgba(8,48,45,.88))!important;border:1px solid rgba(255,219,114,.34)!important}
body:has(.hero) .plans .card{background:linear-gradient(145deg,rgba(217,255,245,.13),rgba(130,220,195,.055))!important}
body:has(.hero) footer{color:#a8d4c7;border-top:1px solid var(--glass-line);padding-top:22px}
body:has(.hero) footer a{color:#ffdc7c}
@media(max-width:760px){body:has(.hero) .hero{padding:23px 18px;border-radius:23px}body:has(.hero) .hero:after{animation:none}body:has(.hero) .features a.card:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){body:has(.hero) .hero:after{animation:none!important}body:has(.hero) .features a.card{transition:none!important}}


/* V79 accessibility and installation improvements: high contrast, larger type, calm glass surfaces. */
:root{--cp-readable-ink:#17372d;--cp-readable-muted:#435d53;--cp-readable-border:#b7c9bf;--cp-readable-gold:#8a5b00}
html{font-size:17px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{line-height:1.6}
p,li,label,input,select,textarea,button,.btn,.mute,small{line-height:1.55}
button,.btn,a,input,select,textarea,summary{touch-action:manipulation}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #d89d18!important;outline-offset:3px!important}
/* Pricing is intentionally opaque and dark-text-on-light for older eyes. */
body:has(.hero) #pricing{color:var(--cp-readable-ink)}
body:has(.hero) #pricing h2{color:#123d30!important;text-shadow:none!important}
body:has(.hero) #pricing>p,body:has(.hero) #pricing .mute{color:var(--cp-readable-muted)!important}
body:has(.hero) #pricing .plans .card,
body:has(.hero) #pricing .plans .card.best{background:#fffdf6!important;color:#183b30!important;border:2px solid #c6d8cc!important;box-shadow:0 10px 28px rgba(9,46,34,.13)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body:has(.hero) #pricing .plans .card h3,
body:has(.hero) #pricing .plans .card .price{color:#123d30!important;text-shadow:none!important}
body:has(.hero) #pricing .plans .card .price small{color:#435d53!important}
body:has(.hero) #pricing .plans .card p,
body:has(.hero) #pricing .plans .card li{color:#344f44!important}
body:has(.hero) #pricing .plans .card li:before{color:#8a5b00!important}
body:has(.hero) #pricing .plans .card .btn{font-size:1rem;min-height:48px}
body:has(.hero) #pricing .badge{color:#332300!important;background:#ffd46a!important;border:1px solid #8a5b00!important}
/* Reduce glass translucency behind small text while keeping the premium visual style. */
body:has(.hero) .hero .lead{color:#f3fff9!important;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.65}
body:has(.hero) .hero .mute{color:#e1f3ec!important}
body:has(.hero) .features a.card{background:linear-gradient(145deg,rgba(8,68,52,.96),rgba(6,49,41,.96))!important;border-color:rgba(226,255,244,.45)!important}
body:has(.hero) .features a.card p,body:has(.hero) .features a.card .mute{color:#e5f6ef!important}
/* Global text and controls: comfortable sizes and clear boundaries. */
.card,fieldset,dialog{border-color:var(--cp-readable-border)}
input,select,textarea{font-size:1rem!important;min-height:46px}
button,.btn{font-size:1rem;min-height:44px}
label,.form-label{font-size:1rem}
.mute{color:#435d53}
@media(max-width:700px){html{font-size:17px}body{line-height:1.65}.btn,button{min-height:48px}body:has(.hero) #pricing .plans .card{padding:22px 18px}body:has(.hero) #pricing .plans .card .price{font-size:clamp(2rem,9vw,2.7rem)}}
@media(prefers-contrast:more){body:has(.hero) #pricing .plans .card{border:3px solid #17372d!important}body:has(.hero) .hero .lead,body:has(.hero) .hero .mute{color:#fff!important}}


/* V81 accessibility: increase contrast on the public feature overview. */
.section h2 { color: #123b2b !important; text-shadow: none !important; }
.features a.card {
  background: #ffffff !important;
  color: #14231d !important;
  border: 1px solid #c5d7cd !important;
  box-shadow: 0 8px 22px rgba(6,56,42,.10) !important;
  text-shadow: none !important;
}
.features a.card h3 { color: #123b2b !important; font-weight: 800; line-height: 1.25; }
.features a.card p, .features a.card .mute { color: #43584d !important; opacity: 1 !important; line-height: 1.55; }
.features a.card:hover { border-color: #0e8a5f !important; box-shadow: 0 12px 28px rgba(6,56,42,.16) !important; transform: translateY(-2px); }
.features a.card:focus-visible { outline: 3px solid #b98212 !important; outline-offset: 3px; }
@media (prefers-contrast: more) {
  .features a.card { border: 2px solid #123b2b !important; }
  .features a.card p, .features a.card .mute { color: #14231d !important; }
}
