*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
#app{display:flex;flex-direction:column;min-height:100vh}
.page-content{flex:1 0 auto;padding-bottom:24px}
.page-content-home{display:flex;flex-direction:column;justify-content:center;padding-bottom:0}
.page-content-home .home-fold{flex:0 0 auto}
:root{
  /* One-colour system: a single dark-green -> mint ramp. Every gold/yellow
     accent in the old palette now resolves to mint, so --gold is kept as a
     name only to avoid touching dozens of call sites. */
  /* Brand colours per the reference guide. The bright mint accent
     has been removed from the project entirely - the only greens now are the
     dark forest green and a very pale soft green used for surfaces. */
  --green:#0F4D3E;          /* primary / dark forest green   */
  --green-dark:#0F4D3E;     /* sidebar, header               */
  --green-hover:#0B3B30;    /* hover - darker, not lighter   */
  --mint-accent:#0F4D3E;    /* was a bright mint - now dark green */
  --mint:#E6F4EC;           /* soft green surface            */
  --dark:#1F2D24;           /* main text                     */
  --text:#2E3B33;
  --muted:#4B5E55;          /* secondary text                */
  --border:#DDE8E2;
  --bg:#F6FAF8;             /* light section background      */
  --white:#FFFFFF;
  --gold:#0F4D3E;           /* generic accent - dark green, no mint    */
  --rating-star:#F5B301;    /* classic yellow used only for review stars */
  --gold-real:#C9A24B;      /* true gold - ONLY the two "Become a Member"
                               calls to action, per the reference image */

  --motion-instant: 100ms;
  --motion-fast: 140ms;
  --motion-standard: 190ms;
  --motion-slow: 280ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}
/* Baseline motion applied to the most common interactive elements site-wide
   (buttons, cards, inputs, nav items), restrained, no bounce/zoom/glow. */
.btn, .btn-outline, .btn-soft, .btn-full, a.btn, button {
  transition: background var(--motion-standard) var(--ease-standard), color var(--motion-standard) var(--ease-standard), border-color var(--motion-standard) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-standard) var(--ease-standard);
}
.btn:active, .btn-outline:active, .btn-soft:active, .btn-full:active { transform: translateY(1px); }
.card, .card-hover { transition: border-color var(--motion-standard) var(--ease-standard), box-shadow var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard); }
.card-hover:hover { transform: translateY(-1px); }
input, select, textarea { transition: border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard); }
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--green);text-decoration:none}

/* NAV */
/* Disabled controls had no styling at all, so a disabled button looked
   identical to a working one. Clicking it did nothing and said nothing -
   which is exactly what "the publish button doesn't work" felt like. */
button:disabled,.btn:disabled,.btn[disabled]{
  opacity:.45;cursor:not-allowed;filter:grayscale(.35);box-shadow:none
}
button:disabled:hover,.btn:disabled:hover,.btn[disabled]:hover{
  transform:none;opacity:.45
}

/* Live checklist under the publish button telling you what is still missing. */
.form-requirements{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.9}
.form-requirements .req{display:flex;align-items:center;gap:7px}
.form-requirements .req.ok{color:var(--green)}
.form-requirements .req .mark{width:14px;display:inline-block;text-align:center;font-weight:700}

/* ── HEADER NAVIGATION ────────────────────────────────────────────────────
   Association header palette. Kept as variables so the whole bar can be
   retuned from one place instead of hunting hex codes through the file. */
:root{
  --hdr-bg:#0F4D3E;            /* main header background */
  --hdr-bg-deep:#0B3B30;       /* slightly darker areas (mobile drawer) */
  --hdr-btn-bg:rgba(255,255,255,.06);
  --hdr-btn-border:rgba(255,255,255,.16);
  --hdr-btn-text:#F8FAF9;
  --hdr-btn-bg-hover:rgba(255,255,255,.13);
  --hdr-btn-border-hover:rgba(255,255,255,.30);
  --hdr-btn-bg-active:#F8FAF9; /* current page - light chip */
  --hdr-btn-text-active:#0F4D3E;
  --hdr-focus:#FFFFFF;
  --hdr-shadow:0 4px 12px rgba(0,0,0,.12);
  --hdr-motion:background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.nav{background:var(--hdr-bg);position:sticky;top:0;z-index:30}
.nav-inner{display:flex;align-items:center;padding:0 24px;max-width:none;margin:0;gap:0;min-height:64px;flex-wrap:nowrap}

/* Logo block - untouched: same mark, same name, same subtitle, same route. */
.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 0;flex:0 0 auto;border:none;background:none}
.nav-logo-icon{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:11px}
.nav-logo-text{line-height:1.2;text-align:left}
.nav-logo-text p{font-weight:700;font-size:14px;color:#fff;margin:0}
.nav-logo-text span{font-size:10px;color:rgba(255,255,255,.55)}

/* Navigation sits centred in whatever space is left between logo and account
   controls, and wraps to a second row rather than overflowing or overlapping. */
.nav-links{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex:0 1 auto;flex-wrap:nowrap;min-width:0;margin-left:28px}

/* Icon + label chip. Height ~38px comes from 9px padding + 20px line box. */
.nav-link{
  display:inline-flex;align-items:center;gap:7px;
  height:38px;padding:0 13px;border-radius:8px;
  background:var(--hdr-btn-bg);border:1px solid var(--hdr-btn-border);
  color:var(--hdr-btn-text);font-family:inherit;font-size:13.5px;font-weight:600;
  white-space:nowrap;cursor:pointer;transition:var(--hdr-motion)
}
.nav-link-ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-link-ic svg{display:block;stroke-width:1.9}
.nav-link:hover{background:var(--hdr-btn-bg-hover);border-color:var(--hdr-btn-border-hover);transform:translateY(-1px);box-shadow:var(--hdr-shadow)}
.nav-link.active{background:var(--hdr-btn-bg-active);border-color:var(--hdr-btn-bg-active);color:var(--hdr-btn-text-active);box-shadow:var(--hdr-shadow)}
.nav-link.active:hover{background:#fff;border-color:#fff;color:var(--hdr-btn-text-active)}
.nav-link:focus-visible{outline:2px solid var(--hdr-focus);outline-offset:2px}

/* Language + account controls, right aligned. */
.nav-auth{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:8px}

/* Admin / Dashboard / Login - solid light chip, dark green content. */
.nav-auth-btn{
  display:inline-flex;align-items:center;gap:7px;
  height:38px;padding:0 14px;border-radius:8px;
  background:var(--hdr-btn-bg-active);border:1px solid var(--hdr-btn-bg-active);
  color:var(--hdr-btn-text-active);font-family:inherit;font-size:13.5px;font-weight:600;
  white-space:nowrap;cursor:pointer;box-shadow:var(--hdr-shadow);transition:var(--hdr-motion)
}
.nav-auth-btn:hover{background:#EDF5F1;border-color:#EDF5F1;transform:translateY(-1px)}
.nav-auth-btn:focus-visible{outline:2px solid var(--hdr-focus);outline-offset:2px}

/* Logout - transparent by default; muted red only on hover, never permanent. */
.nav-auth-logout{
  display:inline-flex;align-items:center;gap:7px;
  height:38px;padding:0 13px;border-radius:8px;
  background:transparent;border:1px solid var(--hdr-btn-border);
  color:var(--hdr-btn-text);font-family:inherit;font-size:13.5px;font-weight:600;
  white-space:nowrap;cursor:pointer;transition:var(--hdr-motion)
}
.nav-auth-logout:hover{background:rgba(220,53,69,.10);border-color:rgba(220,53,69,.45);color:#FFE3E5;transform:translateY(-1px)}
.nav-auth-logout:focus-visible{outline:2px solid var(--hdr-focus);outline-offset:2px}

/* Mobile drawer toggle. */
.nav-mobile-toggle{display:none;background:var(--hdr-btn-bg);border:1px solid var(--hdr-btn-border);border-radius:8px;color:var(--hdr-btn-text);cursor:pointer;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;transition:var(--hdr-motion)}
.nav-mobile-toggle:hover{background:var(--hdr-btn-bg-hover);border-color:var(--hdr-btn-border-hover)}
.nav-mobile-toggle:focus-visible{outline:2px solid var(--hdr-focus);outline-offset:2px}

.nav-mobile-menu{display:flex;flex-direction:column;gap:6px;padding:10px 20px 16px;background:var(--hdr-bg-deep);border-top:1px solid rgba(255,255,255,.12)}
/* 44px minimum touch target on mobile. */
.nav-mobile-link{
  display:flex;align-items:center;gap:10px;text-align:left;
  min-height:46px;padding:0 12px;border-radius:8px;
  background:var(--hdr-btn-bg);border:1px solid var(--hdr-btn-border);
  color:var(--hdr-btn-text);font-family:inherit;font-size:14.5px;font-weight:600;
  cursor:pointer;transition:var(--hdr-motion)
}
.nav-mobile-link:hover{background:var(--hdr-btn-bg-hover);border-color:var(--hdr-btn-border-hover)}
.nav-mobile-link.active{background:var(--hdr-btn-bg-active);border-color:var(--hdr-btn-bg-active);color:var(--hdr-btn-text-active)}
.nav-mobile-link:focus-visible{outline:2px solid var(--hdr-focus);outline-offset:2px}
.nav-mobile-auth{padding-top:10px;margin-top:4px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nav-mobile-auth .nav-auth-btn,.nav-mobile-auth .nav-auth-logout{min-height:44px;height:auto}

/* Segmented EN / ΕΛ control - same setLang() calls, new shell. */
.nav-lang-switch{display:inline-flex;gap:2px;background:rgba(0,0,0,.18);border:1px solid var(--hdr-btn-border);border-radius:100px;padding:3px}
.nav-lang-btn{
  border:none;background:transparent;color:rgba(248,250,249,.72);
  font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.2px;
  min-width:38px;height:30px;padding:0 11px;border-radius:100px;cursor:pointer;
  transition:var(--hdr-motion)
}
.nav-lang-btn:hover{color:#fff;background:var(--hdr-btn-bg-hover)}
.nav-lang-btn.active{background:var(--hdr-btn-bg-active);color:var(--hdr-btn-text-active);box-shadow:0 1px 3px rgba(0,0,0,.16)}
.nav-lang-btn:focus-visible{outline:2px solid var(--hdr-focus);outline-offset:2px}

/* The header must never wrap onto a second row (that is what pushed "Join"
   down onto its own line). Instead it degrades in three steps as width drops:
     1260px - tighten padding and the logo subtitle goes
     1120px - the association name goes, logo mark stays
     1000px - labels go, icons only
     768px  - everything collapses into the existing hamburger menu */
@media(max-width:1400px) and (min-width:769px){
  .nav-links{margin-left:24px}
  .nav-link{padding:0 10px;font-size:13px}
  .nav-auth-btn,.nav-auth-logout{padding:0 11px;font-size:13px}
  .nav-logo-text span{display:none}
}
@media(max-width:1260px) and (min-width:769px){
  .nav-logo-text{display:none}
}
@media(max-width:1150px) and (min-width:769px){
  .nav-link{padding:0 9px;gap:0}
  .nav-link span:not(.nav-link-ic){display:none}
  .nav-auth-logout span:not(.nav-link-ic){display:none}
  .nav-auth-logout{padding:0 10px}
}

/* CARDS */
.card{background:var(--white);border:1px solid var(--border);border-radius:12px;transition:all .2s}
.card-hover:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 4px 12px rgba(15,76,53,.08);cursor:pointer}

/* NEWS / ANNOUNCEMENT CARD IMAGES, Instagram-style, full image always visible, no cropping */
.news-card{padding:0;overflow:hidden;margin-bottom:16px;border-radius:14px;box-shadow:0 1px 2px rgba(15,76,53,.03);border-left:3px solid var(--green)}
.news-feed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-content:start;animation:newsFadeIn .35s ease-out}
.news-feed-grid .news-card{margin-bottom:0}
@media(max-width:700px){.news-feed-grid{grid-template-columns:1fr}}
@keyframes newsFadeIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.news-feed-grid{animation:none}}
.news-empty-illustrated{grid-column:1/-1;text-align:center;padding:48px 24px;background:linear-gradient(135deg,#f3f8f5,#fff)}
.news-empty-illustrated .news-empty-icon{color:var(--green);margin-bottom:10px;display:flex;justify-content:center}
.news-empty-illustrated p{color:var(--muted);margin:0}
.news-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:100px;background:#C0392B;color:#fff;font-size:10px;font-weight:800;margin-left:6px}
.featured-browse-panel{border-top:3px solid var(--green);background:var(--mint)}
.news-card:hover{box-shadow:0 10px 24px rgba(15,76,53,.10);border-color:var(--green)}
.news-card-img-wrap{position:relative;width:100%;max-height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:14px 14px 0 0;background-color:#f3f5f4;cursor:zoom-in}
/* Card images are not zoomable, clicking one just opens the article, so the
   magnifier cursor was misleading. */
.news-card-img-plain{cursor:pointer}
/* Announcement / news photos are not clickable-to-enlarge: no magnifier
   cursor, no lightbox, no hover effect. */
.news-card-img-static,.news-card-img-static img{cursor:default}
.news-card-img-wrap img{width:100%;height:auto;max-height:560px;display:block;object-fit:contain;object-position:center;border-radius:14px 14px 0 0;background-color:#f3f5f4}
.news-card-img-fallback-tag{position:absolute;bottom:8px;left:10px;font-size:10px;font-weight:600;color:#fff;background:rgba(0,0,0,.32);padding:3px 8px;border-radius:100px;letter-spacing:.02em;backdrop-filter:blur(2px)}
.news-card-body{padding:16px 18px}

/* NEWS SIDEBAR: unread indicators, browse list, archive list */
.unread-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#C0392B;flex-shrink:0}
.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:100px;background:#C0392B;color:#fff;font-size:10.5px;font-weight:800}
.news-unread-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.news-unread-row{display:flex;align-items:center;gap:8px;padding:8px 6px;border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--dark);font-weight:600}
.news-unread-row:hover{background:var(--mint)}
.news-browse-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.news-browse-row{display:flex;align-items:center;justify-content:space-between;padding:9px 6px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text)}
.news-browse-row:hover{background:var(--mint)}
.news-browse-row.active{background:var(--mint);color:var(--green-dark);font-weight:700}
.news-browse-right{display:flex;align-items:center;gap:6px}
.news-browse-count{font-size:11.5px;color:var(--muted);font-weight:600}
.news-archive-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.news-archive-row{display:flex;align-items:center;justify-content:space-between;padding:9px 6px;border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--text)}
.news-archive-row:hover{background:var(--mint)}
.news-archive-row.active{background:var(--mint);color:var(--green-dark);font-weight:700}

/* NEWS DETAIL PAGE */
.rich-content{margin-top:20px;font-size:15px;line-height:1.75;color:var(--text);max-width:100%}
.rich-content h2{font-size:19px;font-weight:800;color:var(--dark);margin:24px 0 10px}
.rich-content h3{font-size:16.5px;font-weight:800;color:var(--dark);margin:20px 0 8px}
.rich-content h4{font-size:15px;font-weight:700;color:var(--dark);margin:16px 0 6px}
.rich-content p{margin:0 0 14px}
.rich-content ul,.rich-content ol{margin:0 0 14px;padding-left:22px}
.rich-content li{margin-bottom:6px}
.rich-content a{color:var(--green);font-weight:600;text-decoration:underline}
.rich-content blockquote{border-left:3px solid var(--green);background:var(--mint);padding:10px 16px;border-radius:0 8px 8px 0;margin:0 0 14px;color:var(--green-dark);font-style:italic}
.rich-content strong{color:var(--dark)}
.rich-figure{margin:0 0 14px}
.rich-figure img{width:100%;border-radius:10px;display:block}
.rich-figure figcaption{font-size:12px;color:var(--muted);margin-top:6px;text-align:center}
.rich-table{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:13.5px}
.rich-table td{border:1px solid var(--border);padding:8px 10px}
.rich-table tr:first-child td{background:var(--mint);font-weight:700;color:var(--green-dark)}

.news-share-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.news-share-row-mobile{display:none}
.share-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--green);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.share-btn:hover{background:var(--mint)}
.news-share-col{display:flex;flex-direction:column;gap:8px}
.news-share-col .btn{justify-content:flex-start}

.news-info-rows{display:flex;flex-direction:column}
.news-info-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--bg);font-size:12.5px}
.news-info-row:last-child{border-bottom:none}
.news-info-row span{color:var(--muted)}
.news-info-row b{color:var(--dark);font-weight:700;text-align:right}

.related-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related-news-card{cursor:pointer;overflow:hidden;padding:0}
.related-news-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;background:#f3f5f4}
.related-news-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){.related-news-grid{grid-template-columns:1fr}}

.news-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.news-prevnext-btn{text-align:left;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:4px}
.news-prevnext-btn:hover{border-color:var(--green);background:var(--mint)}
.news-prevnext-btn.right{text-align:right;align-items:flex-end}
.news-prevnext-btn .lbl{font-size:11px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:4px}
.news-prevnext-btn.right .lbl{flex-direction:row-reverse}
.news-prevnext-btn .ttl{font-size:13px;font-weight:700;color:var(--dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:640px){.news-prevnext{grid-template-columns:1fr}.news-share-row-mobile{display:flex}}

/* FEATURED OFFERS SECTION (News page) */
.featured-offers-section{margin-bottom:22px}
.featured-offers-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--dark);margin-bottom:12px}
.featured-offers-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.featured-offers-track::-webkit-scrollbar{height:6px}
.featured-offers-track::-webkit-scrollbar-thumb{background:var(--border);border-radius:100px}
.offer-card{flex:0 0 272px;scroll-snap-align:start;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s}
.offer-card:hover{box-shadow:0 8px 22px rgba(15,76,53,.12);border-color:var(--green)}
.offer-card-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.offer-card-logo{width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;overflow:hidden;flex-shrink:0}
.offer-card-logo img{width:100%;height:100%;object-fit:cover}
.offer-card-company{font-size:12px;font-weight:700;color:var(--green-dark);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.offer-card-badge{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:800;letter-spacing:.03em;color:var(--gold-dark,#8a6d1a);background:#E6F4EC;border:1px solid #C6E2D3;padding:3px 8px;border-radius:100px;flex-shrink:0;text-transform:uppercase}
.offer-card-title{font-size:16px;font-weight:800;color:var(--green-dark);line-height:1.3;margin-bottom:6px}
.offer-card-desc{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.offer-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--bg)}
.offer-card-expiry{font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:3px}
.offer-card-expiry.soon{color:#C0392B;font-weight:700}
.offer-card-cta{font-size:12px;font-weight:700;color:var(--green);display:flex;align-items:center;gap:3px;white-space:nowrap}
@media(max-width:640px){.offer-card{flex:0 0 240px}}

/* Featured Offers: sidebar (desktop, sticky, one at a time) vs mobile carousel */
.featured-offers-mobile{display:none}
.featured-offers-desktop{display:block}
.featured-offer-sidebar{position:sticky;top:84px;margin-bottom:14px}
.offer-card-sidebar{flex:none;width:100%;cursor:pointer}
.offer-card-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.offer-card-nav button{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--green);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.offer-card-nav button:hover{background:var(--mint)}
.offer-card-nav-dots{display:flex;align-items:center;gap:5px}
.offer-card-nav-dots .dot{width:6px;height:6px;border-radius:50%;background:var(--border)}
.offer-card-nav-dots .dot.active{background:var(--green);width:16px;border-radius:100px}
@media(max-width:860px){
  .featured-offers-mobile{display:block}
  .featured-offers-desktop{display:none}
}

/* BUTTONS */
.btn{padding:11px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:inherit;background:var(--green);color:#fff;transition:all .15s}
.btn:hover{opacity:.9}
.btn-outline{background:var(--white);color:var(--green);border:1px solid var(--border)}
.btn-soft{background:var(--mint);color:var(--green);border:none}
.btn-sm{padding:6px 14px;font-size:12px}
.btn-danger-outline{background:#fff;color:#B42318;border:1px solid #F3D0CC}
.btn-danger-outline:hover{background:#FEF3F2;border-color:#EAB4AD}
.btn-full{width:100%}

/* FORMS */
.field{margin-bottom:14px}
.field label{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);font-size:14px;font-family:inherit;background:var(--white)}
.field textarea{resize:vertical}

/* BADGE */
.badge{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:var(--mint);color:var(--green)}
.badge-gold{background:#E6F4EC;color:var(--gold)}
.badge-pending{background:#EEF3F1;color:#E65100}
.badge-live{background:var(--mint);color:var(--green)}
.badge-new{background:#FDECEA;color:#C0392B}

/* MAP */
.map-wrap{position:relative;width:100%;max-width:850px;margin:0 auto}
.map-wrap img{width:100%;height:auto;object-fit:contain;display:block;border-radius:12px}
.map-pin{position:absolute;transform:translate(-50%,-50%);cursor:pointer;text-align:center;z-index:2;transition:z-index 0s}
.map-pin:hover{z-index:5}
.map-pin-ring{border-radius:50%;background:rgba(22,107,74,.1);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:all .2s;width:36px;height:36px}
.map-pin:hover .map-pin-ring{width:50px;height:50px;background:rgba(22,107,74,.25)}
.map-pin-dot{width:14px;height:14px;border-radius:50%;background:var(--green);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2);position:relative;z-index:3;margin:0 auto;display:flex;align-items:center;justify-content:center;transition:all .2s}
.map-pin:hover .map-pin-dot{width:18px;height:18px;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.map-pin-label{margin-top:4px;background:var(--green);padding:5px 12px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.15);display:none}
.map-pin:hover .map-pin-label{display:block}
.map-pin-label span{font-size:12px;font-weight:700;color:#fff}

/* PHOTO GRID */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.photo-grid div{aspect-ratio:1;border-radius:6px;background-size:cover;background-position:center;cursor:pointer}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:50;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lightbox img{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:12px;background:#f3f5f4;display:block}

/* SECTIONS */
.section{padding:40px 20px;max-width:720px;margin:0 auto}
.section-narrow{max-width:480px}
.section-wide{max-width:960px}
.section-title{font-size:20px;font-weight:800;color:var(--dark);letter-spacing:-.02em;margin-bottom:4px}
.section-sub{font-size:13px;color:var(--muted);margin-bottom:20px}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.hero-inner{animation:fadeUp .5s ease both}
.feature{animation:fadeUp .5s ease both}
.feature:nth-child(2){animation-delay:.08s}
.feature:nth-child(3){animation-delay:.16s}

/* HERO */
.hero{background:linear-gradient(180deg,#F2F9F5 0%,var(--white) 100%);padding:52px 24px 44px;text-align:center;border-bottom:1px solid var(--border)}
.trustbar{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:16px 20px;background:var(--green-dark)}
.trustbar span{font-size:12.5px;color:rgba(255,255,255,.85);font-weight:600;display:flex;align-items:center;gap:7px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:18px}
.step{padding:20px 18px;text-align:left;position:relative}
.step-num{width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.step h4{font-size:14px;font-weight:700;color:var(--dark)}
.step p{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:5px}
.benefit-row{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--border)}
.benefit-row:last-child{border-bottom:none}
.benefit-ic{width:36px;height:36px;border-radius:9px;background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0}
.benefit-row h4{font-size:14px;font-weight:700;color:var(--dark)}
.benefit-row p{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:3px}
.faq-item{border:1px solid var(--border);border-radius:10px;background:var(--white);margin-bottom:8px;overflow:hidden}
.faq-q{width:100%;text-align:left;padding:14px 16px;border:none;background:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}
.faq-q span{color:var(--green);font-weight:800;transition:transform .2s}
.faq-item.open .faq-q span{transform:rotate(45deg)}
.faq-a{display:none;padding:0 16px 14px;font-size:13px;color:var(--muted);line-height:1.6}
.faq-item.open .faq-a{display:block}
.cta-band{background:var(--green-dark);border-radius:14px;padding:32px 26px;text-align:center;margin:8px auto 0}
.cta-band h3{font-size:20px;font-weight:800;color:#fff;letter-spacing:-.01em}
.cta-band p{font-size:13px;color:rgba(255,255,255,.7);margin-top:8px;line-height:1.6;max-width:440px;margin-left:auto;margin-right:auto}
.home-section{padding:40px 24px;max-width:720px;margin:0 auto}
.home-section.alt{max-width:100%;background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.home-section.alt>div{max-width:720px;margin:0 auto}
.home-section.alt{padding-top:40px;padding-bottom:40px}

/* COMPLAINT PAGE */
.cmp-wrap{max-width:1020px;margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.cmp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.cmp-input{position:relative}
.cmp-input .ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);opacity:.6;pointer-events:none;display:flex;align-items:center;color:var(--muted)}
.ic-svg{display:inline-block;vertical-align:-3px;flex-shrink:0}
.cmp-input input,.cmp-input select{padding-left:34px !important}
.req{color:#C0392B}
.upload-box{border:1.5px dashed var(--border);border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:all .15s;background:var(--bg)}
.upload-box.drag-active{border-color:var(--green-dark);border-style:solid;background:var(--mint)}
.upload-progress-track{height:6px;border-radius:100px;background:var(--border);overflow:hidden;margin-top:10px}
.upload-progress-track .fill{height:100%;width:0;background:var(--green-dark);border-radius:100px;transition:width 1.1s ease}

/* Complaint wizard: linear progress bar + step tabs (Contact/Complaint/Evidence/Review) */
.cmp-progress-wrap{margin-top:2px}
.cmp-progress-label{font-size:11px;font-weight:700;color:var(--green-dark);margin-bottom:6px;text-transform:uppercase;letter-spacing:.02em}
.cmp-progress-track{height:8px;border-radius:100px;background:rgba(255,255,255,.6);overflow:hidden}
.cmp-progress-fill{height:100%;background:var(--green-dark);border-radius:100px;transition:width .3s ease}
.cmp-steps-tabs{display:flex;flex-wrap:wrap;gap:18px;margin:16px 0 4px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.cmp-step-tab{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}
.cmp-step-tab .tab-num{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);flex-shrink:0}
.cmp-step-tab.done,.cmp-step-tab.active{color:var(--green-dark)}
.cmp-step-tab.done .tab-num,.cmp-step-tab.active .tab-num{border-color:var(--green-dark);color:var(--green-dark)}
.cmp-step-tab.done .tab-num{background:var(--mint)}

.autosave-badge{flex-shrink:0;font-size:10.5px;font-weight:700;color:var(--green-dark);background:var(--mint);border-radius:100px;padding:4px 9px;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:opacity .4s ease}

/* Staggered entrance for wizard step content, skipped entirely for anyone
   who has requested reduced motion. */
@media (prefers-reduced-motion: no-preference) {
  .cmp-step-pane > *{animation:cmpStepFadeIn .35s ease both}
  .cmp-step-pane > *:nth-child(1){animation-delay:0s}
  .cmp-step-pane > *:nth-child(2){animation-delay:.05s}
  .cmp-step-pane > *:nth-child(3){animation-delay:.1s}
  .cmp-step-pane > *:nth-child(4){animation-delay:.15s}
  .cmp-step-pane > *:nth-child(5){animation-delay:.2s}
  /* Must end on transform:none (not translateY(0)). With animation-fill-mode:both
     a lingering transform keeps each row as its own stacking context, which made
     open dropdown menus paint *behind* the fields and buttons below them. */
  @keyframes cmpStepFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}

/* Accessible focus rings + comfortably large controls on the complaint form */
.cmp-form-card input:focus-visible,.cmp-form-card select:focus-visible,.cmp-form-card textarea:focus-visible,.cmp-form-card button:focus-visible{outline:2.5px solid var(--green);outline-offset:2px}
.cmp-form-card .field input,.cmp-form-card .field select,.cmp-form-card .field textarea{min-height:44px}
.cmp-form-card .btn,.cmp-form-card .btn-outline{min-height:46px}
@media(max-width:700px){
  .cmp-steps-tabs{gap:12px}
  .cmp-step-tab .tab-label{display:none}
  /* Sticky primary action on mobile so it's always reachable without scrolling back down */
  .cmp-step-actions{position:sticky;bottom:0;background:#fff;padding:10px 0;margin:0 -22px -24px;padding:14px 22px 20px;box-shadow:0 -6px 16px rgba(0,0,0,.06);z-index:5}
}
.upload-box:hover{border-color:var(--green);background:var(--mint)}
.upload-box .up-ic{font-size:24px;color:var(--green)}
.file-chip{display:inline-flex;align-items:center;gap:6px;background:var(--mint);color:var(--green);font-size:12px;font-weight:600;padding:5px 10px;border-radius:6px;margin:6px 6px 0 0}
.file-chip button{border:none;background:none;color:var(--green);cursor:pointer;font-size:12px;font-weight:800;padding:0}
.file-thumb-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.file-thumb{width:76px;height:76px;border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--border);background:#f3f5f4}
.file-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#f3f5f4}
.file-thumb .rm{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:rgba(15,30,25,.6);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.file-thumb .fname{position:absolute;bottom:0;left:0;right:0;background:rgba(15,30,25,.65);color:#fff;font-size:9px;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-card{padding:20px;margin-bottom:14px}
.side-card h3{font-size:15px;font-weight:800;color:var(--green-dark);display:flex;align-items:center;gap:8px;margin-bottom:14px}
.side-step{display:flex;gap:12px;margin-bottom:14px}
.side-step:last-child{margin-bottom:0}
.side-num{width:26px;height:26px;border-radius:50%;background:var(--mint);color:var(--green);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.side-step h4{font-size:13px;font-weight:700;color:var(--green)}
.side-step p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:2px}
.side-commit{display:flex;gap:10px;margin-bottom:12px}
.side-commit .ic{width:30px;height:30px;border-radius:8px;background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0}
.side-commit h4{font-size:12.5px;font-weight:700;color:var(--dark)}
.side-commit p{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:1px}
.urgent-box{background:var(--mint);border:1px solid #CFE7DA;border-radius:12px;padding:18px;display:flex;gap:12px;align-items:center}
.urgent-box .ph{width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.urgent-box h4{font-size:13px;font-weight:800;color:var(--green-dark)}
.urgent-box p{font-size:12px;color:var(--green);font-weight:700}
.urgent-box span{font-size:11px;color:var(--muted)}
.cmp-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-width:960px;margin:0 auto;padding:0 20px 48px}
.cmp-trust .card{padding:14px 16px;display:flex;gap:10px;align-items:flex-start}
.cmp-trust .ic{color:var(--green);display:flex;align-items:center}

/* LOGIN */
.login-wrap{display:grid;grid-template-columns:1fr 420px;align-items:center;gap:40px;padding:48px 32px;max-width:1000px;margin:0 auto;min-height:calc(100vh - 64px)}
.login-wrap-solo{grid-template-columns:1fr;justify-items:center}
.login-brand{padding-left:12px}
.login-brand-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px;font-weight:800;font-size:15px;color:var(--dark)}
.login-brand h1{font-size:32px;font-weight:800;color:var(--dark);letter-spacing:-.02em}
.login-brand h1 .accent{color:var(--green-dark)}
.login-brand>p{font-size:14px;color:var(--muted);margin-top:8px;margin-bottom:30px;max-width:340px}
.login-feature{display:flex;gap:12px;margin-bottom:18px;max-width:340px}
.login-feature .ic{width:36px;height:36px;border-radius:9px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.login-feature h4{font-size:13.5px;font-weight:700;color:var(--dark)}
.login-feature p{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5}
.login-brand-footer{font-size:11.5px;color:var(--muted);margin-top:28px}
.login-center{display:flex;flex-direction:column;align-items:center}
.login-card{width:100%;max-width:420px;padding:32px 28px}
.login-card h2{font-size:19px;font-weight:800;color:var(--dark)}
.login-card>p{font-size:12.5px;color:var(--muted);margin-top:4px;margin-bottom:22px;line-height:1.5}
.login-row{display:flex;justify-content:space-between;align-items:center;margin:10px 0 16px;flex-wrap:wrap;gap:8px}
.login-remember{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text)}
.login-remember input{width:14px;height:14px;accent-color:var(--green)}
.login-link{background:none;border:none;color:var(--green);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:4px}
.login-apply{font-size:12.5px;color:var(--muted);text-align:center;margin-top:16px}
.login-apply span{color:var(--green);font-weight:700;cursor:pointer}
.login-trust{margin-top:16px;font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
@media(max-width:1000px){.login-wrap{grid-template-columns:1fr;padding:32px 20px}.login-brand{display:none}}
.cmp-trust h4{font-size:12.5px;font-weight:700;color:var(--dark)}
.cmp-trust p{font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:2px}
@media(max-width:860px){.cmp-wrap{grid-template-columns:1fr}.cmp-grid2{grid-template-columns:1fr}}
.join-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:16px 0 10px}

/* Join wizard: 5-step progress indicator (Company Info → ... → Review & Submit) */
.join-steps{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.join-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;flex:1;cursor:pointer;min-width:0}
.join-step-line{position:absolute;top:17px;left:calc(-50% + 17px);width:calc(100% - 34px);height:2px;background:var(--border);z-index:0}
.join-step:first-child .join-step-line{display:none}
.join-step.done .join-step-line{background:var(--green-dark)}
.join-step-circle{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;border:2px solid var(--border);color:var(--muted);background:#fff;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0}
.join-step.done .join-step-circle,.join-step.active .join-step-circle{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.join-step-label{font-size:11.5px;font-weight:600;color:var(--muted);text-align:center;white-space:nowrap}
.join-step.done .join-step-label,.join-step.active .join-step-label{color:var(--green-dark)}
@media(max-width:700px){.join-step-label{display:none}}

.join-review-grid{display:flex;flex-direction:column;gap:2px}
.join-review-row{display:flex;align-items:baseline;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.join-review-row span{flex:0 0 160px;color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.join-review-row b{flex:1;color:var(--dark);font-weight:600;min-width:0}
.join-review-row a{color:var(--green-dark);font-weight:700;font-size:12px;cursor:pointer;text-decoration:underline;flex-shrink:0}
@media(max-width:600px){.join-review-row{flex-wrap:wrap}.join-review-row span{flex:1 1 100%}}
.join-label:first-child{margin-top:0}
.benefit-mini{display:flex;gap:10px;margin-bottom:14px}
.benefit-mini:last-child{margin-bottom:0}
.benefit-mini .ic{width:30px;height:30px;border-radius:8px;background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0}
.benefit-mini h4{font-size:12.5px;font-weight:700;color:var(--dark)}
.benefit-mini p{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:1px}
.help-box{background:var(--mint);border:1px solid #CFE7DA;border-radius:12px;padding:16px}
.help-box h4{font-size:12.5px;font-weight:800;color:var(--green-dark);margin-bottom:8px}
.help-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--green-dark);font-weight:600;margin-bottom:6px}
.help-row:last-child{margin-bottom:0;font-weight:500;color:var(--muted)}

/* FIND A CLEANER */

.find-page-motion{position:relative}
.find-page-motion [data-motion]{opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .45s ease;transition-delay:var(--find-motion-delay,0ms);will-change:opacity,transform}
.find-page-motion [data-motion="trust"]{transform:translateY(10px)}
.find-page-motion [data-motion="trust-item"]{transform:translateY(10px)}
.find-page-motion [data-motion="filters"]{transform:translateY(18px) scale(.985)}
.find-page-motion [data-motion="card"]{transform:translateY(14px)}
.find-page-motion.motion-ready .motion-item.motion-in{opacity:1;transform:translateY(0) scale(1)}
/* Fail-safe: if the JS that adds .motion-in never runs (error, throttled rAF,
   slow load), the page must NOT stay invisible. Force everything visible
   after 1.2s no matter what. */
@keyframes findMotionFailsafe{to{opacity:1;transform:none}}
.find-page-motion [data-motion]{animation:findMotionFailsafe .3s ease 1.2s forwards}
.find-topbar,.filter-card,.result-row{transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease,background-color .2s ease}
.filter-card:hover{box-shadow:0 10px 24px rgba(15,77,62,.06)}
.result-row{border:1px solid var(--border)}
.result-row:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,77,62,.08);border-color:#BFD7CC}
.result-row:hover .result-arrow{background:var(--mint);border-color:var(--green)}
.find-search input,.find-sort select,.filter-group select{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.find-search input:focus,.find-sort select:focus,.filter-group select:focus{outline:none;border-color:#9EC4B1;box-shadow:0 0 0 3px rgba(15,77,62,.10)}
@media(prefers-reduced-motion:reduce){.find-page-motion [data-motion],.find-topbar,.filter-card,.result-row,.find-search input,.find-sort select,.filter-group select{transition:none!important;transform:none!important;opacity:1!important}}

.find-wrap{max-width:1450px;margin:0 auto;padding:8px 20px 24px;display:grid;grid-template-columns:272px 1fr;gap:24px;align-items:start}
.find-intro{max-width:1450px;margin:0 auto;padding:24px 20px 4px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.find-intro-left h1{font-size:22px;font-weight:800;color:var(--dark)}
.find-intro-left p{font-size:13px;color:var(--muted);margin-top:4px}
.find-intro-trust{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.find-trust-item{display:flex;align-items:center;gap:8px;padding-right:18px;border-right:1px solid var(--border);color:var(--green-dark)}
.find-trust-item:last-child{border-right:none;padding-right:0}
.find-trust-item b{font-size:15px;font-weight:800;color:var(--dark);display:block;line-height:1.1}
.find-trust-item span{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}
.find-trust-item .find-trust-label-only{font-size:12.5px;font-weight:700;color:var(--green-dark)}
@media(max-width:900px){.find-intro{flex-direction:column;align-items:flex-start}.find-trust-item{padding-right:14px;gap:6px}}
@media(max-width:600px){.find-intro-trust{gap:12px;row-gap:8px}.find-trust-item{padding-right:12px}}
.filter-card{padding:18px}
.filter-card h3{font-size:15px;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:8px;margin-bottom:16px}
.filter-group{margin-bottom:16px}
.filter-group label{display:block;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:7px}
.filter-group select{width:100%;padding:9px 10px;border-radius:8px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:var(--white)}
.star-row{display:flex;gap:5px}
.star-btn{flex:1;border:1px solid var(--border);background:var(--white);border-radius:7px;padding:6px 0;cursor:pointer;text-align:center;font-size:9px;color:var(--muted);font-weight:600}
.star-btn .st{display:block;font-size:13px;color:var(--border);margin-bottom:2px}
.star-btn.active{border-color:var(--gold);background:#E6F4EC}
.star-btn.active .st{color:var(--rating-star)}
.avail-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);cursor:pointer}
.avail-row input{width:15px;height:15px;accent-color:var(--green)}
.find-topbar{display:flex;gap:10px;margin-bottom:6px}
.find-search{flex:1;position:relative}
.find-search input{width:100%;padding:11px 14px 11px 36px;border-radius:9px;border:1px solid var(--border);font-size:13.5px;font-family:inherit}
.find-search .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5;font-size:14px}
.find-sort select{padding:11px 12px;border-radius:9px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:var(--white)}
.find-count{font-size:13px;color:var(--green);font-weight:700;margin:10px 0 12px}
.result-row{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:8px}
.result-avatar{width:52px;height:52px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;position:relative}
.result-avatar .chk{position:absolute;bottom:-3px;right:-3px;width:16px;height:16px;border-radius:50%;background:var(--green);color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--white)}
.result-body{flex:1;min-width:0}
.result-body h4{font-size:14.5px;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:6px}
.result-body h4 .v{color:var(--green);font-size:13px}
.result-loc{font-size:12px;color:var(--muted);margin-top:2px}
.result-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.result-tags span{font-size:10.5px;font-weight:600;background:var(--mint);color:var(--green);padding:3px 8px;border-radius:5px}
.result-side{text-align:right;flex-shrink:0;display:flex;align-items:center;gap:14px}
.result-rating{font-weight:800;font-size:14px;color:var(--dark)}
.result-rating .star{color:var(--rating-star)}
.result-reviews{font-size:11px;color:var(--muted);margin-top:2px}
.result-arrow{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--green);cursor:pointer;flex-shrink:0}
.result-arrow:hover{background:var(--mint);border-color:var(--green)}
@media(max-width:800px){.find-wrap{grid-template-columns:1fr}.result-row{flex-wrap:wrap}.result-side{width:100%;justify-content:space-between}}
.hero{background:radial-gradient(ellipse 900px 500px at 50% -10%,rgba(22,107,74,.09),transparent 60%),linear-gradient(180deg,#F2F9F5 0%,var(--white) 100%);padding:64px 24px 48px;text-align:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.hero-inner{max-width:640px;margin:0 auto;position:relative;z-index:1}
.hero-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.1fr 0.9fr;gap:20px;align-items:center;text-align:left}
.hero-grid .hero-inner{text-align:left;margin:0;max-width:none}
.hero-visual{display:flex;justify-content:center;align-items:center}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-grid .hero-inner{text-align:center}.hero-visual{order:-1;max-width:260px;margin:0 auto 8px}}
.hero-grid .hero-btns{justify-content:flex-start}
.hero-grid .hero-stats{justify-content:flex-start}
.hero-grid .hero-stat:first-child{padding-left:0}
.hero-grid p{margin-left:0;margin-right:0}
@media(max-width:860px){.hero-grid .hero-btns,.hero-grid .hero-stats{justify-content:center}.hero-grid .hero-stat:first-child{padding-left:28px}.hero-grid p{margin-left:auto;margin-right:auto}}
.hero-tag{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--green);text-transform:uppercase;margin-bottom:16px;background:var(--mint);padding:6px 14px;border-radius:100px}
.hero h2{font-size:34px;font-weight:800;color:var(--dark);line-height:1.22;letter-spacing:-.025em}
.hero p{font-size:15.5px;color:var(--muted);margin-top:16px;line-height:1.65;max-width:540px;margin-left:auto;margin-right:auto}
.hero-btns{display:flex;gap:10px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.hero-btns .btn{padding:13px 24px;font-size:14.5px;box-shadow:0 4px 14px rgba(22,107,74,.2)}
.hero-btns .btn-outline{box-shadow:none}
.hero-stats{display:flex;justify-content:center;gap:0;margin-top:22px;flex-wrap:wrap}
.hero-stat{padding:0 28px;text-align:center;border-right:1px solid var(--border)}
.hero-stat:last-child{border-right:none}
.hero-stat .num{font-size:24px;font-weight:800;color:var(--green-dark);letter-spacing:-.02em}
.hero-stat .lbl{font-size:11.5px;color:var(--muted);font-weight:600;margin-top:2px}
@media(max-width:560px){.hero-stat{padding:0 14px}.hero-stat .num{font-size:19px}}

.hero-v2{background:linear-gradient(115deg,#FFFFFF 0%,#F3F9F5 55%,#EAF4EE 100%);padding:0;border-bottom:1px solid var(--border);overflow:hidden}

.hero-v2-tag{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--green-dark);text-transform:uppercase;background:#fff;border:1px solid var(--border);padding:7px 15px;border-radius:100px;box-shadow:0 2px 8px rgba(15,76,53,.05);width:fit-content}
.hero-v2-btns{display:flex;gap:10px;flex-wrap:wrap}
.hero-v2-btns .btn{padding:13px 24px;font-size:14.5px;box-shadow:0 6px 18px rgba(15,76,53,.18)}
.hero-v2-btns .btn-outline{box-shadow:none}

/* Left area: label → heading → description → CTAs → filters → verification
   message, all in one column, beside the map. Matches the requested
   top-to-bottom order exactly. */
.hero-v2-grid{width:100%;padding:0 24px;box-sizing:border-box;display:grid;grid-template-columns:38% 62%;gap:24px;align-items:stretch;min-height:300px}
.home-finder-col{display:flex;flex-direction:column;gap:14px;padding:24px 0;justify-content:center}
.home-finder-col h2{font-size:26px;font-weight:800;color:#0B1F17;line-height:1.2;letter-spacing:-.02em}
.home-finder-col h2 .accent{color:var(--green-dark)}
.home-finder-col > p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.hero-v2-visual{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:16px 0}
.hero-v2-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border:none;border-radius:0;box-shadow:none}
@media(max-width:900px){
  .hero-v2-grid{grid-template-columns:1fr;min-height:0;gap:20px}
  .home-finder-col{padding:32px 24px 8px;text-align:center;align-items:center}
}

/* Trust / association strip, its own full-width row directly under the
   finder+map section, above the companies row. Reuses the exact same
   hero-trust-item markup/styles that used to sit beside the map. */

/* ── HOME v3, compact homepage additions (search bar, trust row, 3-card grid, stats bar) ── */
.hero-map-wrap{position:relative;width:100%;max-width:100%;aspect-ratio:1400/736;margin:0 auto}
.hero-map-wrap img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border:none;border-radius:0;box-shadow:none;pointer-events:none;user-select:none}
.hero-map-pin{position:absolute;transform:translate(-50%,-100%);width:15%;max-width:64px;aspect-ratio:1/1;cursor:pointer;background:transparent;border:none;padding:0}
.hero-map-pin-hit{position:absolute;left:50%;bottom:6%;transform:translate(-50%,50%);width:34%;height:34%;min-width:26px;min-height:26px;border-radius:50%;transition:background .15s, box-shadow .15s}
.hero-map-pin:hover .hero-map-pin-hit{background:rgba(22,107,74,.14);box-shadow:0 0 0 6px rgba(22,107,74,.08)}
/* Always-visible real company count on the pin itself (no hover needed).
   Same numbers already used in the tooltip/aria-label, just also shown
   permanently. Purely a CSS/HTML overlay, the base map image is untouched. */
.hero-map-pin-badge{position:absolute;left:50%;bottom:46%;transform:translate(-50%,50%);min-width:26px;height:26px;padding:0 5px;border-radius:50%;background:var(--green-dark);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);pointer-events:none;line-height:1;z-index:6}
.hero-map-tooltip{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-4px) scale(.94);background:var(--green-dark);color:#fff;padding:7px 12px;border-radius:7px;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s, transform .15s;box-shadow:0 6px 16px rgba(0,0,0,.18);z-index:5}
.hero-map-tooltip span{display:block;font-size:10.5px;font-weight:600;color:#cfe0d6;margin-top:1px}
.hero-map-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--green-dark)}
.hero-map-pin:hover .hero-map-tooltip{opacity:1;transform:translate(-50%,-8px) scale(1)}
@media(max-width:900px){.hero-map-wrap{max-width:420px}}

/* HOME, FINDER (filters + trust message). Now lives inside the left
   column of .hero-v2-grid (see .home-finder-col above), not a separate
   full-width bar. Filters are real and functional: picking one jumps to
   the Find page with that filter already applied (same findFilters
   object the Find page itself uses). Options are pulled from real data. */
.home-finder-filters{display:flex;flex-wrap:wrap;gap:10px}
.home-finder-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;border-radius:100px;padding:10px 16px;flex:1 1 auto;min-width:150px}
.home-finder-pill .ic{color:var(--green);flex-shrink:0;display:flex}
.home-finder-pill select{border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--text);flex:1;cursor:pointer;appearance:none;-webkit-appearance:none;min-width:0}
.home-finder-pill .chev{color:var(--muted);flex-shrink:0;display:flex}
.home-finder-trust{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--muted);line-height:1.5}
.home-finder-trust .ic{color:var(--green);flex-shrink:0;display:flex;margin-top:2px}
@media(max-width:520px){.home-finder-pill{flex:1 1 100%}}

/* HOME, DISTRICT PANEL, sits beside the existing hero map (untouched).
   Updates on pin hover via a direct DOM write (heroDistrictPanelHtml),
   no full re-render, so the map itself never re-mounts. On narrow
   screens it stacks BELOW the map instead of disappearing. */
.hero-visual-row{display:flex;gap:16px;align-items:stretch;width:100%;height:100%}
.hero-visual-row .hero-map-wrap{flex:1 1 auto;min-width:0}
@media(max-width:900px){.hero-visual-row{flex-direction:column}.hero-district-panel{flex:none;width:100%}}
.hero-district-panel{flex:0 0 190px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(15,76,53,.06)}
.hero-district-panel h4{font-size:16px;font-weight:800;color:var(--dark)}
.hero-district-panel .count{font-size:12.5px;color:var(--green-dark);font-weight:700;margin:4px 0 12px}
.hero-district-panel .count b{font-size:19px}
.hero-district-panel .services-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;flex:1}
.hero-district-panel .services-list div{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);line-height:1.3}
.hero-district-panel .services-list .ic{color:var(--green);flex-shrink:0;display:flex}
.hero-district-panel .btn{width:100%;justify-content:center;font-size:12.5px;padding:9px 12px}

.hero-trust-row{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}
.hero-trust-row-compact{gap:12px;margin-top:2px}
.hero-trust-row-compact .hero-trust-item{flex:1 1 140px;max-width:160px;gap:8px}
.hero-trust-row-compact .hero-trust-item .ic{width:32px;height:32px}
.hero-trust-row-compact .hero-trust-item h4{font-size:12px}
.hero-trust-row-compact .hero-trust-item p{font-size:10.5px}
.hero-trust-item{display:flex;gap:12px;align-items:flex-start;flex:1 1 170px;max-width:210px}
.hero-trust-item .ic{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--mint);color:var(--green-dark);display:flex;align-items:center;justify-content:center}
.hero-trust-item h4{font-size:13.5px;font-weight:700;color:var(--dark)}
.hero-trust-item p{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.45}
@media(max-width:900px){.hero-trust-row{justify-content:center;text-align:left}}

.home-cards-band{padding:18px 24px;background:var(--bg)}
.home-cards-grid{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:24px;max-width:1300px;margin:0;width:100%}
.home-cards-grid .card{flex:1 1 300px;max-width:460px;min-width:0}
@media(max-width:860px){.home-cards-grid .card{flex:1 1 100%}}
.home-cards-grid .card{padding:14px;display:flex;flex-direction:column}
.home-cards-grid h3{font-size:17px;font-weight:800;color:var(--dark)}
.home-card-link{margin-top:auto;padding-top:18px;background:none;border:none;color:var(--green);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;text-align:left}
.home-card-link:hover{color:var(--green-dark)}

.district-pick-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.district-pick-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:#FCFDFC;border-radius:8px;padding:12px 14px;font-size:13.5px;font-weight:600;color:var(--text);font-family:inherit;cursor:pointer;flex:0 0 calc(50% - 5px);transition:all .15s}
.district-pick-btn:hover{border-color:var(--green);background:var(--mint);color:var(--green-dark)}

/* HOME, VERIFIED COMPANIES + WHY CHOOSE A MEMBER, one balanced row.
   Reuses the same visual language as result-row / result-avatar on the
   Find page (logo-or-photo avatar, badge, star rating) so it doesn't
   introduce a new card style, just a grid arrangement of it. */
.home-companies-full{max-width:1300px;margin:0;padding:28px 24px 8px}
.home-companies{display:flex;flex-direction:column}
.home-companies-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.home-companies-head h3{font-size:17px;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:8px;margin:0}
/* Flexbox, not CSS grid auto-fit, a single real company keeps its own
   card width instead of stretching to fill the whole row. */
.home-companies-grid{display:flex;flex-wrap:wrap;gap:16px}
.hc-card{padding:0;overflow:hidden;cursor:pointer;width:240px;flex:0 0 auto;animation:hcCardIn .35s ease-out both}
.home-companies-grid .hc-card:nth-child(1){animation-delay:0s}
.home-companies-grid .hc-card:nth-child(2){animation-delay:.06s}
.home-companies-grid .hc-card:nth-child(3){animation-delay:.12s}
.home-companies-grid .hc-card:nth-child(4){animation-delay:.18s}
.home-companies-grid .hc-card:nth-child(n+5){animation-delay:.22s}
@keyframes hcCardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hc-card{animation:none}}
.hc-card-avatar{height:130px;display:flex;align-items:center;justify-content:center;color:#fff;background-size:cover;background-position:center}
.hc-card-avatar img{max-width:88%;max-height:88%;object-fit:contain}
.hc-card-body{padding:14px;display:flex;flex-direction:column}
.hc-card-body .badge{margin-bottom:8px;display:inline-block;width:fit-content}
.hc-card-body h4{font-size:14px;font-weight:800;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-card-loc{font-size:12px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:4px}
.hc-card-tags{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hc-card-rating{font-size:12.5px;color:var(--dark);font-weight:700;margin-top:8px}
.hc-card-rating .star{color:var(--rating-star)}
.hc-card-body .btn{margin-top:12px}
.hc-empty{text-align:center;padding:32px 20px;color:var(--muted);font-size:13px;background:var(--bg);border-radius:12px;border:1px dashed var(--border)}

/* Why Choose a Member, sits beside the companies column, same visual
   start, same card treatment (border/radius/shadow) as the rest of the
   site's cards; button pinned to the bottom so heights feel balanced. */
@media(max-width:900px){.home-companies-full{padding:28px 16px 8px}}

@media(max-width:480px){.hc-card{width:100%}}

.news-compact-list{display:flex;flex-direction:column;margin-top:10px}
.news-compact-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer}
.news-compact-row:first-child{padding-top:2px}
.news-compact-row:hover .news-compact-title{color:var(--green)}
.news-compact-row .ic{color:#B9C4BD;flex-shrink:0;margin-top:2px}
.news-compact-title{font-size:13.5px;font-weight:700;color:var(--dark);line-height:1.4}
.news-compact-sub{font-size:11.5px;color:var(--muted);margin-top:3px}


.home-announcements-band{padding:10px 24px 28px;background:var(--bg)}
.home-announcements-grid{max-width:1300px;margin:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,.95fr);gap:24px;align-items:stretch}
.home-announcements-section{min-width:0}
.home-announcements-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.home-announcements-head h3{font-size:17px;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:8px}
.home-announcements-head .home-card-link{margin-top:0;padding-top:0;white-space:nowrap}
.home-announcement-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-announcement-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;min-width:0}
.home-announcement-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,77,62,.09);border-color:#bfd7cc}
.home-announcement-media{height:142px;background:linear-gradient(135deg,var(--mint),#d8e8df);display:flex;align-items:center;justify-content:center;color:var(--green-dark);overflow:hidden}
.home-announcement-media img{width:100%;height:100%;object-fit:cover;display:block}
.home-announcement-media.no-image{background:linear-gradient(135deg,#eef6f1,#dcece3)}
.home-announcement-body{padding:13px 14px 14px}
.home-announcement-date{font-size:10.5px;color:var(--muted);margin-bottom:6px}
.home-announcement-body h4{font-size:13.5px;font-weight:800;color:var(--dark);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.home-announcement-meta{display:inline-flex;margin-top:10px;padding:3px 8px;border-radius:6px;background:var(--mint);color:var(--green-dark);font-size:10.5px;font-weight:700}
.home-announcements-empty{padding:28px 20px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:13px;text-align:center;background:#fff}
.home-join-card-wide{min-height:100%;padding:24px!important;justify-content:center}
@media(max-width:1000px){.home-announcements-grid{grid-template-columns:1fr}.home-announcement-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-announcements-band{padding:10px 16px 24px}.home-announcement-cards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.home-announcement-cards{grid-template-columns:1fr}.home-announcements-head{align-items:flex-start}.home-announcements-head .home-card-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.home-announcement-card{transition:none}.home-announcement-card:hover{transform:none}}

.home-join-card{background:linear-gradient(160deg,#123f2f 0%,#0B3B30 100%);border:1px solid #0B3B30;color:#e6efe9;position:relative;overflow:hidden}
.home-join-card h3{color:#fff}
.home-join-card p{font-size:13.5px;line-height:1.65;color:#c4d3ca;margin-top:10px}
.home-join-icon{position:absolute;top:24px;right:24px;color:var(--gold-real);opacity:.9}
.home-join-card .btn-gold{margin-top:14px;align-self:flex-start;background:var(--gold-real);color:#2A2411;border-radius:8px;font-weight:700;padding:11px 18px;font-size:13px;display:inline-flex;align-items:center;gap:8px}
.home-join-card .btn-gold:hover{opacity:.92}
.home-join-trust{margin-top:12px;display:flex;align-items:center;gap:7px;color:#b7c7bd;font-size:12px;font-weight:600}

.stats-bar-v2{background:var(--mint);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-bar-v2-inner{display:flex;max-width:1300px;margin:0;flex-wrap:wrap}
.stats-bar-v2-item{flex:1;min-width:150px;display:flex;align-items:center;gap:10px;padding:11px 18px;border-right:1px solid var(--border)}
.stats-bar-v2-item:last-child{border-right:none}
.stats-bar-v2-item .ic{color:var(--green-dark);flex-shrink:0}
.stats-bar-v2-item .num{font-size:23px;font-weight:800;color:var(--green-dark);letter-spacing:-.02em;line-height:1}
.stats-bar-v2-item .lbl{font-size:12px;font-weight:600;color:var(--muted);margin-top:4px}
@media(max-width:700px){.stats-bar-v2-item{border-right:none;border-bottom:1px solid var(--border);min-width:50%}}

/* FEATURES */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:32px 24px;max-width:760px;margin:0 auto}
.feature{padding:26px 22px;transition:all .2s}
.feature:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(15,76,53,.08);border-color:var(--border)}
.feature .icon{width:46px;height:46px;border-radius:12px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.feature h3{font-size:15.5px;font-weight:700;color:var(--dark);margin-bottom:6px}
.feature p{font-size:13px;color:var(--muted);line-height:1.6}

/* COMPANY LIST */
.company-card{padding:18px}
.company-card+.company-card{margin-top:10px}
.company-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px}
.company-name{font-weight:700;font-size:16px;color:var(--dark);display:flex;align-items:center;gap:8px}
.company-contact{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;font-size:13px;color:var(--text)}

/* TABS */
.tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--mint);padding:5px;border-radius:12px;margin-bottom:20px}
.dash-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:100px;background:#C0392B;color:#fff;font-size:10px;font-weight:800;margin-left:6px}
.dash-tabs-fade + * , .dash-tabs-fade{animation:dashFadeIn .3s ease-out}
@keyframes dashFadeIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.dash-tabs-fade,.dash-tabs-fade + *{animation:none}}
.tab{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:none;background:none;cursor:pointer;font-size:13px;font-family:inherit;font-weight:600;color:var(--text);border-radius:8px;white-space:nowrap;transition:background .15s ease,color .15s ease,transform .1s ease}
.tab:hover{background:#fff;color:var(--green-dark)}
.tab:active{transform:scale(.97)}
.tab.active{background:var(--green-dark);color:#fff}
.tab.active:hover{background:var(--green);color:#fff}

/* FOOTER */
.footer{padding:0;text-align:center;font-size:11px;color:var(--muted);border-top:1px solid var(--border);flex-shrink:0}

/* TOASTS */
.toast-stack{position:fixed;top:18px;right:18px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 36px))}
.toast{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:10px;padding:12px 14px;box-shadow:0 8px 24px rgba(15,76,53,.14);font-size:13px;color:var(--dark);animation:toast-in .22s ease-out}
.toast.success{border-left-color:var(--green)}
.toast.error{border-left-color:#C0392B}
.toast.info{border-left-color:#1A56C4}
.toast .ic{flex-shrink:0;margin-top:1px}
.toast.success .ic{color:var(--green)}
.toast.error .ic{color:#C0392B}
.toast.info .ic{color:#1A56C4}
.toast .msg{flex:1;line-height:1.4}
.toast .close{background:none;border:none;color:var(--muted);cursor:pointer;flex-shrink:0;padding:0;line-height:1}
@keyframes toast-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:640px){.toast-stack{left:12px;right:12px;top:12px;max-width:none}}

.top-success-banner{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:300;background:var(--green);color:#fff;font-size:14px;font-weight:700;padding:14px 26px;border-radius:12px;box-shadow:0 10px 32px rgba(15,76,53,.35);display:flex;align-items:center;gap:10px;animation:toast-in .22s ease-out;max-width:min(420px,calc(100vw - 32px));text-align:center}
.top-success-banner .ic,.top-success-banner svg{flex-shrink:0;color:#fff}
@media(max-width:640px){.top-success-banner{top:12px;font-size:13px;padding:12px 18px}}

/* EVIDENCE MODAL */
.evidence-modal-backdrop{position:fixed;inset:0;background:rgba(10,20,15,.78);z-index:210;display:flex;align-items:center;justify-content:center;padding:24px}
.evidence-modal{background:#fff;border-radius:14px;overflow:hidden;max-width:min(90vw,900px);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.evidence-modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}
.evidence-modal-head h4{font-size:13px;color:var(--dark)}
.evidence-modal-head .actions{display:flex;gap:8px;align-items:center}
.evidence-modal-img-wrap{background:#f3f5f4;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:auto}
.evidence-modal-img-wrap img{max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;display:block}
.footer-main{background:var(--green-dark);padding:18px 24px 12px}
.footer-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;text-align:left}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.footer-brand h4{color:#fff;font-size:14px;font-weight:700}
.footer-brand span{color:rgba(255,255,255,.55);font-size:10.5px}
.footer-col h5{color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}
.footer-col p{color:rgba(255,255,255,.65);font-size:12.5px;line-height:1.6;max-width:280px}
.footer-link{display:block;background:none;border:none;color:rgba(255,255,255,.7);font-size:12.5px;font-family:inherit;cursor:pointer;padding:5px 0;text-align:left}
.footer-link:hover{color:#fff}
.footer-contact-row{display:flex;align-items:flex-start;gap:8px;color:rgba(255,255,255,.7);font-size:12.5px;margin-bottom:10px;line-height:1.5}
.footer-contact-row .ic{color:rgba(255,255,255,.5);flex-shrink:0;margin-top:1px}
.footer-social{display:flex;gap:8px;margin-top:16px}
.footer-social a{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.75);text-decoration:none;transition:all .18s}
.footer-social a:hover{background:rgba(255,255,255,.18);color:#fff;transform:translateY(-2px)}
.footer-social-pending{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);cursor:default}
.footer-bottom{background:#0A3D2A;padding:8px 24px;text-align:center;font-size:11px;color:rgba(255,255,255,.5)}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:24px}}

/* DASHBOARD */
.upload-zone{border:2px dashed var(--border);border-radius:12px;padding:28px;text-align:center;cursor:pointer;background:var(--white);margin-bottom:16px}
.upload-zone:hover{border-color:var(--green)}

/* ADMIN STATS */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.stat-card{padding:18px 16px}
.stat-card .num{font-size:24px;font-weight:800;color:var(--green)}
.stat-card .label{font-size:12px;color:var(--muted);margin-top:2px}

/* ADMIN PANEL v2 */
.admin-wrap{max-width:1080px;margin:0 auto;padding:32px 24px 56px;min-height:calc(100vh - 64px - 66px)}
.admin-layout{display:block}
.dash-quick-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:16px}
.dash-quick-actions .qa-label{display:flex;align-items:center;gap:6px;color:var(--green-dark);margin-right:8px;white-space:nowrap}
.dash-quick-actions .qa-item{display:flex;align-items:center;gap:7px;background:none;border:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;padding:6px 10px;border-radius:8px;transition:background .15s ease}
.dash-quick-actions .qa-item:hover{background:var(--mint)}
.dash-quick-actions .qa-ic{display:flex;align-items:center}
.apps-stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.apps-stat-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--stat-accent);border-radius:10px;padding:14px 16px}
.apps-stat-card .ic{color:var(--stat-accent);margin-bottom:6px}
.apps-stat-card .val{font-size:22px;font-weight:800;color:var(--dark)}
.apps-stat-card .lbl{font-size:12px;color:var(--muted);margin-top:2px}
.apps-stat-card .sub{font-size:11px;font-weight:600;color:var(--green);margin-top:4px}
.apps-secure-banner{display:flex;align-items:center;gap:8px;background:var(--mint);color:var(--green-dark);border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:13px}
.apps-empty-state{text-align:center;padding:48px 20px;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:12px}
.apps-empty-ic{color:var(--border);margin-bottom:10px;display:flex;justify-content:center}
.apps-empty-title{font-size:14px}
@media(max-width:900px){.apps-stat-row{grid-template-columns:repeat(2,1fr)}}
.cx-district-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.cx-district-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--dark);transition:border-color .15s ease,background .15s ease}
.cx-district-card:hover{border-color:var(--green)}
.cx-district-card.active{border-color:var(--green);background:var(--mint)}
.cx-district-card .left{display:flex;align-items:center;gap:7px}
.cx-district-card .right{display:flex;align-items:center;gap:6px;color:var(--muted)}
.cx-companies-table{width:100%;border-collapse:collapse;font-size:13px}
.cx-companies-table th{text-align:left;padding:12px 16px;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--green-dark);background:var(--mint);border-bottom:1px solid var(--border)}
.cx-companies-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
.cx-companies-table tr:last-child td{border-bottom:none}
.status-active-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:100px;background:var(--mint);color:var(--green-dark)}
.status-active-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}
.news-compose-grid{display:grid;grid-template-columns:1.86fr 1fr;gap:20px;align-items:start}
.news-compose-grid>*{min-width:0}
.news-form-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.news-field-label{display:block;font-size:12px;font-weight:600;color:var(--dark);margin-bottom:6px}
.news-audience-fieldset{border:none;padding:0;margin:0 0 16px}
.news-audience-fieldset legend{padding:0;margin-bottom:8px}
.news-audience-cards{display:flex;gap:12px;flex-wrap:wrap}
.news-audience-card{position:relative;flex:1;min-width:180px;min-height:120px;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;background:#fff;transition:border-color .15s ease,background .15s ease}
.news-audience-card:hover{border-color:var(--green)}
.news-audience-card.selected{border-color:var(--green);background:var(--mint)}
.news-audience-card input[type=radio]{position:absolute;top:12px;right:12px;width:16px;height:16px;accent-color:var(--green);margin:0}
.news-audience-card input[type=radio]:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.news-audience-card:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px}
.news-aud-ic{color:var(--green)}
.news-aud-title{font-weight:700;font-size:13.5px;color:var(--dark)}
.news-aud-desc{font-size:11.5px;color:var(--muted);line-height:1.4}
.news-audience-card.disabled{opacity:.5;cursor:not-allowed}
.news-audience-badge{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:100px;background:var(--mint);color:var(--green-dark);margin-bottom:6px}
.news-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.news-form-actions .btn{min-height:44px}
.news-side-col{display:flex;flex-direction:column;gap:14px}
.news-side-title{font-weight:700;font-size:13px;color:var(--dark);margin-bottom:10px}
.news-preview-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;max-width:100%;min-width:0}
.news-preview-img{width:100%;height:110px;object-fit:cover;display:block}
.news-preview-img--empty{display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--green)}
.news-preview-body{padding:12px 14px;min-width:0;overflow-wrap:break-word;word-break:break-word}
.news-preview-title{font-weight:700;font-size:14px;color:var(--dark);overflow-wrap:break-word;word-break:break-word}
.news-preview-meta{font-size:11px;color:var(--muted);margin:4px 0 8px}
.news-preview-excerpt{font-size:12.5px;color:var(--text);overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap}
.news-check-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);padding:5px 0}
.news-check-row.done{color:var(--dark)}
.news-check-row.done svg,.news-check-row.done{color:var(--green)}
.news-check-empty{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--border);display:inline-block;flex-shrink:0}
.news-actions-cell{display:flex;gap:6px;flex-wrap:wrap}
.news-actions-cell .btn{min-height:36px;min-width:36px;padding:6px 10px}
@media(max-width:1000px){.news-compose-grid{grid-template-columns:1fr}.news-form-row2{grid-template-columns:1fr}.news-audience-cards{flex-direction:column}}
.admin-content{margin-left:190px;width:calc(100% - 190px);box-sizing:border-box;padding:32px 24px 56px;min-height:calc(100vh - 64px - 66px);min-width:0;max-width:100%}
.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.admin-head h1{font-size:21px;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:8px}
.admin-head .sub{font-size:13px;color:var(--text);margin-top:4px}
.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.admin-toolbar input[type=text]{padding:9px 12px;border-radius:8px;border:1px solid var(--border);font-size:13px;font-family:inherit;min-width:200px}
.admin-toolbar select{padding:9px 10px;border-radius:8px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:#fff}
.admin-tabs{display:flex;flex-direction:row;align-items:center;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}
/* Desktop: the tab scroller must be a horizontal flex row. Without this it was
   a plain block on desktop, so every tab button (display:flex) stacked vertically. */
.admin-tab-scroller{display:flex;flex-direction:row;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}
.admin-tab-scroller::-webkit-scrollbar{display:none}
.admin-tab-scroller .admin-tab{flex:0 0 auto;white-space:nowrap}
.admin-tab{padding:10px 14px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;font-family:inherit;display:flex;align-items:center;gap:6px}
.admin-tab.active{color:var(--green);border-bottom-color:var(--green)}
.admin-tab .count{background:var(--mint);color:var(--green);font-size:11px;font-weight:800;padding:1px 7px;border-radius:100px}
.admin-tab.active .count{background:var(--green);color:#fff}

/* ADMIN DASHBOARD */
.dash-header-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;margin:28px 0 24px}
.dash-header-row h1{font-size:22px;font-weight:800}
.dash-range-select{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dash-range-select select,.dash-range-select input[type=date]{padding:8px 10px;border-radius:8px;border:1px solid var(--border);font-size:12.5px;font-family:inherit;background:#fff}
.dash-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:20px}
.dash-card{position:relative;padding:18px 20px;border-radius:12px;border:1px solid var(--border);background:#fff;overflow:hidden}
.dash-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--dash-accent,var(--green))}
.dash-card .lbl{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.dash-card .lbl .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.dash-card .icon{position:absolute;top:14px;right:14px;color:var(--dash-accent,var(--green));opacity:.55}
.dash-card .val{font-size:27px;font-weight:800;color:var(--dark);line-height:1.1}
.dash-card .delta{font-size:11.5px;font-weight:700;margin-top:6px;display:flex;align-items:center;gap:3px}
.dash-card .delta.up{color:var(--green)}
.dash-card .delta.down{color:#C0392B}
.dash-card .delta.flat{color:var(--muted)}
.dash-card .bar-track{margin-top:9px;height:5px;border-radius:100px;background:var(--mint);overflow:hidden}
.dash-card .bar-fill{height:100%;background:var(--green);border-radius:100px}
@media(max-width:1100px){.dash-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.dash-cards{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.dash-cards{grid-template-columns:1fr}}
.dash-big-card{padding:22px 24px;border-radius:12px;border:1px solid var(--border);background:#fff;margin-bottom:18px;min-width:0;max-width:100%;box-sizing:border-box}

/* ── ADMIN SIDEBAR (reference-matched dark green fixed sidebar) ── */
body{overflow-x:hidden}
.admin-shell{display:flex;align-items:stretch;min-height:calc(100vh - 64px);background:var(--bg);box-sizing:border-box}
/* ── ADMIN SIDEBAR - icon only, tooltips on hover ────────────────────────
   Labels are no longer permanently shown on desktop; each icon carries its
   name in data-tip / aria-label / title so hover, screen readers and native
   tooltips all say the same thing. Routes and click handlers are unchanged. */
.admin-sidebar-fixed{position:fixed;top:64px;left:0;width:190px;height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:stretch;background:var(--green-dark);border-right:none;padding:0;overflow-y:auto;overflow-x:hidden;z-index:20;box-sizing:border-box;transition:transform var(--motion-standard) var(--ease-standard)}

.admin-sb-brand{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:16px 14px 12px;flex-shrink:0}
.admin-sb-brand .mark{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}
.admin-sb-brand .name{display:block;font-size:13px;font-weight:800;color:#fff;line-height:1.2}.admin-sb-brand .sub{display:block;font-size:10.5px;color:rgba(255,255,255,.58);font-weight:600;margin-top:2px}

.admin-sb-nav{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px 10px;flex:1;width:100%}

.admin-sb-item{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:11px;width:100%;height:46px;padding:0 12px;border:none;background:none;cursor:pointer;font-family:inherit;color:rgba(255,255,255,.88);border-radius:11px;flex-shrink:0;transition:background 170ms ease,color 170ms ease,box-shadow 170ms ease}
.admin-sb-item .lbl{display:block;flex:1;min-width:0;text-align:left;font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-sb-item:hover{background:rgba(255,255,255,.10);color:#fff}
.admin-sb-item.active{background:#fff;color:var(--green-dark);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.admin-sb-item.active:hover{background:#fff;color:var(--green-dark)}
.admin-sb-item:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Unread / pending counter, now a small corner badge instead of a wide pill. */
.admin-sb-item .cnt{position:static;min-width:20px;height:20px;padding:0 6px;border-radius:100px;background:#C0392B;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:none;flex-shrink:0}
.admin-sb-item.active .cnt{border-color:#fff}

/* Tooltip. Sits beside the icon, never over it. */
.admin-sb-item::after{
  content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(-4px);
  background:#1F2D24;color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap;
  padding:7px 11px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.22);
  opacity:0;pointer-events:none;transition:opacity 170ms ease,transform 170ms ease;z-index:70
}
.admin-sb-item:hover::after,.admin-sb-item:focus-visible::after{opacity:0}
@media(hover:none){.admin-sb-item::after{display:none}}

.admin-sb-settings-wrap{padding:6px 10px 10px;flex-shrink:0;display:flex;justify-content:stretch;width:100%}

.admin-sb-profile{flex-shrink:0;margin:0 10px 14px;padding:10px;background:rgba(255,255,255,.08);border-radius:11px;display:flex;flex-direction:row;align-items:center;gap:9px}
.admin-sb-profile .av{position:relative;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--green-dark);display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:800;flex-shrink:0}
.admin-sb-profile .info{display:block;flex:1;min-width:0}.admin-sb-profile .info .nm{font-size:12.5px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-sb-profile .info .rl{font-size:10.5px;color:rgba(255,255,255,.6);margin-top:2px}
.admin-sb-profile .logout-btn{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:none;color:rgba(255,255,255,.75);cursor:pointer;border-radius:9px;transition:background 170ms ease,color 170ms ease;flex-shrink:0}
.admin-sb-profile .logout-btn:hover{background:rgba(192,57,43,.22);color:#fff}
.admin-sb-profile .logout-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.admin-sb-profile .logout-btn::after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(-4px);background:#1F2D24;color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap;padding:7px 11px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:opacity 170ms ease,transform 170ms ease;z-index:70}
.admin-sb-profile .logout-btn:hover::after,.admin-sb-profile .logout-btn:focus-visible::after{opacity:1;transform:translateY(-50%) translateX(0)}

.admin-sb-mobile-toggle{display:none}
.admin-sb-backdrop{display:none}
@media(max-width:1100px) and (min-width:861px){
  /* Tablet: compact icon-only sidebar */
  .admin-sidebar-fixed{width:82px}
  .admin-content{margin-left:82px;width:calc(100% - 82px)}
  .admin-sb-brand .name,.admin-sb-brand .sub{display:none}
  .admin-sb-brand{justify-content:center;padding:16px 8px}
  .admin-sb-item .lbl,.admin-sb-item .cnt{display:none}
  .admin-sb-nav{align-items:center;padding:6px 0}
  .admin-sb-item{width:50px;justify-content:center;padding:12px 8px}
  .admin-sb-profile .info{display:none}
  .admin-sb-profile .logout-btn{display:flex}
  .admin-sb-profile{flex-direction:column;justify-content:center;padding:8px;margin:0 0 14px;background:none}
}
@media(max-width:860px){
  .admin-shell{flex-direction:column}
  .admin-sb-mobile-toggle{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700;color:var(--green-dark);font-family:inherit;cursor:pointer;margin-bottom:16px}
  .admin-sidebar-fixed{position:fixed;top:0;left:0;width:240px;height:100vh;align-items:stretch;transform:translateX(-100%);z-index:60;box-shadow:8px 0 24px rgba(0,0,0,.18)}
  /* In the mobile drawer there is room for names, so icons get labels back. */
  .admin-sb-item{width:auto;height:48px;justify-content:flex-start;gap:12px;padding:0 14px;margin:0 10px;border-radius:11px}
  .admin-sb-item .lbl{display:block;font-size:14px;font-weight:600;flex:1;text-align:left}
  .admin-sb-item .cnt{position:static;border:none;min-width:20px;height:20px}
  .admin-sb-item::after{display:none}
  .admin-sb-nav{align-items:stretch}
  .admin-sb-brand{justify-content:flex-start;padding:18px 20px 14px;gap:10px}
  .admin-sb-brand .name{display:block;font-size:13.5px;font-weight:800;color:#fff;line-height:1.25}
  .admin-sb-brand .sub{display:block;font-size:10.5px;color:rgba(255,255,255,.55);font-weight:600}
  .admin-sb-settings-wrap{justify-content:stretch}
  .admin-sb-profile{flex-direction:row;align-items:center;margin:0 12px 16px;padding:10px;border-radius:10px;background:rgba(255,255,255,.08);justify-content:flex-start;gap:9px}
  .admin-sb-profile .info{display:block;flex:1;min-width:0}
  .admin-sb-profile .logout-btn{width:32px;height:32px}
  .admin-sb-profile .logout-btn::after{display:none}
  .admin-sidebar-fixed.open{transform:translateX(0)}
  .admin-sb-backdrop{display:none;position:fixed;inset:0;background:rgba(10,20,15,.45);z-index:55}
  .admin-sb-backdrop.open{display:block}
  .admin-content{margin-left:0;width:100%;padding:20px 16px 40px;min-width:0;max-width:100%}
}

/* ── DASHBOARD OVERVIEW HEADER (matches reference "Good afternoon" hero) ── */
.dash-overview-head{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:22px}
.dash-overview-head-main{flex:1 1 auto;min-width:220px}
.dash-overview-head .eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.dash-overview-head h1{font-size:24px;font-weight:800;color:var(--dark)}
.dash-overview-head .sub{font-size:13px;color:var(--muted);margin-top:4px}
.dash-overview-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.ov-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.ov-card{position:relative;padding:16px 18px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(135deg,#fff 55%,var(--mint));animation:ovCardFade .3s ease-out}
@keyframes ovCardFade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ov-card{animation:none}}
.admin-sb-item{min-height:44px}
.ov-card .btn,.ov-card button{min-height:40px}
.ov-card .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.ov-card .top .lbl{font-size:12.5px;color:var(--muted);font-weight:600}
.ov-card .top .ic{width:28px;height:28px;border-radius:8px;background:var(--mint);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ov-card .val{font-size:25px;font-weight:800;color:var(--dark);line-height:1}
.ov-card .foot{font-size:11.5px;font-weight:700;color:var(--muted);margin-top:6px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.ov-card .foot.green{color:var(--green)}
.ov-card .foot.red{color:#C0392B}
.ov-trend{display:inline-flex;align-items:center;gap:3px;font-weight:700}
.ov-trend.up{color:var(--green)}
.ov-trend.down{color:#C0392B}
.ov-trend.flat{color:var(--muted)}

.ov-doc-alert{display:flex;align-items:center;gap:8px;background:#E6F4EC;color:#0F4D3E;border:1px solid #CFE7DA;border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700;margin-bottom:14px;cursor:pointer;max-width:max-content}
.ov-doc-alert:hover{background:#D8ECE1}

.ov-queue-label{display:inline-block;background:var(--mint);color:var(--green-dark);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:100px;margin-right:8px;vertical-align:middle}
@media(max-width:1000px){.ov-cards{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ov-cards{grid-template-columns:1fr}}
.ov-two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:20px;align-items:start}
@media(max-width:1000px){.ov-two-col{grid-template-columns:1fr}}
.ov-panel{border:1px solid var(--border);border-radius:12px;background:#fff;padding:20px 22px;animation:ovCardFade .3s ease-out .05s both}
.ov-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}
.ov-panel-head h3{font-size:14.5px;font-weight:700;color:var(--dark)}
.ov-cat-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;margin-bottom:12px;font-size:12.5px}
.ov-cat-row .nm{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-cat-row .track{height:7px;border-radius:100px;background:var(--mint);overflow:hidden}
.ov-cat-row .fill{height:100%;background:var(--green-dark);border-radius:100px}
.ov-cat-row .num{color:var(--muted);font-weight:700;white-space:nowrap}
.ov-apps-table{width:100%;border-collapse:collapse;font-size:12.5px}
.ov-apps-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;padding:0 10px 10px 0;border-bottom:1px solid var(--border)}
.ov-apps-table td{padding:12px 10px 12px 0;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}
.ov-apps-table tr:last-child td{border-bottom:none}
.ov-apps-table .co-name{font-weight:700;color:var(--dark)}
.ov-status-pill{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:100px;text-transform:capitalize;white-space:nowrap}
.ov-status-pill.pending{background:#EEF3F1;color:#4B5E55}
.ov-status-pill.approved{background:var(--mint);color:var(--green-dark)}
.ov-status-pill.rejected{background:#FDECEA;color:#C0392B}
.ov-action-link{background:none;border:none;color:var(--green-dark);font-weight:700;font-size:12.5px;cursor:pointer;padding:0;font-family:inherit}
.ov-action-link:hover{text-decoration:underline}
.ov-empty{padding:28px 10px;text-align:center;color:var(--muted);font-size:13px}
.ov-messages-card{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.ov-messages-card .ov-panel-head{padding:20px 22px 0}
.ov-messages-mount{height:460px;min-height:0}
@media(max-width:1000px){.ov-messages-mount{height:520px}}
.dash-big-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:16px}
.dash-big-title{font-size:15px;font-weight:800;color:var(--dark)}
.dash-stat-row{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.dash-stat{font-size:11.5px;color:var(--muted)}
.dash-stat b{display:block;font-size:17px;font-weight:800;color:var(--dark);margin-top:2px}
.dash-chart-wrap{width:100%;overflow-x:auto}
.dash-chart-wrap svg{height:280px!important}
.dash-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 20px;color:var(--muted)}
.dash-empty-state .ic{color:var(--border);margin-bottom:10px}
.dash-empty-state .ttl{font-size:13.5px;font-weight:700;color:var(--dark);margin-bottom:4px}
.dash-empty-state .body{font-size:12px;color:var(--muted);max-width:320px}
.dash-cat-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.dash-cat-row:last-child{border-bottom:none}
.dash-cat-name{width:190px;flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--dark)}
.dash-cat-bar-track{flex:1;height:8px;border-radius:100px;background:var(--mint);overflow:hidden}
.dash-cat-bar-fill{height:100%;background:var(--green);border-radius:100px}
.dash-cat-nums{width:150px;flex-shrink:0;text-align:right;font-size:11.5px;color:var(--muted)}
.dash-cat-nums b{color:var(--dark);font-weight:700}
.dash-table-wrap{overflow:auto;max-height:420px;border-radius:8px;max-width:100%}
.dash-table{width:100%;border-collapse:collapse;font-size:12.5px}
.dash-table thead th{position:sticky;top:0;background:#fff;z-index:1}
.dash-table th{text-align:right;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.dash-table th:first-child,.dash-table td:first-child{text-align:left}
.dash-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--dark);white-space:nowrap;text-align:right}
.dash-table tbody tr:last-child td{border-bottom:none}
.dash-table tbody tr:hover td{background:var(--mint)}
.dash-table .up{color:var(--green);font-weight:700}
.dash-table .down{color:#C0392B;font-weight:700}
.dash-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.dash-insight-item{font-size:11.5px;color:var(--muted)}
.dash-insight-item b{display:block;font-size:14px;font-weight:800;color:var(--dark);margin-top:2px}
.dash-two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
@media(max-width:900px){.dash-two-col{grid-template-columns:1fr}.dash-cat-name{width:130px}.dash-cat-nums{width:120px}}
.app-card{padding:20px 22px;margin-bottom:14px}
.app-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.app-card-name{font-size:16px;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.app-card-meta{font-size:12.5px;color:var(--text);margin-top:5px}
.app-card-meta .sep{color:var(--border);margin:0 6px}
.app-card-time{font-size:11.5px;color:var(--muted);margin-top:3px}
.app-actions{display:flex;gap:8px;flex-shrink:0}
.app-actions .btn{min-height:44px}
.app-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.app-panel{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.app-panel h4{font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}
.app-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border)}
.app-row:last-child{border-bottom:none}
.app-row .lbl{color:var(--muted)}
.app-row .val{color:var(--dark);font-weight:600;text-align:right}
.app-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.app-pass-field{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.app-pass-field input{padding:8px 10px;border-radius:8px;border:1px solid var(--border);font-size:12.5px;font-family:monospace;min-width:180px}
.status-pill{font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:100px}
.status-pill.pending{background:#EEF3F1;color:#E65100}
.status-pill.approved{background:var(--mint);color:var(--green)}
.status-pill.rejected{background:#FDECEA;color:#C0392B}
.status-pill.new{background:#E8F0FE;color:#1A56C4}
.status-pill.under_review{background:#EEF3F1;color:#E65100}
.status-pill.awaiting_info{background:#F3E8FD;color:#7C3AED}
.status-pill.resolved{background:var(--mint);color:var(--green)}

/* COMPLAINTS ADMIN v2 */
.cx-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.cx-summary-card{padding:14px 16px;border-radius:10px;border:1px solid var(--border);background:#fff}
.cx-summary-card .num{font-size:22px;font-weight:800;color:var(--dark)}
.cx-summary-card .lbl{font-size:11.5px;color:var(--muted);margin-top:2px}
.cx-summary-card.accent-new{border-left:3px solid #1A56C4}
.cx-summary-card.accent-review{border-left:3px solid #E65100}
.cx-summary-card.accent-info{border-left:3px solid #7C3AED}
.cx-summary-card.accent-resolved{border-left:3px solid var(--green)}
.cx-summary-card .ic{margin-bottom:6px}
.cx-summary-card.accent-new .ic{color:#1A56C4}
.cx-summary-card.accent-review .ic{color:#E65100}
.cx-summary-card.accent-info .ic{color:#7C3AED}
.cx-summary-card.accent-resolved .ic{color:var(--green)}
.cx-summary-card .view-all{display:block;font-size:11.5px;font-weight:700;color:var(--green);margin-top:6px;cursor:pointer}
.cx-summary-card .view-all:hover{text-decoration:underline}
.cx-toolbar{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:16px}
.cx-toolbar-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cx-toolbar input[type=text],.cx-toolbar select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);font-size:12.5px;font-family:inherit;background:#fff}
.cx-toolbar input[type=text]{flex:1;min-width:180px}
.priority-badge{font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:3px 8px;border-radius:100px}
.priority-badge.low{background:#E6F4EC;color:#0F4D3E}
.priority-badge.medium{background:#EEF3F1;color:#4B5E55}
.priority-badge.high{background:#FDE8E4;color:#D9480F}
.priority-badge.urgent{background:#FDECEA;color:#C0392B}
.cx-card{padding:16px 18px;margin-bottom:10px}
.cx-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.cx-ref{font-size:15px;font-weight:800;color:var(--green);cursor:pointer;background:none;border:none;font-family:inherit;padding:0}
.cx-ref:hover{text-decoration:underline}
.cx-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;font-size:12.5px}
.cx-meta-grid .lbl{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.cx-preview{font-size:13px;color:var(--text);margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
.cx-actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.cx-actions-row .btn-sm{padding:6px 12px;font-size:11.5px}
.cx-assignee{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}
.cx-detail-section{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:14px}
.cx-detail-section h4{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}
.cx-note{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:12.5px}
.cx-note .meta{font-size:10.5px;color:var(--muted);margin-bottom:4px}
.cx-history-item{display:flex;gap:10px;font-size:12.5px;padding:6px 0;border-bottom:1px solid var(--border)}
.cx-history-item:last-child{border-bottom:none}
@media(max-width:700px){
  .cx-meta-grid{grid-template-columns:1fr}
  .cx-toolbar-row{flex-direction:column;align-items:stretch}
}
.verify-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--mint);color:var(--green)}
.verify-badge.warn{background:#EEF3F1;color:#4B5E55}
.app-expand{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-top:14px;font-size:12.5px;color:var(--text);white-space:pre-line;line-height:1.6}
.modal-overlay{position:fixed;inset:0;background:rgba(15,30,25,.5);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-box{background:#fff;border-radius:14px;padding:26px 24px;max-width:440px;width:100%}
.modal-box h3{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:6px}
.modal-box p{font-size:12.5px;color:var(--muted);margin-bottom:14px;line-height:1.5}
.modal-box textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);font-size:13px;font-family:inherit;resize:vertical;margin-bottom:10px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
@media(max-width:760px){
  .app-grid2{grid-template-columns:1fr}
  .app-card-top{flex-direction:column}
  .app-actions{width:100%}
  .app-actions .btn{flex:1}
  .admin-toolbar{width:100%}
  .admin-toolbar input[type=text]{flex:1;min-width:0}
}


/* ── ADMIN DASHBOARD POLISH ── */
.ov-header-actions{justify-content:flex-end;align-items:flex-start}
.ov-range-select{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ov-range-select select,.ov-range-select input[type=date]{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--dark);font:inherit;font-size:12.5px}
.ov-cards-5{grid-template-columns:repeat(5,1fr)}
.ov-dashboard-grid{display:grid;grid-template-columns:1.35fr 1.35fr .95fr;gap:16px;align-items:start}
.ov-span-2{grid-column:span 2}
.ov-panel-head-stack{align-items:flex-start}
.ov-panel-sub{font-size:12px;color:var(--muted);margin-top:4px}
.ov-chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);font-weight:700}
.ov-chart-legend span{display:inline-flex;align-items:center;gap:7px}
.ov-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.ov-chart-legend i.app{background:#0F4D3E}
.ov-chart-legend i.compl{background:#E9A11B}
.ov-donut-wrap{display:flex;flex-direction:column;gap:10px}
.ov-donut-legend{display:flex;flex-direction:column;gap:8px}
.ov-donut-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;font-size:12px}
.ov-donut-row .sw{width:10px;height:10px;border-radius:50%}
.ov-donut-row .nm{color:var(--dark);font-weight:600}
.ov-donut-row .num{color:var(--muted);font-weight:700;white-space:nowrap}
.ov-mini-list{display:flex;flex-direction:column;gap:10px}
.ov-list-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}
.ov-list-row:last-child{border-bottom:none}
.ov-list-main{min-width:0;flex:1}
.ov-list-title{font-size:13px;font-weight:700;color:var(--dark)}
.ov-list-meta{font-size:11.5px;color:var(--muted);margin-top:3px}
.ov-kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.ov-kv{padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}
.ov-kv span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.ov-kv b{font-size:14px;color:var(--dark)}
.ov-messages-mount-compact{height:360px}
.ov-quick-actions-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.ov-quick-action{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--dark);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.ov-quick-action span{display:inline-flex;align-items:center;gap:8px}
.ov-quick-action b{color:var(--green-dark);font-size:14px}
.ov-quick-action:hover{background:var(--mint)}
.ov-activity-card{border-top:1px solid var(--border);padding-top:14px}
.ov-activity-title{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.ov-activity-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border)}
.ov-activity-row:last-child{border-bottom:none}
.ov-activity-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--green-dark)}
.ov-activity-icon.complaint{background:#FFF5E5;color:#C98200}
.ov-activity-name{font-size:12.5px;font-weight:700;color:var(--dark)}
.ov-activity-meta{font-size:11.5px;color:var(--muted);margin-top:2px}
.ov-activity-date{font-size:11px;color:var(--muted);white-space:nowrap}
@media(max-width:1280px){.ov-cards-5{grid-template-columns:repeat(3,1fr)}.ov-dashboard-grid{grid-template-columns:1fr 1fr}.ov-span-2{grid-column:span 2}}
@media(max-width:900px){.ov-cards-5{grid-template-columns:1fr 1fr}.ov-dashboard-grid{grid-template-columns:1fr}.ov-span-2{grid-column:span 1}.ov-kv-grid{grid-template-columns:1fr}}
@media(max-width:640px){.ov-cards-5{grid-template-columns:1fr}.ov-header-actions{justify-content:flex-start;width:100%}.ov-range-select{width:100%}.ov-range-select select,.ov-range-select input[type=date]{width:100%}.ov-activity-row{grid-template-columns:28px 1fr}.ov-activity-date{grid-column:2;margin-top:4px}}

/* RESPONSIVE */
@media(max-width:768px){
  .nav-links{display:none}
  .nav-auth{display:none}
  .nav-mobile-toggle{display:flex;align-items:center;justify-content:center}
  .hero h2{font-size:24px}
  .features{grid-template-columns:1fr}
  .company-contact{flex-direction:column;gap:6px}
}

/* ── HOME INFO SECTIONS ── */
.home-sections{background:var(--bg)}

/* Section: Who We Are */
.home-who{max-width:900px;margin:0 auto;padding:64px 24px 56px;text-align:center}
.home-who .section-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--green);text-transform:uppercase;background:var(--mint);border:1px solid #C4DDD0;padding:6px 14px;border-radius:100px;margin-bottom:20px}
.home-who h2{font-size:28px;font-weight:800;color:var(--dark);letter-spacing:-.025em;line-height:1.15;margin-bottom:16px}
.home-who p{font-size:14.5px;color:var(--muted);line-height:1.75;max-width:680px;margin:0 auto}

/* Section: What We Do */
.home-what{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.home-what-inner{max-width:1060px;margin:0 auto;padding:60px 24px}
.home-what-inner h2{font-size:26px;font-weight:800;color:var(--dark);letter-spacing:-.025em;text-align:center;margin-bottom:36px}
.home-what-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.home-what-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:24px 22px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .18s}
.home-what-card:hover{box-shadow:0 4px 18px rgba(15,76,53,.10)}
.home-what-icon{width:44px;height:44px;border-radius:11px;background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0}
.home-what-card h4{font-size:14px;font-weight:800;color:var(--dark);line-height:1.2}
.home-what-card p{font-size:13px;color:var(--muted);line-height:1.65}

/* Section: Why Join */
.home-why{max-width:1060px;margin:0 auto;padding:60px 24px}
.home-why-top{text-align:center;margin-bottom:36px}
.home-why-top h2{font-size:26px;font-weight:800;color:var(--dark);letter-spacing:-.025em;margin-bottom:10px}
.home-why-top p{font-size:14px;color:var(--muted);line-height:1.7;max-width:640px;margin:0 auto}
.home-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.home-why-card{border:1px solid var(--border);border-radius:12px;padding:20px 18px;background:#fff;display:flex;flex-direction:column;gap:10px}
.home-why-card .ic{width:38px;height:38px;border-radius:10px;background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green)}
.home-why-card h4{font-size:13px;font-weight:800;color:var(--dark)}
.home-why-card p{font-size:12.5px;color:var(--muted);line-height:1.6}

/* CTA Banner */
.home-cta-band{background:linear-gradient(120deg,#0B3B30 0%,#0F4D3E 60%,#166B57 100%);padding:56px 24px;text-align:center}
.home-cta-band h2{font-size:26px;font-weight:800;color:#fff;letter-spacing:-.02em;margin-bottom:12px}
.home-cta-band p{font-size:14.5px;color:rgba(255,255,255,.78);line-height:1.65;max-width:540px;margin:0 auto 28px}
.home-cta-band .btn-cta{display:inline-flex;align-items:center;gap:9px;background:var(--gold-real);color:#2A2411;font-weight:800;font-size:14.5px;padding:15px 30px;border-radius:10px;border:none;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:opacity .15s,transform .15s}
.home-cta-band .btn-cta:hover{opacity:.92;transform:translateY(-1px)}
.home-cta-band .cta-sub{font-size:12px;color:rgba(255,255,255,.5);margin-top:16px}

@media(max-width:700px){
  .home-who h2{font-size:22px}
  .home-what-inner h2,.home-why-top h2,.home-cta-band h2{font-size:21px}
  .home-who{padding:48px 20px 40px}
  .home-what-inner,.home-why{padding:44px 20px}
  .home-cta-band{padding:44px 20px}
}

/* ── COMPANY DETAIL: SERVICES & BUSINESS HOURS ── */
.co-verified-eyebrow{font-size:11px;font-weight:900;color:var(--green);letter-spacing:1.1px;margin-bottom:12px}
.co-banner-header{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:12px;padding:18px;margin-bottom:0}
.co-verified-badge-banner{background:rgba(255,255,255,.18);color:#fff}
.co-contact-sticky{position:sticky;top:66px;z-index:5;background:var(--white)}
.co-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.about-verified-seal{width:44px;height:44px;border-radius:50%;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:10px;border:2px solid var(--gold)}
.about-board-row{animation:aboutBoardIn .35s ease-out both}
.about-board-row:nth-child(1){animation-delay:0s}
.about-board-row:nth-child(2){animation-delay:.07s}
.about-board-row:nth-child(3){animation-delay:.14s}
.about-board-row:nth-child(n+4){animation-delay:.2s}
@keyframes aboutBoardIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.about-board-row{animation:none}}
@media(max-width:640px){.co-info-grid{grid-template-columns:1fr}}
.co-info-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 20px}
.co-info-head{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.co-info-head .ic{width:32px;height:32px;border-radius:9px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.co-info-head h3{font-size:14px;font-weight:800;color:var(--dark)}
.co-services-list{display:flex;flex-wrap:wrap;gap:8px}
.co-service-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--green-dark);background:var(--mint);border:1px solid #CFE7DA;padding:7px 12px;border-radius:8px}
.co-hours-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--bg)}
.co-hours-row:last-child{border-bottom:none}
.co-hours-day{font-size:13px;color:var(--text);font-weight:600}
.co-hours-time{font-size:13px;color:var(--muted)}
.co-hours-time.closed{color:#C0392B;font-weight:600}

.gdpr-banner{position:fixed;left:0;right:0;bottom:0;z-index:400;background:#0f1f18;color:#fff;padding:18px 20px;box-shadow:0 -6px 24px rgba(0,0,0,.25);display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}
.gdpr-banner-text{flex:1;min-width:240px;max-width:760px;font-size:13.5px;line-height:1.5;color:#e6efe9}
.gdpr-banner-text a{color:#7fd9ae;text-decoration:underline}
.gdpr-banner-btns{display:flex;gap:10px;flex-wrap:wrap}
.gdpr-btn-accept{background:var(--green);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:700;font-size:13.5px;cursor:pointer}
.gdpr-btn-decline{background:transparent;color:#cfe3d7;border:1px solid rgba(255,255,255,.35);padding:10px 18px;border-radius:8px;font-weight:600;font-size:13.5px;cursor:pointer}
@media(max-width:640px){.gdpr-banner{flex-direction:column;align-items:stretch;text-align:center}.gdpr-banner-btns{justify-content:center}}

/* ── LOGIN → DASHBOARD TRANSITION ──
   Plays once, right after a successful sign-in, then never again (tab
   switches / data refreshes on the dashboard do not replay it). Uses only
   opacity + transform so it stays smooth on low-powered devices, and falls
   back to a plain fade when prefers-reduced-motion is set. */

.btn-spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;vertical-align:-2px;margin-right:2px;animation:btnSpin .7s linear infinite}
@keyframes btnSpin{to{transform:rotate(360deg)}}

.login-wrap{transition:opacity .3s ease, transform .3s ease}
.login-wrap.lw-fade-out{opacity:0;transform:translateY(4px);pointer-events:none}

.auth-transition-overlay{position:fixed;inset:0;z-index:9999;background:var(--white);display:flex;align-items:center;justify-content:center;opacity:1}
.auth-transition-overlay.at-leaving{animation:atOverlayOut .26s ease forwards}
.auth-transition-overlay.at-fade-fast{animation:atOverlayOut .2s ease forwards}
@keyframes atOverlayOut{to{opacity:0}}

.at-inner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.at-logo{width:52px;height:52px;border-radius:14px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;letter-spacing:.4px;box-shadow:0 10px 26px rgba(22,107,74,.18);opacity:0;transform:translateY(10px) scale(.9);animation:atLogoIn .65s cubic-bezier(.16,1,.3,1) forwards}
@keyframes atLogoIn{to{opacity:1;transform:translateY(0) scale(1)}}
.at-title{font-size:14.5px;font-weight:700;color:var(--green-dark);opacity:0;animation:atTextIn .45s ease forwards;animation-delay:.18s}
.at-subtitle{font-size:11.5px;color:var(--muted);max-width:260px;opacity:0;animation:atTextIn .45s ease forwards;animation-delay:.26s}
@keyframes atTextIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.at-spinner{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--green);opacity:0;animation:atSpin .8s linear infinite, atTextIn .01s ease forwards;animation-delay:0s,.34s}
@keyframes atSpin{to{transform:rotate(360deg)}}

/* Dashboard entrance, applied once to the freshly rendered admin/company
   dashboard while the overlay above it fades away. */
.page-content.ae-bg{animation:aeFadeIn .5s ease forwards}
@keyframes aeFadeIn{from{opacity:0}to{opacity:1}}
.nav.ae-enter-header{opacity:0;transform:translateY(-15px);animation:aeHeaderIn .5s ease forwards;animation-delay:.05s}
@keyframes aeHeaderIn{to{opacity:1;transform:translateY(0)}}
.ae-enter-sidebar{opacity:0;transform:translateX(-30px);animation:aeSidebarIn .5s ease forwards;animation-delay:.08s}
@keyframes aeSidebarIn{to{opacity:1;transform:translateX(0)}}
.ae-enter-header-inner{opacity:0;transform:translateY(-15px);animation:aeHeaderIn .5s ease forwards;animation-delay:.05s}
.ae-card{opacity:0;transform:translateY(15px);animation:aeCardIn .5s ease forwards;animation-delay:.12s}
@keyframes aeCardIn{to{opacity:1;transform:translateY(0)}}
.ae-charts{opacity:0;animation:aeFadeIn .5s ease forwards;animation-delay:.4s}

@media (prefers-reduced-motion: reduce){
  .login-wrap,.login-wrap.lw-fade-out,.auth-transition-overlay,.at-leaving,.at-fade-fast,
  .at-logo,.at-title,.at-subtitle,.at-spinner,
  .page-content.ae-bg,.nav.ae-enter-header,.ae-enter-sidebar,.ae-enter-header-inner,.ae-card,.ae-charts{
    animation:none !important;transform:none !important;opacity:1 !important;
  }
  .login-wrap.lw-fade-out{opacity:0 !important;transition:opacity .2s ease !important}
  .auth-transition-overlay.at-leaving,.auth-transition-overlay.at-fade-fast{opacity:0 !important;transition:opacity .2s ease !important}
  .btn-spinner{animation:none !important;border-top-color:rgba(255,255,255,.45) !important}
}

/* ============================================
   PROFESSIONAL POLISH, v6_22 review
   Added: 1) visible keyboard focus everywhere (there was none in the
   file, Tab-navigating users had no way to see where they were,
   which fails WCAG 2.4.7). 2) buttons only dimmed on hover (opacity:.9)
   with no motion, flat next to the cards/CTA/footer icons that already
   lift on hover, brought them up to the same standard.
   Everything below is additive; no existing rule was removed.
   ============================================ */

/* Keyboard focus ring, every real hyperlink, button and tabbable
   element. Uses :focus-visible so mouse clicks stay clean and only
   keyboard/switch users see the ring. */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--green);
  outline-offset:2px;
  border-radius:4px;
}

/* Text inputs/selects/textareas had a static border and nothing else -
   one rule here covers all of them at once: login, complaint form,
   join form, admin toolbar search, "find a cleaner" filters. */
input:not([type=checkbox]):not([type=radio]):focus,
select:focus,
textarea:focus{
  border-color:var(--green) !important;
  box-shadow:0 0 0 3px rgba(22,107,74,.14);
  outline:none;
}
input[type=checkbox]:focus-visible,
input[type=radio]:focus-visible{
  outline:2px solid var(--green);
  outline-offset:2px;
}

/* Buttons: replace the flat opacity-dim hover with a small lift + soft
   shadow, and a real pressed state on click. Same colors, just tactile. */
.btn{transition:background .18s ease, box-shadow .18s ease, transform .12s ease, border-color .18s ease}
.btn:hover{opacity:1;box-shadow:0 6px 16px rgba(22,107,74,.22);transform:translateY(-1px)}
.btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(22,107,74,.16)}
.btn-outline:hover{background:var(--mint);border-color:var(--green);box-shadow:none}
.btn-soft:hover{background:#DCEFE3;box-shadow:none}
.btn-danger-outline:hover{box-shadow:none}
.btn-full:hover{transform:none} /* full-width submit buttons shouldn't visibly shift sideways */

/* New: ghost variant, for a tertiary action sitting next to a primary
   one (e.g. "Cancel" next to "Save") so it doesn't compete visually.
   Not used anywhere yet, safe to adopt gradually in admin forms/modals. */
.btn-ghost{background:transparent;color:var(--text);border:1px solid transparent}
.btn-ghost:hover{background:var(--bg);color:var(--dark);box-shadow:none;transform:none}

@media (prefers-reduced-motion: reduce){
  .btn,.btn:hover,.btn:active{transition:none !important;transform:none !important}
}



/* Admin messages page heading */
.admin-messages-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.admin-messages-head h1{font-size:24px;font-weight:800;color:var(--dark);margin:0}
.admin-messages-head .sub{font-size:13px;color:var(--muted);margin-top:4px}
.admin-messages-mount{min-height:620px}
@media(max-width:768px){.admin-messages-head{align-items:flex-start}.admin-messages-mount{min-height:520px}}

/* ── ADMIN MESSAGES PAGE ── */
.admin-messages-page{min-width:0}
.admin-messages-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.admin-messages-head h1{font-size:24px;font-weight:800;color:var(--dark);margin:0}
.admin-messages-head .sub{font-size:13px;color:var(--muted);margin-top:5px}
.admin-messages-mount{min-height:620px}
.admin-messages-mount .msg-wrap{height:calc(100vh - 235px);min-height:620px}
@media(max-width:860px){.admin-messages-head{flex-direction:column}.admin-messages-head .btn{width:100%}.admin-messages-mount .msg-wrap{height:auto;min-height:560px}}

/* ── COMPANY PORTAL DASHBOARD ── */
.co-dashboard-section{max-width:1460px;margin:0 auto;padding:28px 24px 44px}
.co-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:22px;align-items:center;margin-bottom:18px}
.co-company-brand{display:flex;align-items:center;gap:18px;min-width:0}
.co-company-logo{width:104px;height:104px;border-radius:50%;background:#fff;border:1px solid var(--border);box-shadow:0 8px 22px rgba(15,77,62,.08);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:var(--green-dark);overflow:hidden;flex-shrink:0}
.co-company-logo img{width:100%;height:100%;object-fit:contain;padding:10px}
.co-welcome{display:block;font-size:13px;color:var(--muted);font-weight:600;margin-bottom:4px}
.co-company-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.co-company-title h1{font-size:30px;line-height:1.1;font-weight:800;color:var(--dark);margin:0}
.co-company-brand p{font-size:13px;color:var(--muted);margin-top:6px}
.co-verified-pill{display:inline-flex;align-items:center;gap:4px;background:var(--mint);color:var(--green-dark);font-size:10.5px;font-weight:800;border-radius:100px;padding:5px 9px}
.co-quick-actions{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;box-shadow:0 5px 16px rgba(15,77,62,.05)}
.co-quick-title{font-size:13px;font-weight:800;color:var(--dark);margin-bottom:12px}
.co-quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.co-quick-grid button{border:none;border-right:1px solid var(--border);background:none;padding:8px 14px;text-align:left;color:var(--green-dark);cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:4px;min-width:0}
.co-quick-grid button:last-child{border-right:none}
.co-quick-grid button:hover{background:var(--mint);border-radius:10px}
.co-quick-grid button b{font-size:12.5px;color:var(--dark)}
.co-quick-grid button span{font-size:11px;color:var(--muted)}
.co-dashboard-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px;padding:0}
.co-dashboard-tabs .tab{border-radius:0;border:none;border-right:1px solid var(--border);justify-content:center;min-height:46px}
.co-dashboard-tabs .tab:last-child{border-right:none}
.co-dashboard-tabs .tab.active{background:var(--green-dark);color:#fff}
.co-overview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}
.co-stat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;min-width:0}
.co-stat-icon{width:50px;height:50px;border-radius:50%;background:var(--mint);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.co-stat-card>div{min-width:0;display:flex;flex-direction:column}
.co-stat-card b{font-size:23px;line-height:1;color:var(--dark)}
.co-stat-card b.co-stat-text{font-size:17px;line-height:1.2}
.co-stat-card b.green{color:var(--green)}
.co-stat-card span:not(.co-stat-icon){font-size:12px;font-weight:700;color:var(--dark);margin-top:5px}
.co-stat-card small{font-size:11px;color:var(--muted);margin-top:3px}
.co-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.co-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;min-height:260px}
.co-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.co-panel-head h3{font-size:15px;color:var(--dark);font-weight:800;margin:0}
.co-panel-head p{font-size:11.5px;color:var(--muted);margin-top:4px}
.co-link{border:none;background:none;color:var(--green-dark);font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.co-list,.co-news-list{display:flex;flex-direction:column}
.co-list-row,.co-news-row{width:100%;display:flex;align-items:center;gap:12px;padding:12px 0;border:none;border-bottom:1px solid var(--border);background:none;text-align:left;font:inherit;cursor:pointer}
.co-list-row:last-child,.co-news-row:last-child{border-bottom:none}
.co-list-row:hover,.co-news-row:hover{background:var(--mint)}
.co-list-avatar{width:38px;height:38px;border-radius:50%;background:var(--green-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}
.co-list-main{display:flex;flex-direction:column;min-width:0;flex:1}
.co-list-main b{font-size:12.5px;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-list-main span{font-size:11.5px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-list-meta{font-size:10.5px;color:var(--muted);display:flex;flex-direction:column;align-items:flex-end;gap:5px;white-space:nowrap}
.co-list-meta em{font-style:normal;font-size:9.5px;font-weight:800;background:var(--mint);color:var(--green-dark);padding:3px 7px;border-radius:100px}
.co-news-row img,.co-news-placeholder{width:96px;height:58px;border-radius:8px;object-fit:cover;flex-shrink:0}
.co-news-placeholder{display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--green-dark)}
.co-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:7px}
.co-empty b{font-size:14px;color:var(--dark)}
.co-empty span{font-size:12px}
.co-benefit-banner{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px}
.co-benefit-icon{width:52px;height:52px;border-radius:50%;background:var(--green-dark);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.co-benefit-banner>div{display:flex;flex-direction:column;flex:1;min-width:0}
.co-benefit-banner b{font-size:13.5px;color:var(--dark)}
.co-benefit-banner span{font-size:11.5px;color:var(--muted);margin-top:3px}
.co-benefit-banner .btn{min-width:220px}
@media(max-width:1200px){.co-dashboard-hero{grid-template-columns:1fr}.co-overview-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.co-dashboard-section{padding:20px 16px 36px}.co-overview-grid{grid-template-columns:1fr 1fr}.co-content-grid{grid-template-columns:1fr}.co-quick-grid{grid-template-columns:1fr 1fr}.co-quick-grid button:nth-child(2){border-right:none}.co-quick-grid button{border-bottom:1px solid var(--border)}.co-dashboard-tabs{grid-template-columns:1fr 1fr;overflow:visible}.co-dashboard-tabs .tab{border:1px solid var(--border)}.co-company-logo{width:82px;height:82px}.co-company-title h1{font-size:24px}.co-benefit-banner{align-items:flex-start;flex-wrap:wrap}.co-benefit-banner .btn{width:100%;min-width:0}}
@media(max-width:520px){.co-company-brand{align-items:flex-start}.co-company-logo{width:68px;height:68px}.co-overview-grid{grid-template-columns:1fr}.co-quick-grid{grid-template-columns:1fr}.co-quick-grid button{border-right:none}.co-dashboard-tabs{grid-template-columns:1fr}.co-news-row img,.co-news-placeholder{width:72px;height:48px}}

.co-account-shell{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
.co-account-side,.co-account-main{min-width:0}
.co-account-profile-card{padding:18px;display:flex;flex-direction:column;gap:10px;position:sticky;top:90px}
.co-account-profile-logo{width:84px;height:84px;border-radius:24px;background:linear-gradient(135deg,var(--mint),#d9ece3);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--green-dark);overflow:hidden}
.co-account-profile-logo img,.co-logo-preview img{width:100%;height:100%;object-fit:cover}
.co-account-badge{display:inline-flex;align-self:flex-start;background:#E4F2EB;color:var(--green-dark);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}
.co-account-name{font-size:24px;font-weight:800;color:var(--dark);line-height:1.1}
.co-account-type,.co-account-meta{font-size:12.5px;color:var(--muted)}
.co-account-help{margin-top:6px;padding:14px;border-radius:14px;background:#F8FBF9}
.co-account-help-title{font-size:13px;font-weight:800;color:var(--dark);margin-bottom:4px}
.co-account-help p{font-size:12px;color:var(--muted);margin-bottom:10px}
.co-account-card{padding:20px 20px 18px;margin-bottom:16px}
.co-account-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}
.co-account-card-head h3{font-size:18px;font-weight:800;color:var(--dark);margin:0}
.co-account-card-head p{font-size:12px;color:var(--muted);margin-top:4px}
.co-account-grid-2,.co-account-form-grid,.co-hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.co-account-panel{border:1px solid var(--border);border-radius:14px;padding:16px;background:#FCFDFC}
.co-account-panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--dark);margin-bottom:4px}
.co-account-panel-sub{font-size:11.75px;color:var(--muted);margin-bottom:12px}
.co-logo-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.co-logo-preview{width:74px;height:74px;border-radius:18px;background:linear-gradient(135deg,var(--mint),#d9ece3);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--green-dark);overflow:hidden}
.co-visibility-points{display:flex;flex-direction:column;gap:8px}
.co-visibility-points span{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text)}
.co-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.co-service-option{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 12px;font-size:12.5px;color:var(--text);cursor:pointer}
.co-service-option input{accent-color:#0D5A42;flex-shrink:0}
.co-service-option:hover{border-color:#b8d3c6;background:#fbfdfc}
.co-custom-service-box label{display:block;font-size:12px;font-weight:700;color:var(--dark);margin-bottom:8px}
.co-custom-service-row{display:flex;gap:10px;align-items:center}
.co-custom-service-row input{flex:1}
.co-service-help{font-size:11.5px;color:var(--muted);margin-top:8px}
.co-service-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.co-service-chip{display:inline-flex;align-items:center;gap:8px;background:#EAF6F0;color:var(--green-dark);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}
.co-service-chip button{border:none;background:none;color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.co-service-empty{font-size:11.5px;color:var(--muted)}
.co-account-savebar{margin-top:16px;border-top:1px solid var(--border);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.co-account-savebar span{font-size:11.75px;color:var(--muted)}
@media(max-width:1100px){.co-account-shell{grid-template-columns:1fr}.co-account-profile-card{position:static}.co-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.co-account-grid-2,.co-account-form-grid,.co-hours-grid{grid-template-columns:1fr}.co-service-grid{grid-template-columns:1fr}.co-custom-service-row{flex-direction:column;align-items:stretch}.co-account-savebar .btn{width:100%}}

/* ── Professional company profile ── */
.co-profile-page{max-width:1480px;margin:0 auto;padding:22px 22px 34px}
.co-back-results{margin-bottom:12px}
.co-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}
.co-profile-main{min-width:0}
.co-profile-hero{position:relative;display:flex;align-items:center;gap:18px;padding:22px;border-radius:16px 16px 0 0;background:linear-gradient(135deg,#0B4A39,#08704F);color:#fff;overflow:hidden}
.co-profile-hero:after{content:"";position:absolute;right:-70px;top:-100px;width:270px;height:270px;border-radius:50%;background:rgba(255,255,255,.06)}
.co-profile-avatar{width:82px;height:82px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);overflow:hidden;flex-shrink:0;font-size:34px;font-weight:800}
.co-profile-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}
.co-profile-hero-copy{min-width:0;flex:1;position:relative;z-index:1}
.co-profile-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.co-profile-title-row h1{font-size:28px;margin:0;color:#fff}
.co-profile-verified{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.14);font-size:11px;font-weight:800}
.co-profile-rating{font-size:13px;margin-top:6px;color:rgba(255,255,255,.92)}
.co-profile-rating span{color:var(--rating-star);font-weight:800}.co-profile-rating b{margin:0 5px}
.co-profile-meta{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px;font-size:12px;color:rgba(255,255,255,.9)}
.co-profile-meta span{display:inline-flex;align-items:center;gap:5px}
.co-profile-shield{position:relative;z-index:1;color:rgba(255,255,255,.34);margin-left:auto}
.co-profile-actions{display:grid;border:1px solid var(--border);border-top:0;background:#fff;border-radius:0 0 14px 14px;overflow:hidden;align-items:stretch}
.co-profile-actions>*{min-width:0}
.co-action-btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:62px;padding:14px 12px;border-right:1px solid var(--border);color:var(--green-dark);font-size:13px;font-weight:800;background:#fff;text-decoration:none;cursor:pointer;white-space:nowrap}
.co-action-btn:last-child{border-right:0}.co-action-btn:hover{background:var(--mint)}
.co-profile-content-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:14px;margin-top:14px}
.co-profile-card,.co-side-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}
.co-profile-card h3,.co-side-card h3{font-size:14px;color:var(--dark);margin:0 0 12px}
.co-profile-card p,.co-side-card p{font-size:12.5px;color:var(--muted);line-height:1.6}
.co-card-head{display:flex;justify-content:space-between;align-items:center}
.co-detail-list{margin-top:14px;display:flex;flex-direction:column;gap:9px}
.co-detail-list div{display:flex;justify-content:space-between;gap:14px;font-size:12px}.co-detail-list span{color:var(--muted)}.co-detail-list b{text-align:right;color:var(--dark)}
.co-profile-services{display:flex;flex-direction:column;gap:9px}.co-profile-services div{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--dark)}.co-profile-services svg{color:var(--green)}
.co-profile-hours{display:flex;flex-direction:column;gap:10px}.co-profile-hours div{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}.co-profile-hours span{color:var(--dark)}.co-profile-hours b{color:var(--muted)}.co-profile-hours .closed{color:#C0392B}
.co-reviews-card{grid-column:2/4}
.co-review-empty{display:flex;flex-direction:column;gap:5px;padding:14px 0}.co-review-empty b{font-size:13px}.co-review-empty span,.co-muted{font-size:12px;color:var(--muted)}
.co-profile-side{display:flex;flex-direction:column;gap:14px}.co-side-card h3{display:flex;align-items:center;gap:7px}.co-side-card>a{display:flex;align-items:center;gap:8px;padding:7px 0;color:var(--dark);font-size:12px;text-decoration:none;word-break:break-word}.co-side-card>a:hover{color:var(--green)}
.co-verified-card ul{list-style:none;padding:0;margin:13px 0 0;display:flex;flex-direction:column;gap:8px}.co-verified-card li{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--dark)}.co-verified-card svg{color:var(--green)}
.co-help-card{background:linear-gradient(180deg,#F4FBF7,#EEF8F2)}
@media(max-width:1000px){.co-profile-grid{grid-template-columns:1fr}.co-profile-side{display:grid;grid-template-columns:repeat(3,1fr)}.co-profile-content-grid{grid-template-columns:1fr 1fr}.co-reviews-card{grid-column:1/-1}}
@media(max-width:700px){.co-profile-page{padding:14px}.co-profile-hero{align-items:flex-start}.co-profile-avatar{width:64px;height:64px}.co-profile-title-row h1{font-size:22px}.co-profile-shield{display:none}.co-profile-actions{grid-template-columns:1fr 1fr!important}.co-action-btn:nth-child(2n){border-right:0}.co-profile-content-grid,.co-profile-side{grid-template-columns:1fr}.co-reviews-card{grid-column:auto}.co-profile-meta{flex-direction:column;gap:6px}}

/* Find a Cleaner, compact professional directory */
.find-reset-btn{margin-top:9px}
.find-verified-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border-radius:11px;background:linear-gradient(135deg,#EFF8F3,#E6F4EC);color:var(--green-dark)}
.find-verified-note b{display:block;font-size:11.5px;color:var(--dark)}
.find-verified-note span{display:block;font-size:10.5px;color:var(--muted);line-height:1.45;margin-top:2px}
.find-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 12px}
.find-results-summary{font-size:13px;color:var(--text)}
.find-results-summary b{color:var(--green-dark)}
.result-row{position:relative;min-height:112px;padding:17px 18px;overflow:hidden}
.result-click-area{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;z-index:1}
.result-row>*:not(.result-click-area){position:relative;z-index:2;pointer-events:none}
.result-avatar{width:58px;height:58px;border-radius:14px;font-size:24px;font-weight:800;color:#fff;overflow:visible}
.result-avatar img{width:100%;height:100%;object-fit:contain;border-radius:12px}
.result-title-line{display:flex;align-items:center;gap:7px}
.result-title-line h4{font-size:17px;margin:0}
.result-verified-mark{display:flex;color:var(--green)}
.result-type{font-size:12.5px;font-weight:700;color:var(--dark);margin-top:3px}
.result-loc{display:flex;align-items:center;gap:5px;margin-top:5px}
.result-tags span{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #DCE9E2;border-radius:999px;padding:4px 8px;color:var(--green-dark);font-size:10px}
.result-side{min-width:215px;justify-content:flex-end}
.result-rating-wrap{min-width:72px}
.result-profile-btn{pointer-events:auto!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--green);background:#fff;color:var(--green-dark);padding:10px 14px;border-radius:10px;font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.result-profile-btn:hover{background:var(--mint)}
.find-empty{padding:42px;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--muted);gap:7px}
.find-empty b{color:var(--dark);font-size:14px}
.find-empty span{font-size:12px}
.find-pagination-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;color:var(--muted);font-size:11.5px}
.find-pagination{display:flex;align-items:center;gap:8px}
.find-pagination button,.find-pagination span{display:inline-flex;align-items:center;gap:5px;justify-content:center;min-height:34px;border-radius:8px;border:1px solid var(--border);background:#fff;padding:0 11px;font:inherit;font-size:11px;color:var(--green-dark)}
.find-pagination span{min-width:34px;border-color:var(--green);font-weight:800}
.find-pagination button{cursor:pointer}
.find-pagination button:disabled{opacity:.4;cursor:not-allowed}
.find-verification-banner{display:flex;align-items:center;gap:15px;margin-top:18px;padding:16px 18px;border:1px solid #CFE4D9;border-radius:14px;background:linear-gradient(90deg,#EFF8F3,#F9FCFA);color:var(--green-dark)}
.find-verification-banner>div{flex:1;display:flex;flex-direction:column}
.find-verification-banner b{font-size:13px;color:var(--dark)}
.find-verification-banner span{font-size:11.5px;color:var(--muted);margin-top:3px}
@media(max-width:800px){.find-results-toolbar,.find-pagination-row,.find-verification-banner{align-items:flex-start;flex-direction:column}.result-side{width:100%;min-width:0}.result-profile-btn{margin-left:auto}.find-verification-banner .btn{width:100%}}
@media(max-width:520px){.result-row{align-items:flex-start}.result-side{align-items:center}}

/* ── Company dashboard: unread admin messages highlighted in red ── */
.co-list-row-unread{background:#fef2f2;border-left:3px solid #dc2626;padding-left:9px}
.co-list-row-unread:hover{background:#fee2e2}
.co-list-row-unread .co-list-main b{color:#b91c1c;font-weight:700}
.co-list-avatar.unread{background:#dc2626;color:#fff}
.co-unread-pill{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;font-style:normal;letter-spacing:.2px}
.co-stat-card.co-stat-alert{border-color:#dc2626;background:#fef2f2}
.co-stat-card.co-stat-alert b{color:#b91c1c}
.co-stat-card.co-stat-alert .co-stat-icon{background:#dc2626;color:#fff}

/* ── Company account: hours / services / password controls ── */
.co-hours-input-row{display:flex;gap:6px;align-items:center}
.co-hours-input-row input{flex:1;min-width:0}
.co-hours-closed-btn{flex-shrink:0;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}
.co-hours-closed-btn:hover{background:var(--mint)}
.co-hours-closed-btn.active{background:#dc2626;border-color:#dc2626;color:#fff}
.co-service-bulk{display:flex;gap:14px;margin:0 0 10px}
.co-service-bulk .co-link{background:none;border:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.co-pass-row{display:flex;gap:6px;align-items:center}
.co-pass-row input{flex:1;min-width:0}
.co-pass-toggle{flex-shrink:0;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}
.co-pass-toggle:hover{background:var(--mint)}
.co-savebar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ── FIND A CLEANER: skeleton loading state ── */
.find-skeleton{display:flex;flex-direction:column;gap:10px}
.find-sk-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.find-sk-avatar,.find-sk-line,.find-sk-btn{background:#e6ede9;border-radius:6px;animation:findSkPulse 1.15s ease-in-out infinite;animation-delay:var(--sk-delay,0ms)}
.find-sk-avatar{width:44px;height:44px;border-radius:10px;flex-shrink:0}
.find-sk-lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.find-sk-line.lg{height:12px;width:52%}
.find-sk-line.sm{height:9px;width:34%;background:#eef3f0}
.find-sk-btn{width:92px;height:32px;border-radius:8px;flex-shrink:0}
@keyframes findSkPulse{0%,100%{opacity:1}50%{opacity:.45}}
.find-summary-loading{color:var(--muted);font-weight:600}
@media(max-width:520px){.find-sk-btn{display:none}}
@media(prefers-reduced-motion:reduce){.find-sk-avatar,.find-sk-line,.find-sk-btn{animation:none}}

/* --- Admin applications redesign --- */
.adm-app-page-head{margin-bottom:18px}
.adm-app-stat-row{margin-bottom:18px}
.adm-app-tabs-row{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.adm-app-tabs-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.adm-app-result-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:13px;font-weight:700;color:var(--dark)}
.adm-app-card-v2{padding:18px 20px 18px;border-radius:18px;margin-bottom:16px;box-shadow:0 10px 28px rgba(8,44,33,.05)}
.adm-app-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.adm-app-card-head-left{display:flex;gap:14px;align-items:flex-start;min-width:0;flex:1}
.adm-app-card-check{width:18px;height:18px;accent-color:var(--green);margin-top:8px;flex-shrink:0}
.adm-app-card-avatar{width:56px;height:56px;border-radius:14px;border:1px solid var(--border);background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:20px;font-weight:800;overflow:hidden;flex-shrink:0}
.adm-app-card-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}
.adm-app-card-title-wrap{min-width:0;flex:1}
.adm-app-card-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.adm-app-card-title{font-size:18px;font-weight:800;color:var(--dark)}
.adm-app-card-meta-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--text)}
.adm-app-card-meta-row span{display:inline-flex;gap:6px;align-items:center}
.adm-app-more-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--dark);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.adm-app-card-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adm-app-card-panel{background:#FBFDFC;border:1px solid var(--border);border-radius:14px;padding:16px 18px}
.adm-app-card-panel h4,.adm-app-detail-card h3,.adm-app-side-card h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--dark);margin-bottom:12px}
.adm-app-doc-status{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.adm-app-logo-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.adm-app-tiny-logo{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.adm-app-tiny-logo img{width:100%;height:100%;object-fit:contain}
.adm-app-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #ECF3EF}
.adm-app-card-footer-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.adm-app-card-footer .app-pass-field{margin-left:auto}

.adm-app-detail-page{display:flex;flex-direction:column;gap:16px}
.adm-app-back-row{display:flex;justify-content:flex-start}
.adm-app-detail-head h1{font-size:20px;font-weight:800;color:var(--dark);display:flex;align-items:center;gap:10px;margin:0}
.adm-app-detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.adm-app-detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) 300px;gap:18px;align-items:start}
.adm-app-main-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.adm-app-side-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.adm-app-summary-card{padding:18px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center}
.adm-app-summary-avatar{width:64px;height:64px;border-radius:16px;background:var(--mint);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:28px;font-weight:800;overflow:hidden}
.adm-app-summary-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}
.adm-app-summary-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:14px;align-items:center}
.adm-app-summary-name{font-size:18px;font-weight:800;color:var(--dark)}
.adm-app-summary-sub{font-size:14px;color:var(--text);margin-top:4px}
.adm-app-summary-link{font-size:13px;color:var(--green);margin-top:6px}
.adm-app-mini-label{font-size:12px;color:var(--muted);margin-bottom:4px}
.adm-app-mini-value{font-size:14px;font-weight:700;color:var(--dark)}
.adm-app-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adm-app-detail-card{padding:18px;border-radius:16px}
.adm-app-side-card{padding:18px;border-radius:16px}
.adm-app-side-card .btn + .btn{margin-top:10px}
.adm-app-side-actions-split{display:flex;gap:10px}
.adm-app-help-text{font-size:13px;color:var(--text);line-height:1.55;margin-bottom:14px}
.adm-app-description{font-size:13.5px;line-height:1.65;color:var(--text);min-height:74px}
.adm-app-empty-box{display:flex;align-items:center;justify-content:center;gap:10px;min-height:78px;border:1px dashed var(--border);border-radius:12px;background:#FBFCFB;color:var(--muted);font-size:13px;text-align:center;padding:16px}
.adm-app-empty-box b{display:block;color:var(--dark);margin-bottom:2px}
.adm-app-docs-list .file-thumb-wrap{margin-bottom:12px}
.adm-app-logo-box{width:110px;height:110px;border-radius:18px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.adm-app-logo-box img{width:100%;height:100%;object-fit:contain}
.adm-app-note-area{width:100%;min-height:110px;border:1px solid var(--border);border-radius:12px;padding:12px 14px;font:inherit;color:var(--text);resize:vertical;background:#fff}
.adm-app-note-actions{display:flex;justify-content:flex-end;margin-top:10px}
.adm-app-timeline-card{padding-bottom:8px}
.adm-app-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-top:10px}
.adm-app-step{position:relative;padding-left:26px}
.adm-app-step:before{content:"";position:absolute;left:8px;top:10px;bottom:-20px;width:2px;background:#DCE8E2}
.adm-app-step:last-child:before{display:none}
.adm-app-step__dot{position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:999px;border:3px solid #fff;box-shadow:0 0 0 2px #DCE8E2;background:#DCE8E2}
.adm-app-step.submitted .adm-app-step__dot{background:#2563EB;box-shadow:0 0 0 2px rgba(37,99,235,.18)}
.adm-app-step.reviewed .adm-app-step__dot{background:#7B4FC4;box-shadow:0 0 0 2px rgba(123,79,196,.18)}
.adm-app-step.approved .adm-app-step__dot{background:var(--green);box-shadow:0 0 0 2px rgba(17,133,84,.18)}
.adm-app-step.rejected .adm-app-step__dot{background:#D73B3E;box-shadow:0 0 0 2px rgba(215,59,62,.18)}
.adm-app-step__label{font-size:14px;font-weight:800;color:var(--dark)}
.adm-app-step__time{font-size:12px;color:var(--muted);margin-top:4px}
.adm-app-step__desc{font-size:13px;color:var(--text);line-height:1.5;margin-top:8px}

@media (max-width: 1100px){
  .adm-app-detail-layout{grid-template-columns:1fr}
  .adm-app-side-col{order:2}
}
@media (max-width: 900px){
  .adm-app-card-panels,.adm-app-detail-grid,.adm-app-summary-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .adm-app-card-head-left{gap:10px}
  .adm-app-card-title{font-size:16px}
  .adm-app-card-meta-row{gap:10px;font-size:12px}
  .adm-app-card-v2,.adm-app-detail-card,.adm-app-side-card,.adm-app-summary-card{padding:14px}
  .adm-app-tabs-actions{width:100%;justify-content:space-between}
  .adm-app-card-footer{align-items:stretch}
  .adm-app-card-footer .btn,.adm-app-card-footer-actions .btn,.adm-app-side-actions-split .btn{width:100%;justify-content:center}
  .adm-app-side-actions-split{flex-direction:column}
}

/* ══════════════════════════════════════════════════════════════════════════
   ADMIN MOBILE WORKSPACE
   ─────────────────────────────────────────────────────────────────────────
   Everything below is scoped to .admin-shell / .admin-content / body.admin-
   workspace so the public site's tables, cards and navigation are untouched.
   Desktop rules stay in the original blocks further up this file; here we
   only add the new mobile chrome and then adapt it at <=768px.
   ══════════════════════════════════════════════════════════════════════════ */

/* Shared tokens for the admin mobile chrome, so the header, drawer and
   bottom bar can never drift apart. */
:root{
  --adm-header-h:58px;
  --adm-bottomnav-h:60px;
  --adm-radius:14px;
  --adm-safe-top:env(safe-area-inset-top, 0px);
  --adm-safe-bottom:env(safe-area-inset-bottom, 0px);
}

/* Body scroll lock used by the drawer and mobile sheets. position:fixed is
   what actually stops iOS Safari from scrolling the page underneath. */
body.admin-scroll-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}

/* Hidden on desktop, these three exist only for the mobile workspace. */
.admin-mobile-header{display:none}
.admin-mobile-bottom-nav{display:none}
.admin-drawer-close{display:none}
.admin-sb-profile .info .em{display:none}

/* ── Reusable admin action hierarchy (all breakpoints) ── */
.admin-content .admin-action-danger{color:#C0392B;border-color:#E7B1B1}
.admin-content .admin-action-danger:hover{background:#FDECEA;border-color:#DE9C9C}
.admin-danger-zone{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}

/* ── Overflow (kebab) menu, tap driven, never hover-only ── */
.admin-overflow-menu{position:relative;display:inline-flex}
.admin-overflow-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:10px;cursor:pointer;font-family:inherit}
.admin-overflow-btn:hover{background:var(--mint);color:var(--green-dark)}
.admin-overflow-btn:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}
.admin-overflow-list{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px rgba(15,45,36,.16);padding:6px;z-index:40}
.admin-overflow-menu.open .admin-overflow-list{display:block}
.admin-overflow-list button{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:0 12px;background:none;border:none;border-radius:9px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--dark);text-align:left;cursor:pointer}
.admin-overflow-list button:hover{background:var(--mint)}
.admin-overflow-list button.danger{color:#C0392B}
.admin-overflow-list button.danger:hover{background:#FDECEA}
/* Destructive entries are pushed away from the safe ones. */
.admin-overflow-list button.danger{margin-top:6px;border-top:1px solid var(--border);border-radius:0 0 9px 9px}

/* ── Toolbars, search and filter chrome ── */
.admin-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px}
.admin-result-count{font-size:12.5px;font-weight:600;color:var(--muted)}
.admin-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.admin-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;margin-left:6px;border-radius:100px;background:var(--green-dark);color:#fff;font-size:10.5px;font-weight:800}
.admin-filter-card-title{font-weight:700;font-size:13px;color:var(--dark);margin-bottom:10px}
.admin-empty-hint{display:flex;align-items:center;gap:8px;padding:20px;color:var(--muted);font-size:13px;text-align:center;justify-content:center}
/* The filter sheet is an ordinary row on desktop; it only becomes a
   collapsible panel on mobile (see the media query below). */
.admin-filter-toggle{display:none}

/* ── Settings / staff access cards ── */
.admin-settings-card{padding:20px 18px;max-width:640px}
.admin-settings-card-title{display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--dark);margin-bottom:4px}
.admin-settings-card-sub{font-size:12.5px;color:var(--muted);margin-bottom:14px;line-height:1.5}
.admin-staff-search{display:flex;gap:8px;margin-bottom:14px}
.admin-staff-search .admin-search-input{flex:1;min-width:0}
.admin-role-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap}
.admin-role-pill.granted{background:var(--mint);color:var(--green-dark)}
.admin-role-pill.none{background:#EEF1F0;color:#4B5E55}

/* ── Generic mobile data card (used by settings now, tables below 768px) ── */
.admin-mobile-card-list{display:flex;flex-direction:column;gap:10px}
.admin-mobile-data-card{border:1px solid var(--border);border-radius:var(--adm-radius);background:#fff;padding:14px}
.admin-dc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.admin-dc-title{font-weight:700;font-size:14.5px;color:var(--dark);line-height:1.35;overflow-wrap:anywhere}
.admin-dc-meta{display:grid;gap:7px;margin:0 0 12px}
.admin-dc-meta > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.admin-dc-meta dt{font-size:11.5px;font-weight:600;color:var(--muted);flex-shrink:0}
.admin-dc-meta dd{margin:0;font-size:13px;color:var(--dark);text-align:right;overflow-wrap:anywhere;min-width:0}
.admin-dc-actions{display:flex;flex-direction:column;gap:8px}
.admin-dc-actions .btn{width:100%;justify-content:center;min-height:44px}

/* ── Archived companies group ── */
.admin-archived-group{margin-top:28px;border-top:1px solid var(--border);padding-top:14px}
.admin-archived-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;font-weight:700;font-size:13px;color:var(--muted);min-height:44px;list-style:none}
.admin-archived-summary::-webkit-details-marker{display:none}
.admin-archived-summary::after{content:'▾';margin-left:auto;font-size:14px}
.admin-archived-group[open] .admin-archived-summary::after{content:'▴'}
.admin-archived-summary .hint{font-size:11.5px;font-weight:400}
.admin-archived-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;margin-bottom:8px;border:1px solid var(--border);background:#FAFBFA}
.admin-archived-avatar{width:38px;height:38px;border-radius:8px;background:#EEF1F0;color:#6B7C74;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;overflow:hidden;flex-shrink:0}
.admin-archived-avatar img{width:100%;height:100%;object-fit:cover}
.admin-archived-body{flex:1;min-width:180px}
.admin-archived-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-weight:600;font-size:14px;color:var(--dark)}
.admin-archived-badge{font-size:10px;background:#FDECEA;color:#9B2C25;padding:2px 7px;border-radius:5px;font-weight:700}
.admin-archived-meta{font-size:11.5px;color:var(--muted);margin-top:2px}
.admin-restore-btn{background:var(--mint);color:var(--green-dark);border:1px solid #BFE0CE;min-height:40px}

/* ── Dashboard quick actions (mobile-first strip) ── */
.admin-quick-actions{display:none}
.admin-qa{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 14px;background:#fff;border:1px solid var(--border);border-radius:12px;font-family:inherit;font-size:13.5px;font-weight:650;color:var(--dark);cursor:pointer;text-align:left}
.admin-qa:active{background:var(--mint)}
.admin-qa-ic{display:flex;color:var(--green-dark);flex-shrink:0}
.admin-qa-lbl{flex:1;min-width:0}
.admin-qa-count{min-width:22px;height:22px;padding:0 7px;border-radius:100px;background:var(--green-dark);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* Wrapper for any admin table that genuinely has to scroll. */
.admin-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ══════════════════════ MOBILE (<=768px) ══════════════════════ */
@media (max-width:768px){

  /* Never allow the admin area to push the page sideways. */
  body.admin-workspace{overflow-x:hidden}
  body.admin-workspace .admin-shell,
  body.admin-workspace .admin-content{max-width:100vw;overflow-x:clip}

  /* The admin area is its own workspace: the public marketing nav would
     eat ~64px of vertical space for links an admin never needs here. */
  body.admin-workspace .nav{display:none}
  body.admin-workspace .footer{display:none}
  .admin-shell{min-height:100vh}

  /* ── 1. Sticky mobile admin header ── */
  .admin-mobile-header{
    display:flex;align-items:center;gap:10px;
    position:sticky;top:0;z-index:45;
    height:calc(var(--adm-header-h) + var(--adm-safe-top));
    padding:var(--adm-safe-top) 12px 0;
    background:#fff;
    border-bottom:1px solid var(--border);
    box-shadow:0 1px 3px rgba(15,45,36,.06);
    box-sizing:border-box;
  }
  .admin-mobile-menu-btn{
    position:relative;display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;flex-shrink:0;margin-left:-6px;
    background:none;border:none;border-radius:11px;
    color:var(--green-dark);cursor:pointer;
  }
  .admin-mobile-menu-btn:active{background:var(--mint)}
  .admin-mobile-menu-btn:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}
  .admin-mobile-menu-dot{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:#C0392B;border:2px solid #fff}
  .admin-mobile-title{
    flex:1;min-width:0;margin:0;
    font-size:16.5px;font-weight:800;color:var(--green-dark);
    line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .admin-mobile-attention{
    flex-shrink:0;min-width:22px;height:22px;padding:0 7px;border-radius:100px;
    background:#C0392B;color:#fff;font-size:11px;font-weight:800;
    display:flex;align-items:center;justify-content:center;
  }
  .admin-mobile-account{
    display:flex;align-items:center;justify-content:center;
    width:36px;height:36px;flex-shrink:0;border-radius:50%;
    background:var(--green-dark);color:#fff;border:none;
    font-family:inherit;font-size:12.5px;font-weight:800;cursor:pointer;
  }
  .admin-mobile-account:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}

  /* ── 2. Mobile navigation drawer ── */
  .admin-sidebar-fixed{
    position:fixed;top:0;left:0;
    width:86%;max-width:330px;
    height:100vh;height:100dvh;
    display:flex;flex-direction:column;
    transform:translateX(-100%);
    z-index:70;box-shadow:8px 0 28px rgba(0,0,0,.24);
    overflow-y:auto;overscroll-behavior:contain;
    padding-top:var(--adm-safe-top);
    padding-bottom:var(--adm-safe-bottom);
  }
  .admin-sidebar-fixed.open{transform:translateX(0)}
  .admin-sb-backdrop{display:none;position:fixed;inset:0;background:rgba(10,20,15,.5);z-index:65}
  .admin-sb-backdrop.open{display:block}

  .admin-sb-brand{display:flex;align-items:center;gap:11px;padding:16px 14px 14px;flex-shrink:0}
  .admin-sb-brand-text{flex:1;min-width:0}
  .admin-drawer-close{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;flex-shrink:0;
    background:rgba(255,255,255,.12);border:none;border-radius:11px;
    color:#fff;cursor:pointer;
  }
  .admin-drawer-close:active{background:rgba(255,255,255,.22)}
  .admin-drawer-close:focus-visible{outline:2px solid #fff;outline-offset:2px}

  .admin-sb-nav{gap:4px;padding:4px 10px}
  .admin-sb-item{width:auto;min-height:50px;height:auto;padding:10px 14px;margin:0;justify-content:flex-start;gap:13px;border-radius:11px}
  .admin-sb-item .lbl{display:block;font-size:14.5px;font-weight:650}
  .admin-sb-item .cnt{display:flex;min-width:22px;height:22px;font-size:11px}
  .admin-sb-item::after{display:none}          /* no hover tooltips on touch */
  .admin-sb-settings-wrap{padding:6px 10px 8px}
  .admin-sb-profile{margin:auto 12px calc(14px + var(--adm-safe-bottom));padding:12px;align-items:center}
  .admin-sb-profile .av{width:42px;height:42px}
  .admin-sb-profile .info{display:block;flex:1;min-width:0}
  .admin-sb-profile .info .nm{font-size:13.5px}
  .admin-sb-profile .info .em{display:block;font-size:10.5px;color:rgba(255,255,255,.55);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .admin-sb-profile .logout-btn{width:44px;height:44px}
  .admin-sb-profile .logout-btn::after{display:none}

  /* ── 3. Bottom navigation ── */
  .admin-mobile-bottom-nav{
    display:grid;grid-template-columns:repeat(4,1fr);
    position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:#fff;border-top:1px solid var(--border);
    box-shadow:0 -1px 6px rgba(15,45,36,.07);
    padding-bottom:var(--adm-safe-bottom);
  }
  .admin-bn-item{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    min-height:var(--adm-bottomnav-h);padding:8px 4px;
    background:none;border:none;font-family:inherit;color:var(--muted);cursor:pointer;
  }
  .admin-bn-item.active{color:var(--green-dark)}
  .admin-bn-item.active .admin-bn-lbl{font-weight:800}
  .admin-bn-item:focus-visible{outline:2px solid var(--green-dark);outline-offset:-2px}
  .admin-bn-ic{position:relative;display:flex}
  .admin-bn-lbl{font-size:11px;font-weight:650;line-height:1}
  .admin-bn-badge{
    position:absolute;top:-5px;right:-9px;
    min-width:17px;height:17px;padding:0 4px;border-radius:100px;
    background:#C0392B;color:#fff;font-size:9.5px;font-weight:800;
    display:flex;align-items:center;justify-content:center;border:1.5px solid #fff;
  }

  /* ── 4. Responsive admin content ── */
  .admin-content{
    margin-left:0;width:100%;max-width:100%;min-width:0;
    padding:16px 14px calc(var(--adm-bottomnav-h) + var(--adm-safe-bottom) + 24px);
  }
  .admin-sb-mobile-toggle{display:none}          /* replaced by the header */
  .admin-content h1{font-size:20px;line-height:1.25;overflow-wrap:anywhere}
  .admin-content .sub{font-size:13px;line-height:1.5}
  .admin-content .card{border-radius:var(--adm-radius)}
  .admin-content img{max-width:100%;height:auto}
  .admin-content pre,.admin-content code{white-space:pre-wrap;overflow-wrap:anywhere}
  .admin-head{flex-direction:column;align-items:stretch;gap:12px}
  .admin-toolbar,.admin-toolbar-stack{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}
  .admin-toolbar .btn,.admin-toolbar-stack .btn{width:100%;justify-content:center;min-height:46px}
  /* Export sits below the primary action with real separation. */
  .admin-toolbar-stack .admin-action-secondary{margin-top:2px}
  .admin-content input[type=text],
  .admin-content input[type=date],
  .admin-content input[type=email],
  .admin-content input[type=password],
  .admin-content select,
  .admin-content textarea{
    width:100%;max-width:100%;box-sizing:border-box;
    min-height:46px;font-size:16px;                /* 16px stops iOS zoom */
  }
  .admin-content textarea{min-height:110px}
  .admin-content .btn{min-height:44px}
  .admin-content .btn-sm{min-height:40px}
  .cx-toolbar-row{flex-direction:column;align-items:stretch;gap:8px}
  .admin-result-row{margin-top:8px}
  .admin-clear-filters{width:auto;min-height:40px}

  /* ── 5. Dashboard ── */
  .dash-overview-head,.dash-overview-head-main{align-items:flex-start}
  .dash-overview-head-main h1{font-size:22px}
  .dash-overview-actions{flex-direction:column;align-items:stretch;width:100%;gap:8px}
  .ov-range-select{display:flex;flex-direction:column;gap:8px;width:100%}
  .ov-cards,.ov-cards-5{grid-template-columns:1fr;gap:10px}
  .ov-dashboard-grid{grid-template-columns:1fr;gap:12px}
  .ov-span-2{grid-column:span 1}
  .ov-panel{padding:16px 14px}
  .ov-two-col,.dash-two-col{grid-template-columns:1fr}
  .ov-kv-grid{grid-template-columns:1fr}
  .ov-donut-wrap{flex-direction:column;align-items:stretch;gap:12px}
  .ov-messages-mount,.ov-messages-mount-compact{height:auto;min-height:460px}
  .admin-quick-actions{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}
  /* Charts stay legible: allow a scroll only when the SVG truly can't fit. */
  .ov-panel svg{max-width:100%;height:auto}
  .dash-cat-name{width:auto;min-width:0;flex:1}
  .dash-cat-nums{width:auto}

  /* ── 6. Tables become cards ── */
  .admin-content table.admin-cardable-table{display:block;width:100%;border:none}
  .admin-content table.admin-cardable-table thead{
    position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
  }
  .admin-content table.admin-cardable-table tbody{display:flex;flex-direction:column;gap:10px;padding:12px}
  .admin-content table.admin-cardable-table tr{
    display:block;border:1px solid var(--border);border-radius:var(--adm-radius);
    background:#fff;padding:12px 14px;
  }
  .admin-content table.admin-cardable-table td{
    display:flex;align-items:baseline;justify-content:space-between;gap:12px;
    width:auto;padding:7px 0;border:none;border-bottom:1px solid #F0F4F2;
    font-size:13px;text-align:right;overflow-wrap:anywhere;min-width:0;
  }
  .admin-content table.admin-cardable-table td::before{
    content:attr(data-label);
    flex:0 0 auto;font-size:11.5px;font-weight:700;color:var(--muted);
    text-align:left;text-transform:none;white-space:nowrap;
  }
  .admin-content table.admin-cardable-table td[data-label='']::before{display:none}
  /* First cell = the card's title: full width, left aligned, no label. */
  .admin-content table.admin-cardable-table td:first-child{
    display:flex;align-items:center;justify-content:flex-start;text-align:left;
    font-size:14.5px;font-weight:700;color:var(--dark);
    padding:0 0 10px;border-bottom:1px solid var(--border);margin-bottom:4px;
  }
  .admin-content table.admin-cardable-table td:first-child::before{display:none}
  .admin-content table.admin-cardable-table td:last-child{border-bottom:none}
  /* Action cell: stacked, full-width, primary first, danger visually apart. */
  .admin-content table.admin-cardable-table td.admin-cell-actions,
  .admin-content table.admin-cardable-table td.news-actions-cell{
    display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;
    justify-content:flex-start;padding-top:12px;margin-top:4px;
    border-top:1px solid var(--border);border-bottom:none;
  }
  .admin-content table.admin-cardable-table td.admin-cell-actions::before,
  .admin-content table.admin-cardable-table td.news-actions-cell::before{display:none}
  .admin-content table.admin-cardable-table td.admin-cell-actions .btn{flex:1;min-width:130px;justify-content:center;min-height:44px}
  .admin-content table.admin-cardable-table td.admin-cell-actions .admin-overflow-menu{flex:0 0 auto}
  .admin-content .card:has(> table.admin-cardable-table){background:transparent;border:none;box-shadow:none}
  .admin-table-scroll{border-radius:var(--adm-radius)}

  /* ── 7. Applications ── */
  .adm-app-page-head h1{font-size:19px}
  .adm-app-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .apps-stat-card{padding:12px 10px}
  .admin-sticky-tabs{
    position:sticky;top:calc(var(--adm-header-h) + var(--adm-safe-top));
    z-index:30;background:var(--bg);
    margin:0 -14px 12px;padding:8px 14px;
    border-bottom:1px solid var(--border);
    flex-direction:column;align-items:stretch;gap:8px;
  }
  .admin-tab-scroller{
    display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding-bottom:2px;
  }
  .admin-tab-scroller::-webkit-scrollbar{display:none}
  .admin-tab-scroller .admin-tab{flex:0 0 auto;min-height:42px;white-space:nowrap}
  .adm-app-tabs-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .adm-app-card-v2{padding:14px}
  .adm-app-card-head{flex-wrap:nowrap;gap:10px}
  .adm-app-card-meta-row{flex-direction:column;align-items:flex-start;gap:4px}
  .adm-app-card-meta-row span{overflow-wrap:anywhere}
  .adm-app-card-panels{grid-template-columns:1fr;gap:10px}
  .adm-app-card-footer{flex-direction:column;align-items:stretch;gap:10px}
  .adm-app-card-footer-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
  .adm-app-card-footer-actions .btn{width:100%;justify-content:center;min-height:44px}
  .admin-review-btn{width:100%;justify-content:center;min-height:48px}
  .app-pass-field{flex-direction:column;align-items:stretch;gap:6px}
  .adm-app-more-btn{width:44px;height:44px;flex-shrink:0}

  /* Application detail */
  .adm-app-detail-layout{grid-template-columns:1fr;gap:14px}
  .adm-app-detail-grid{grid-template-columns:1fr;gap:12px}
  .adm-app-detail-head h1{font-size:18px}
  .adm-app-summary-card{flex-direction:column;align-items:flex-start}
  .adm-app-summary-grid{grid-template-columns:1fr;gap:10px}
  .admin-back-btn{min-height:46px;font-size:14px}
  .adm-app-docs-list{display:flex;flex-wrap:wrap;gap:10px}
  .adm-app-docs-list img,.adm-app-docs-list a{width:96px;height:96px;object-fit:cover;border-radius:10px}
  .adm-app-side-actions-split{display:flex;flex-direction:column;gap:8px}
  .adm-app-side-actions-split .btn{width:100%;justify-content:center;min-height:44px}
  /* The sticky review bar sits above the bottom nav, never over content. */
  .admin-sticky-actions{
    position:fixed;left:0;right:0;
    bottom:calc(var(--adm-bottomnav-h) + var(--adm-safe-bottom));
    z-index:38;display:flex;flex-direction:column;gap:8px;
    padding:12px 14px;background:#fff;
    border-top:1px solid var(--border);
    box-shadow:0 -3px 12px rgba(15,45,36,.10);
  }
  .admin-sticky-actions .btn{width:100%;justify-content:center;min-height:48px}
  .admin-sticky-actions-danger{padding-top:2px}
  /* Reserve room so the sticky bar can never hide the last section. */
  .adm-app-detail-page{padding-bottom:150px}

  /* ── 8. Companies ── */
  .admin-district-filter{
    display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;margin:0 -4px;padding:2px 4px 6px;
  }
  .admin-district-filter::-webkit-scrollbar{display:none}
  .admin-district-filter .cx-district-card{
    flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:100px;
    display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  }
  .admin-district-filter .cx-district-card .right{gap:6px}
  .admin-filter-card{padding:14px !important}

  /* ── 9. Complaints ── */
  .cx-summary{grid-template-columns:1fr 1fr;gap:8px}
  .cx-summary-card{padding:12px 10px}
  .admin-filter-toggle{display:inline-flex;align-items:center;min-height:44px}
  .admin-filter-sheet{
    display:none;flex-direction:column;align-items:stretch;gap:8px;
    margin-top:10px;padding:12px;border:1px solid var(--border);
    border-radius:var(--adm-radius);background:#fff;
  }
  .admin-filter-sheet.open{display:flex}
  .cx-card,.complaint-card{padding:14px}
  .cx-card .desc,.complaint-desc{
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  }

  /* ── 10. News & offers forms ── */
  .cmp-grid2,.admin-form-grid{grid-template-columns:1fr;gap:12px}
  .news-preview-card{max-width:100%}
  .news-preview-img{width:100%;height:auto;max-height:200px;object-fit:cover}
  .news-audience-cards,.news-audience-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .news-audience-cards label,.news-audience-row label{min-height:46px;padding:8px 10px;font-size:13px}
  .field label{display:block;margin-bottom:6px}

  /* ── 12. Settings ── */
  .admin-settings-card{max-width:100%}
  .admin-staff-search{flex-direction:column}
  .admin-staff-search-btn{width:100%;justify-content:center;min-height:46px}

  /* ── 15. Modals & sheets ── */
  .admin-workspace .modal-overlay{align-items:flex-end;padding:0}
  .admin-workspace .modal-box{
    width:100%;max-width:100%;max-height:88vh;max-height:88dvh;
    border-radius:18px 18px 0 0;
    display:flex;flex-direction:column;
    padding:18px 16px calc(18px + var(--adm-safe-bottom));
    overflow:hidden;
  }
  .admin-workspace .modal-box h3{flex-shrink:0;font-size:17px;padding-right:44px}
  .admin-workspace .modal-box > p,
  .admin-workspace .modal-box > textarea,
  .admin-workspace .modal-box > div:not(.modal-actions){overflow-y:auto;overscroll-behavior:contain}
  .admin-workspace .modal-actions{
    flex-shrink:0;display:flex;flex-direction:column-reverse;gap:8px;
    margin-top:14px;padding-top:12px;border-top:1px solid var(--border);
  }
  .admin-workspace .modal-actions .btn{width:100%;justify-content:center;min-height:48px}

  /* ── 14/16. Touch targets, focus, contrast ── */
  .admin-content a,.admin-content button{touch-action:manipulation}
  .admin-content .btn:active{transform:none;filter:brightness(.96)}
  .admin-content button:focus-visible,
  .admin-content a:focus-visible,
  .admin-content input:focus-visible,
  .admin-content select:focus-visible,
  .admin-content textarea:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}
  .admin-content .status-pill,
  .admin-content .status-active-pill,
  .admin-content .badge{white-space:nowrap}
  /* Status is never colour-only: every pill keeps its text label. */
  .admin-content .status-pill{font-size:11.5px;padding:3px 9px}
}

/* Tablet: two-column cards read better than one, bottom nav is unnecessary. */
@media (min-width:600px) and (max-width:768px){
  .ov-cards,.ov-cards-5{grid-template-columns:1fr 1fr}
  .admin-quick-actions{display:grid;grid-template-columns:1fr 1fr}
}

/* Anything above the mobile breakpoint keeps the original desktop chrome. */
@media (min-width:769px){
  .admin-mobile-header,.admin-mobile-bottom-nav{display:none !important}
  body.admin-scroll-locked{position:static;overflow:visible}
}

@media (prefers-reduced-motion:reduce){
  .admin-sidebar-fixed{transition:none}
  .admin-qa,.admin-bn-item,.admin-overflow-list{transition:none;animation:none}
}

/* ── Sticky save/publish bar for long admin forms ──
   position:sticky (not fixed) so the bar rides the bottom of the viewport
   only while its own form is on screen, then releases, it can never end up
   floating over the content lists further down the page. */
@media (max-width:768px){
  .admin-content .admin-form-sticky-actions{
    position:sticky;
    bottom:calc(var(--adm-bottomnav-h) + var(--adm-safe-bottom));
    z-index:20;
    display:flex;flex-direction:column;gap:8px;
    margin:16px -14px 0;
    padding:12px 14px;
    background:#fff;
    border-top:1px solid var(--border);
    box-shadow:0 -3px 12px rgba(15,45,36,.09);
  }
  .admin-content .admin-form-sticky-actions .btn{width:100%;justify-content:center;min-height:48px}
  /* Publish/Update sits first visually via column-reverse ordering of the
     source order (draft, preview, publish). */
  .admin-content .admin-form-sticky-actions{flex-direction:column-reverse}

  /* Audience choice: compact two-up chips instead of three tall cards. */
  .news-audience-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .news-audience-card{min-height:52px;padding:10px;text-align:center;align-items:center}
  .news-audience-card .news-aud-desc{display:none}
  .news-audience-card .news-aud-title{font-size:12.5px}
  .news-audience-fieldset{margin-bottom:14px}
}

/* Find a Cleaner: district-first flow (requested change only) */
.find-district-empty{min-height:180px;display:flex;align-items:center;justify-content:center;gap:14px;padding:34px;text-align:left;background:linear-gradient(135deg,#F7FBF9,#FFFFFF);border:1px solid #D7E8DF;color:var(--green-dark)}
.find-district-empty>div{display:flex;flex-direction:column;gap:4px}
.find-district-empty b{font-size:15px;color:var(--dark)}
.find-district-empty span{font-size:12px;color:var(--muted)}
.find-loading-panel{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px;text-align:center;border:1px solid #9ED8BF;background:#fff}
.find-loading-panel b{font-size:15px;color:var(--dark)}
.find-loading-panel span{font-size:12px;color:var(--muted)}
.find-loading-spinner{width:34px;height:34px;border:3px solid #DCEDE5;border-top-color:var(--green);border-radius:50%;animation:findDistrictSpin .8s linear infinite;margin-bottom:5px}
@keyframes findDistrictSpin{to{transform:rotate(360deg)}}
.find-selected-district{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.find-selected-district h2{margin:0;font-size:18px;color:var(--dark)}
.find-selected-district span{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.find-change-district{display:inline-flex;align-items:center;gap:6px;border:1px solid #CFE1D8;background:#fff;color:var(--green-dark);border-radius:8px;padding:8px 11px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.find-change-district:hover{background:var(--mint)}
@media(max-width:800px){.find-selected-district{align-items:flex-start}.find-selected-district h2{font-size:17px}.find-district-empty{min-height:150px;padding:24px}.find-loading-panel{min-height:170px;padding:26px}}
@media(prefers-reduced-motion:reduce){.find-loading-spinner{animation:none}}

/* Approved homepage lower-section redesign, scoped below the existing homepage content */
.home-approved-lower{max-width:100%;margin:0;padding:0;background:#fff}
.home-about-structure{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}
.home-about-panel,.home-structure-panel{padding:34px 38px}
.home-about-panel{border-right:1px solid var(--border)}
.home-about-panel h2,.home-structure-panel h2,.home-what-photo-section h2,.home-oeb-copy h2{display:flex;align-items:center;gap:10px;color:var(--dark);font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}
.home-about-panel>p,.home-structure-panel>p,.home-oeb-copy p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 10px}
.home-about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.home-about-points>div{display:flex;align-items:center;gap:9px;min-width:0;color:var(--green)}
.home-about-points svg{flex:0 0 auto;padding:8px;width:36px;height:36px;border-radius:50%;background:var(--mint)}
.home-about-points span{font-size:12px;font-weight:750;line-height:1.3;color:var(--dark)}
.home-structure-roles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:8px 0 22px}
.home-role{text-align:center;min-width:0}
.home-role>span{width:58px;height:58px;margin:0 auto 8px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f5faf7,#e7f3ec);border:1px solid var(--border);color:var(--green)}
.home-role b{display:block;font-size:12px;line-height:1.25;color:var(--dark)}
.home-what-photo-section{padding:34px 32px 38px;border-bottom:1px solid var(--border);background:#fff}
.home-what-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.home-what-photo-card{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(15,76,53,.04);transition:transform .18s ease,box-shadow .18s ease}
.home-what-photo-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,76,53,.10)}
.home-what-photo-card img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center;background:#edf4ef;image-rendering:auto}
.home-what-photo-card>div{padding:15px 15px 18px}
.home-what-photo-card h3{font-size:14px;font-weight:800;line-height:1.25;color:var(--green);margin:0 0 8px}
.home-what-photo-card p{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0}
.home-oeb-section{display:grid;grid-template-columns:1.05fr .8fr 1.25fr;align-items:stretch;border-bottom:1px solid var(--border);background:#fff;min-height:168px}
.home-oeb-copy{padding:28px 32px;align-self:center}
.home-oeb-copy h2{font-size:20px;margin-bottom:10px}
.home-oeb-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 22px;text-align:center;background:#fff}
.home-oeb-logo{display:block;width:auto;max-width:150px;height:auto;max-height:130px;object-fit:contain}
.home-oeb-mark small{font-size:12px;color:var(--dark);margin-top:6px}
.home-oeb-section>img{width:100%;height:100%;min-height:168px;object-fit:cover;object-position:center}
.home-membership-cta{display:grid;grid-template-columns:.9fr 1.2fr 1.35fr;gap:28px;align-items:center;padding:30px 40px;background:linear-gradient(110deg,#084b38,#0b6a50);color:#fff}
.home-membership-heading{display:flex;align-items:center;gap:16px}
.home-membership-heading>span{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}
.home-membership-heading h2{font-size:22px;line-height:1.25;margin:0;color:#fff}
.home-membership-main{padding:0 28px;border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}
.home-membership-main p{font-size:13px;line-height:1.55;margin:0 0 14px;color:rgba(255,255,255,.88)}
.home-membership-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.home-membership-benefits span{font-size:12.5px;line-height:1.35;color:#fff}
.home-membership-benefits span::first-letter{color:#e8b83e}

@media(max-width:980px){
  .home-about-structure{grid-template-columns:1fr}
  .home-about-panel{border-right:0;border-bottom:1px solid var(--border)}
  .home-what-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-what-photo-card:last-child{grid-column:1/-1}
  .home-oeb-section{grid-template-columns:1fr 1fr}
  .home-oeb-section>img{grid-column:1/-1;height:180px}
  .home-membership-cta{grid-template-columns:1fr 1fr}
  .home-membership-benefits{grid-column:1/-1}
}
@media(max-width:700px){
  .home-about-panel,.home-structure-panel,.home-what-photo-section{padding:26px 18px}
  .home-about-points{grid-template-columns:1fr}
  .home-structure-roles{grid-template-columns:repeat(2,1fr)}
  .home-role:last-child{grid-column:1/-1}
  .home-what-photo-grid{grid-template-columns:1fr;gap:14px}
  .home-what-photo-card:last-child{grid-column:auto}
  .home-what-photo-card{display:grid;grid-template-columns:128px 1fr}
  .home-what-photo-card img{height:100%;min-height:148px;aspect-ratio:auto}
  .home-oeb-section{grid-template-columns:1fr}
  .home-oeb-copy{padding:26px 18px}
  .home-oeb-mark{padding:18px}
  .home-oeb-section>img{grid-column:auto;height:150px;min-height:150px}
  .home-membership-cta{grid-template-columns:1fr;padding:28px 20px;gap:22px}
  .home-membership-main{padding:20px 0;border-left:0;border-right:0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
  .home-membership-benefits{grid-column:auto;grid-template-columns:1fr}
}
@media(max-width:430px){
  .home-what-photo-card{grid-template-columns:1fr}
  .home-what-photo-card img{height:170px;min-height:0;aspect-ratio:auto}
  .home-about-panel h2,.home-structure-panel h2,.home-what-photo-section h2{font-size:20px}
}

/* ──────────────────────────────────────────────────────────────
   Find a Cleaner, professional filter UX upgrade
   Scoped to the public directory only.
────────────────────────────────────────────────────────────── */
.find-wrap{grid-template-columns:286px minmax(0,1fr);gap:26px;padding-top:16px}
.find-main-column{min-width:0}
.find-filter-desktop{position:sticky;top:82px;max-height:calc(100vh - 98px);overflow:auto;padding:0;border-radius:16px;box-shadow:0 14px 38px rgba(8,72,54,.07)}
.find-filter-panel-inner{padding:18px}
.find-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.find-filter-head h3{margin:0;font-size:18px;display:flex;align-items:center;gap:9px;color:var(--dark)}
.find-filter-head h3 svg{color:var(--green)}
.find-filter-reset-link,.find-show-more,.find-active-clear,.find-verified-note button{border:0;background:transparent;color:var(--green);font:inherit;font-weight:800;cursor:pointer;padding:4px}
.find-filter-reset-link:hover,.find-show-more:hover,.find-active-clear:hover,.find-verified-note button:hover{text-decoration:underline}
.find-filter-section{padding:15px 0;border-top:1px solid #E6EFEA}
.find-filter-section:first-of-type{border-top:0;padding-top:7px}
.find-filter-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.find-filter-section-title>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#566A61}
.find-filter-section-title small{font-size:9.5px;font-weight:700;color:#819188;text-transform:none;letter-spacing:0}
.find-choice-list{display:flex;flex-direction:column;gap:4px}
.find-choice{width:100%;min-height:39px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid transparent;background:transparent;border-radius:9px;padding:7px 8px;text-align:left;color:var(--dark);font:inherit;font-size:12.5px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.find-choice:hover{background:#F3F9F6;border-color:#D9EAE1}
.find-choice:active{transform:scale(.99)}
.find-choice.is-selected{background:linear-gradient(90deg,#E8F6EF,#F7FBF9);border-color:#C9E4D7;color:var(--green-dark);font-weight:800}
.find-choice[hidden]{display:none!important}
.find-choice-control{width:18px;height:18px;border:1.5px solid #B9CCC2;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--green);background:#fff}
.find-service-list .find-choice-control{border-radius:5px}
.find-choice.is-selected .find-choice-control{border-color:var(--green);background:var(--green);color:#fff}
.find-choice-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.find-choice-count{font-size:10px;color:#71847A;min-width:18px;text-align:right}
.find-choice.is-selected .find-choice-count{color:var(--green-dark)}
.find-filter-search-mini{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:#fff;margin-bottom:7px;color:#809087}
.find-filter-search-mini input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:12px}
.find-show-more{font-size:11px;margin-top:6px;padding-left:2px}
.find-switch-row{width:100%;display:flex;align-items:flex-start;gap:10px;border:0;background:transparent;padding:0;text-align:left;font:inherit;cursor:pointer}
.find-switch{width:40px;height:23px;border-radius:999px;background:#CBD9D2;padding:3px;display:inline-flex;align-items:center;flex-shrink:0;transition:background .2s ease}
.find-switch span{width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.17);transition:transform .2s ease}
.find-switch.is-on{background:var(--green)}
.find-switch.is-on span{transform:translateX(17px)}
.find-switch-copy{display:flex;flex-direction:column;gap:3px}
.find-switch-copy b{font-size:12.5px;color:var(--dark)}
.find-switch-copy small{font-size:10px;line-height:1.4;color:var(--muted)}
.find-filter-actions{display:flex;flex-direction:column;gap:8px;padding-top:3px}
.find-show-results-btn{min-height:44px;border-radius:10px;box-shadow:0 8px 18px rgba(7,87,62,.13)}
.find-show-results-btn[aria-disabled="true"]{opacity:.75}
.find-reset-btn{margin-top:0;min-height:42px}
.find-verified-note{margin-top:15px;padding:14px;border-radius:13px;gap:11px}
.find-verified-note b{font-size:12.5px}
.find-verified-note span{font-size:10.5px;line-height:1.5}
.find-verified-note button{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;padding:5px 0 0}
.find-active-filters{min-height:0;margin-bottom:10px}
.find-active-filters:empty{display:none}
.find-active-filters-inner{display:flex;align-items:center;gap:10px;min-height:52px;padding:9px 12px;border:1px solid #CDE4D8;border-radius:12px;background:linear-gradient(90deg,#F7FBF9,#FFFFFF)}
.find-active-filters-inner>span{font-size:11px;font-weight:800;color:#5D6F66;white-space:nowrap}
.find-filter-chips{display:flex;align-items:center;gap:7px;flex:1;min-width:0;flex-wrap:wrap}
.find-filter-chip{display:inline-flex;align-items:center;gap:5px;min-height:31px;padding:5px 9px;border:1px solid #D1E6DC;border-radius:999px;background:#EAF6F0;color:var(--green-dark);font:inherit;font-size:10.5px;cursor:pointer}
.find-filter-chip:hover{background:#DDF0E6}
.find-active-clear{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;white-space:nowrap}
.find-topbar{gap:12px;margin-bottom:12px}
.find-search input{min-height:46px;border-radius:11px;padding-left:42px;font-size:13.5px;background:#fff}
.find-search .ic{left:15px}
.find-sort{min-height:46px;display:flex;align-items:center;gap:8px;padding:0 10px 0 13px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--muted);font-size:11px;white-space:nowrap}
.find-sort select{border:0;padding:0;background:transparent;font-weight:800;color:var(--dark);outline:0;min-height:42px}
.find-mobile-filter-btn{display:none}
.find-results-toolbar{margin:8px 0 14px;scroll-margin-top:90px}
.find-selected-district h2{font-size:20px}
.find-change-district{min-height:38px;border-radius:9px;padding:8px 12px}
.result-row{min-height:120px;padding:19px 20px;margin-bottom:12px;border-radius:15px;border-color:#DCE9E2;box-shadow:0 8px 24px rgba(8,70,53,.06)}
.result-row:hover{border-color:#BFDCCF;box-shadow:0 12px 30px rgba(8,70,53,.10);transform:translateY(-1px)}
.result-avatar{width:66px;height:66px;border-radius:16px}
.result-avatar img{border-radius:14px}
.result-title-line h4{font-size:18px}
.result-type{font-size:12.5px}
.result-tags{margin-top:10px}
.result-tags span{padding:4px 9px;background:#EEF8F3}
.result-side{min-width:235px;gap:18px}
.result-profile-btn{min-height:43px;padding:10px 17px;background:linear-gradient(135deg,var(--green),#096749);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(7,87,62,.16)}
.result-profile-btn:hover{background:linear-gradient(135deg,#0A6047,#084D3A);color:#fff}
.result-no-rating{font-size:10.5px;color:var(--muted);min-width:86px;text-align:right}
.find-loading-copy{display:flex;align-items:center;gap:12px;padding:16px 2px 12px;color:var(--green-dark)}
.find-loading-copy>div:last-child{display:flex;flex-direction:column;gap:2px}
.find-loading-copy b{font-size:13px;color:var(--dark)}
.find-loading-copy span{font-size:10.5px;color:var(--muted)}
.find-sk-line.xs{height:8px;width:22%;background:#F1F5F3}
.find-district-list.needs-attention{animation:findNeedsDistrict .8s ease}
@keyframes findNeedsDistrict{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
.find-empty>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.find-filter-sheet{position:fixed;inset:0;z-index:9999;visibility:hidden;pointer-events:none}
.find-filter-sheet.is-open{visibility:visible;pointer-events:auto}
.find-filter-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(3,35,26,.46);opacity:0;transition:opacity .25s ease}
.find-filter-sheet.is-open .find-filter-sheet-backdrop{opacity:1}
.find-filter-sheet-panel{position:absolute;left:0;right:0;bottom:0;max-height:min(88vh,760px);display:flex;flex-direction:column;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -20px 50px rgba(0,0,0,.18);transform:translateY(102%);transition:transform .3s cubic-bezier(.2,.75,.2,1);padding-bottom:env(safe-area-inset-bottom)}
.find-filter-sheet.is-open .find-filter-sheet-panel{transform:translateY(0)}
.find-filter-sheet-panel>header{min-height:58px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;border-bottom:1px solid var(--border);padding:0 14px;gap:8px}
.find-filter-sheet-panel>header h2{font-size:16px;text-align:center;margin:0}
.find-filter-sheet-panel>header>button{border:0;background:transparent;color:var(--green-dark);font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.find-sheet-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%!important}
.find-filter-sheet-scroll{overflow:auto;overscroll-behavior:contain}
.find-filter-sheet-scroll .find-filter-panel-inner{padding:12px 18px 22px}
.find-filter-sheet-scroll .find-filter-head{display:none}
.find-filter-sheet-scroll .find-filter-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.35),#fff 18%);padding-top:16px;padding-bottom:4px;z-index:3}
body.find-filter-lock{overflow:hidden}

@media(max-width:1000px){
  .find-wrap{grid-template-columns:260px minmax(0,1fr);gap:18px}
  .find-intro-trust{gap:12px}
  .find-trust-item{padding-right:12px}
  .result-side{min-width:190px;gap:10px}
}
@media(max-width:800px){
  .find-wrap{grid-template-columns:1fr;padding:10px 14px 22px}
  .find-intro{padding:20px 14px 6px}
  .find-filter-desktop{display:none}
  .find-mobile-filter-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 14px;border:1px solid #BCD9CB;border-radius:11px;background:#fff;color:var(--green-dark);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
  .find-mobile-filter-btn span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:var(--green);color:#fff;font-size:10px}
  .find-topbar{display:grid;grid-template-columns:auto minmax(0,1fr)}
  .find-sort{grid-column:1/-1;justify-content:space-between}
  .find-active-filters-inner{align-items:flex-start;flex-wrap:wrap}
  .find-active-filters-inner>span{width:100%}
  .find-active-clear{margin-left:auto}
  .result-row{min-height:0;display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;padding:16px}
  .result-avatar{width:58px;height:58px}
  .result-side{grid-column:1/-1;width:100%;min-width:0;justify-content:space-between;border-top:1px solid #E8F0EC;padding-top:12px;margin-top:2px}
  .result-profile-btn{margin-left:auto}
  .find-pagination-row,.find-verification-banner{align-items:stretch}
  .find-verification-banner{padding:15px}
  .find-filter-sheet{display:block}
}
@media(min-width:801px){.find-filter-sheet{display:none!important}}
@media(max-width:520px){
  .find-intro-left h1{font-size:21px}
  .find-intro-trust{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .find-trust-item{border-right:0;padding-right:0}
  .find-topbar{grid-template-columns:1fr}
  .find-mobile-filter-btn{width:100%}
  .find-sort{grid-column:auto}
  .find-search{order:-1}
  .find-filter-chip{font-size:10px}
  .find-selected-district{flex-direction:column}
  .find-change-district{align-self:flex-start}
  .result-title-line h4{font-size:16px}
  .result-no-rating{display:none}
  .result-profile-btn{width:100%}
  .result-side{display:block}
  .find-pagination{width:100%;justify-content:space-between}
  .find-pagination button{flex:1}
}
@media(prefers-reduced-motion:reduce){
  .find-choice,.find-switch,.find-switch span,.find-filter-sheet-backdrop,.find-filter-sheet-panel,.result-row{transition:none!important}
  .find-district-list.needs-attention{animation:none}
}

/* Dedicated public Offers page, separate from News */
.offers-page-shell{max-width:1120px;margin:0 auto;padding:34px 20px 64px}
.offers-page-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#fff 0%,var(--mint) 100%);box-shadow:0 10px 30px rgba(15,83,68,.06)}
.offers-page-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.offers-page-hero h1{font-size:30px;line-height:1.15;color:var(--dark);margin:0}
.offers-page-hero p{font-size:14px;color:var(--muted);margin:8px 0 0;max-width:620px;line-height:1.6}
.offers-page-icon{width:76px;height:76px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--green);border:1px solid var(--border);box-shadow:0 10px 24px rgba(15,83,68,.08);flex:0 0 auto}
.offers-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 16px}
.offers-page-count{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--green-dark)}
.offers-page-toolbar select{min-height:42px;padding:0 38px 0 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--dark);font-weight:600}
.public-offers-list{display:grid;gap:14px}
.public-offer-card{display:grid;grid-template-columns:180px 1fr;overflow:hidden;cursor:pointer;padding:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.public-offer-card:hover{transform:translateY(-2px);border-color:rgba(15,83,68,.28);box-shadow:0 14px 34px rgba(15,83,68,.09)}
.public-offer-media{min-height:170px;background:var(--mint);overflow:hidden}
.public-offer-media img{width:100%;height:100%;object-fit:cover;display:block}
.public-offer-placeholder{height:100%;min-height:170px;display:flex;align-items:center;justify-content:center;color:var(--green);background:linear-gradient(145deg,var(--mint),#f8fcfa)}
.public-offer-content{padding:20px 22px;display:flex;flex-direction:column;min-width:0}
.public-offer-company-row{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.public-offer-company-logo{width:34px;height:34px;border-radius:9px;background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green);font-weight:800;overflow:hidden;flex:0 0 auto}
.public-offer-company-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.public-offer-company{font-size:12.5px;font-weight:800;color:var(--green-dark)}
.public-offer-district{font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:3px;margin-top:2px}
.public-offer-badge{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:var(--mint);color:var(--green);font-size:10.5px;font-weight:800}
.public-offer-content h2{font-size:18px;color:var(--dark);margin:0 0 7px;line-height:1.3}
.public-offer-content p{font-size:13px;color:var(--muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.public-offer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:16px;font-size:11.5px;color:var(--muted)}
.public-offer-footer>span{display:flex;align-items:center;gap:5px}
.offers-empty-state{text-align:center;padding:56px 24px}
.offers-empty-icon{width:64px;height:64px;border-radius:50%;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.offers-empty-state h2{font-size:20px;color:var(--dark);margin:0}
.offers-empty-state p{font-size:13.5px;color:var(--muted);max-width:520px;margin:8px auto 0;line-height:1.6}
@media(max-width:720px){
  .offers-page-shell{padding:22px 14px 44px}
  .offers-page-hero{padding:20px;border-radius:14px}
  .offers-page-hero h1{font-size:25px}
  .offers-page-icon{width:56px;height:56px;border-radius:16px}
  .offers-page-toolbar{align-items:stretch;flex-direction:column}
  .offers-page-toolbar select{width:100%}
  .public-offer-card{grid-template-columns:1fr}
  .public-offer-media{height:170px;min-height:0}
  .public-offer-content{padding:17px}
  .public-offer-footer{align-items:stretch;flex-direction:column}
  .public-offer-footer .btn{width:100%;justify-content:center}
}


/* JOIN PAGE REFRESH */
.join-shell{max-width:1280px;margin:0 auto;padding:40px 20px 56px}
.join-page-head{margin-bottom:18px}
.join-page-head h1{font-size:26px;line-height:1.15;font-weight:800;color:var(--dark);letter-spacing:-.02em}
.join-page-head p{font-size:15px;color:var(--text);margin-top:8px}
.join-top-badges{display:flex;flex-wrap:wrap;gap:14px;background:var(--mint);border:1px solid #D7EAE0;border-radius:12px;padding:14px 18px;margin-bottom:22px}
.join-top-badge{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--green-dark)}
.join-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}
.join-main-card{padding:26px 28px;border-radius:18px;position:relative}
.join-sidebar-stack{display:flex;flex-direction:column;gap:16px}
.join-side-card-modern{padding:22px}
.join-step-counter{font-size:14px;font-weight:800;color:var(--green-dark);margin-bottom:18px}
.join-main-card .join-steps{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.join-main-card .join-step-line{top:18px;height:3px;background:#DCE6E1}
.join-main-card .join-step-circle{width:36px;height:36px;font-size:13px;border-width:2px}
.join-main-card .join-step.upcoming .join-step-circle{background:#fff;color:var(--muted);border-color:#D8E3DE}
.join-main-card .join-step-label{font-size:13px;font-weight:700;white-space:normal;line-height:1.35;color:var(--text)}
.join-main-card .join-step.upcoming .join-step-label{color:var(--text)}
.join-card-intro{padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:22px}
.join-card-intro h2{font-size:20px;line-height:1.25;font-weight:800;color:var(--dark);margin-bottom:10px}
.join-card-intro p{font-size:13px;line-height:1.65;color:var(--text);max-width:780px}
.join-block-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;color:var(--green-dark);margin-bottom:16px}
.join-block-title-second{margin-top:16px}
.join-block-sub{font-size:13px;color:var(--muted);margin:-4px 0 16px;line-height:1.6}
.join-grid-tight{gap:0 20px}
.join-main-card .field label{font-size:13px;font-weight:700;color:var(--dark);margin-bottom:8px;display:block}
.join-main-card .field input,.join-main-card .field select,.join-main-card .field textarea{min-height:50px;border-radius:12px;border:1px solid var(--border);background:#fff;font-size:15px}
.join-main-card .field textarea{min-height:160px;padding:14px 16px;resize:vertical}
.join-main-card .field small{display:block;font-size:11.5px;line-height:1.5;color:var(--muted);margin-top:8px}
.join-main-card .cmp-input .ic{left:12px;color:#7B8F87}
.join-main-card .cmp-input input,.join-main-card .cmp-input select{padding-left:40px !important}
.join-field-help{margin-bottom:6px}
.join-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.join-activity-tile{position:relative;border:1px solid var(--border);background:#fff;border-radius:14px;padding:18px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:122px;cursor:pointer;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;color:var(--dark)}
.join-activity-tile:hover{border-color:#BCD6C9;box-shadow:0 8px 18px rgba(15,77,62,.06);transform:translateY(-1px)}
.join-activity-tile.active{border-color:var(--green-dark);box-shadow:0 10px 24px rgba(15,77,62,.10);background:#FBFEFC}
.join-activity-icon{width:40px;height:40px;border-radius:12px;background:var(--mint);display:flex;align-items:center;justify-content:center;color:var(--green-dark)}
.join-activity-label{font-size:13px;font-weight:700;line-height:1.4;text-align:center}
.join-activity-check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:6px;border:1.5px solid #D8E3DE;background:#fff;color:#fff;display:flex;align-items:center;justify-content:center}
.join-activity-tile.active .join-activity-check{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.join-primary-btn{margin-top:18px;min-height:52px;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px}
.join-primary-btn .ic-svg{order:2}
.join-action-row{display:flex;gap:12px;margin-top:18px}
.join-action-row .btn,.join-action-row .btn-outline{min-height:50px}
.join-action-row .btn-full{flex:1}
.join-bottom-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted);margin-top:12px;text-align:center}
.join-help-card{padding:22px;border-radius:18px}
.join-help-text{font-size:12px;line-height:1.65;color:var(--green-dark);margin-bottom:10px}
.join-success-card{padding:40px 32px;text-align:center;max-width:760px;margin:0 auto}
.join-success-icon{color:var(--green);margin-bottom:12px}
.join-success-card h2{font-size:24px;font-weight:800;color:var(--green-dark)}
.join-success-card p{font-size:14px;color:var(--muted);line-height:1.7;margin-top:8px}
.join-review-grid-modern{gap:0}
.join-review-grid-modern .join-review-row{padding:13px 0}
.join-review-grid-modern .join-review-row span{font-size:12px}
.join-upload-box{padding:26px 20px}
.join-side-card-modern .benefit-mini .ic,.join-side-card-modern .side-num{width:34px;height:34px;border-radius:10px}
.join-side-card-modern .side-step{margin-bottom:18px}
.join-side-card-modern h3{font-size:16px;margin-bottom:16px}
@media(max-width:1100px){.join-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:960px){.join-layout{grid-template-columns:1fr}.join-sidebar-stack{order:2}.join-main-card{order:1}.join-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.join-shell{padding:28px 14px 40px}.join-page-head h1{font-size:24px}.join-page-head p{font-size:14px}.join-top-badges{padding:12px 14px;gap:10px}.join-top-badge{width:100%;font-size:12.5px}.join-main-card{padding:20px 16px}.join-step-counter{font-size:13px;margin-bottom:14px}.join-main-card .join-steps{gap:8px}.join-main-card .join-step-circle{width:32px;height:32px}.join-main-card .join-step-label{display:block;font-size:11px}.join-card-intro h2{font-size:18px}.join-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.join-activity-tile{min-height:110px;padding:16px 10px}.join-action-row{flex-direction:column}.join-action-row .btn-outline,.join-action-row .btn-full{width:100%}}
@media(max-width:520px){.join-activity-grid{grid-template-columns:1fr 1fr}.join-main-card .join-step-label{display:none}}

/* JOIN APPLICATION SUCCESS, professional confirmation state */
.join-success-page{max-width:980px;margin:0 auto;padding:34px 20px 48px}
.join-success-page .join-success-card{max-width:940px;margin:0 auto;padding:28px 40px 24px;border-radius:16px;text-align:center;box-shadow:0 14px 34px rgba(19,56,44,.12);animation:joinSuccessIn .32s ease-out both}
@keyframes joinSuccessIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.join-success-check{width:58px;height:58px;border-radius:50%;margin:0 auto 12px;border:2px solid #35A653;background:#F0FAF2;color:#16843A;display:flex;align-items:center;justify-content:center}
.join-success-card h1{margin:0;color:var(--green-dark);font-size:30px;line-height:1.2;font-weight:850;letter-spacing:-.025em}
.join-success-lead{max-width:600px;margin:10px auto 12px!important;color:#394641!important;font-size:14.5px!important;line-height:1.55!important}
.join-success-status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:10px;background:#FFF0C2;color:#8A5A00;font-size:13.5px;font-weight:800}
.join-success-divider{height:1px;background:var(--border);margin:20px 0 18px}
.join-success-progress{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 16px;margin-bottom:22px}
.join-success-progress-line{position:absolute;left:16.7%;right:16.7%;top:24px;height:2px;background:linear-gradient(to right,var(--green) 0%,var(--green) 55%,#D7DEDA 55%,#D7DEDA 100%);z-index:0}
.join-success-step{position:relative;z-index:1;padding:0 28px;min-width:0}
.join-success-step+.join-success-step{border-left:1px solid var(--border)}
.join-success-step-icon{width:50px;height:50px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;background:var(--green);color:#fff;box-shadow:0 3px 9px rgba(15,77,62,.16)}
.join-success-step.future .join-success-step-icon{background:#F2F4F3;color:#61716B;border:1px solid #D7DEDA;box-shadow:none}
.join-success-step-number{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;background:var(--green);color:#fff;font-size:11px;font-weight:850}
.join-success-step.future .join-success-step-number{background:#E7ECE9;color:#51615B}
.join-success-step h2{margin:0 0 6px;color:var(--green-dark);font-size:14px;font-weight:850;line-height:1.3}
.join-success-step p{margin:0!important;color:#53615C!important;font-size:12.5px!important;line-height:1.55!important}
.join-success-info{display:flex;align-items:flex-start;gap:14px;text-align:left;padding:15px 18px;border:1px solid #CFE3D5;background:#F3F9F4;border-radius:9px;margin:0 0 16px}
.join-success-info-icon{color:#14813A;flex:0 0 auto;margin-top:1px}
.join-success-info strong{display:block;color:var(--green-dark);font-size:13.5px;line-height:1.35;margin-bottom:4px}
.join-success-info span{display:block;color:#3F4C47;font-size:12.5px;line-height:1.5}
.join-success-actions{display:flex;align-items:center;justify-content:center;gap:44px;margin-top:14px}
.join-success-primary{min-height:46px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:14px;font-weight:800}
.join-success-home{border:0;background:transparent;color:var(--green-dark);text-decoration:underline;text-underline-offset:3px;font-size:13.5px;font-weight:800;cursor:pointer;padding:10px 4px}
.join-success-home:hover{color:var(--green)}
.join-success-page .join-success-card>p[style]{margin:0 0 14px!important}
@media(max-width:760px){
  .join-success-page{padding:24px 14px 38px}
  .join-success-page .join-success-card{padding:24px 18px 22px}
  .join-success-card h1{font-size:25px}
  .join-success-progress{grid-template-columns:1fr;padding:0;margin-bottom:18px}
  .join-success-progress-line{display:none}
  .join-success-step{display:grid;grid-template-columns:48px 1fr;column-gap:14px;text-align:left;padding:15px 0}
  .join-success-step+.join-success-step{border-left:0;border-top:1px solid var(--border)}
  .join-success-step-icon{grid-row:1/4;width:46px;height:46px;margin:0}
  .join-success-step-number{display:none}
  .join-success-step h2{align-self:end;margin-bottom:4px}
  .join-success-step p{align-self:start}
  .join-success-actions{flex-direction:column;gap:8px}
  .join-success-primary{width:100%}
}

/* ── Professional report-submission confirmation ─────────────────────
   Reuses the approved membership-success visual system so Join and Report
   feel like parts of the same official association website. */
.report-success-page .report-success-card{max-width:940px}
.report-success-info>div:last-child{min-width:0;flex:1}
.report-success-reference{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px;font-size:12.5px;line-height:1.45;color:#3F4C47}
.report-success-reference span{display:inline!important;color:#3F4C47!important;font-size:12.5px!important}
.report-success-reference b{color:var(--green-dark);font-weight:850;letter-spacing:.01em;overflow-wrap:anywhere}
.report-success-warning{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;padding:11px 13px;border:1px solid #E4D9B8;border-radius:8px;background:#FFF9E9;color:#66532A;font-size:12.5px;line-height:1.5;text-align:left}
.report-success-warning svg{flex:0 0 auto;margin-top:2px}

@media(max-width:680px){
  .report-success-reference{display:block}
  .report-success-reference b{display:block;margin-top:2px}
}

/* Find a Cleaner, approved clarity and review display update.
   Header/navigation styles are intentionally untouched. */
.find-page-motion{
  background:#f7faf8;
  min-height:calc(100vh - 72px);
}
.find-intro,
.find-wrap{
  image-rendering:auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.find-main-column .card,
.find-filter-desktop,
.find-active-filters-inner,
.find-search input,
.find-sort{
  background:#fff;
}
.result-row{
  align-items:center;
  gap:18px;
  border:1px solid #d7e6df;
  box-shadow:0 7px 22px rgba(5,65,48,.055);
}
.result-body{
  min-width:0;
  flex:1;
}
.result-title-line{margin-bottom:2px}
.result-title-line h4{
  color:#102a22;
  letter-spacing:-.01em;
}
.result-type{
  color:#3e514a;
  font-weight:650;
}
.result-tags{margin-top:9px}
.result-side{
  min-width:230px;
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  position:relative;
  z-index:2;
}
.result-rating-wrap{
  min-width:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  margin:0;
  color:#556a63;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  text-align:center;
}
.result-rating-score{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.result-rating-star{
  color:#f4b400;
  font-size:16px;
  line-height:1;
}
.result-rating-wrap strong{
  color:#172c25;
  font-size:14px;
  font-weight:800;
}
.result-review-count{
  color:#667871;
  font-size:11px;
  font-weight:500;
}
.result-profile-btn{white-space:nowrap}
.result-avatar{
  flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(7,80,58,.08);
}
.result-avatar img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:7px;
  background:#fff;
}
@media(max-width:800px){
  .result-side{
    min-width:0;
    margin-left:84px;
    justify-content:space-between;
  }
}
@media(max-width:560px){
  .result-side{
    width:100%;
    margin-left:0;
    gap:12px;
  }
  .result-profile-btn{
    flex:1;
    justify-content:center;
  }
}

/* Join form, professional pills/chips selectors */
.join-chip-select{position:relative;width:100%;z-index:12}
.join-chip-select.open{z-index:60}
.join-chip-control{width:100%;min-height:50px;border:1.5px solid #b8cec5;border-radius:12px;background:#fff;padding:8px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:inherit;color:var(--dark);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.join-chip-control:hover{border-color:var(--green)}
.join-chip-select.open .join-chip-control{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,92,67,.10)}
.join-chip-values{display:flex;flex:1;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
.join-chip-placeholder{color:#707c78;font-size:14px}
.join-select-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 10px;border-radius:9px;background:#e8f3ee;color:#07523d;font-size:13.5px;font-weight:700;line-height:1.1}
.join-chip-x{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:17px;line-height:1;color:#07523d;cursor:pointer}
.join-chip-x:hover{background:rgba(0,82,61,.10)}
.join-chip-chevron{font-size:24px;line-height:1;color:var(--green);transform:translateY(-2px);transition:transform .18s ease}
.join-chip-select.open .join-chip-chevron{transform:rotate(180deg) translateY(2px)}
.join-chip-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);background:#fff;border:1px solid #d5dfdb;border-radius:13px;box-shadow:0 16px 34px rgba(17,47,37,.16);overflow:hidden;animation:joinMenuIn .16s ease both}
@keyframes joinMenuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.join-chip-options{padding:8px}
.join-chip-option{width:100%;border:0;border-radius:9px;background:transparent;padding:10px 11px;display:flex;align-items:center;gap:11px;text-align:left;font:inherit;font-size:14px;color:var(--dark);cursor:pointer;transition:background .15s ease,color .15s ease}
.join-chip-option:hover{background:#f2f7f4}
.join-chip-option.selected{background:#edf6f1;color:#064d39;font-weight:700}
.join-option-box{width:22px;height:22px;border:1.5px solid #9fb9af;border-radius:5px;display:grid;place-items:center;flex:0 0 22px;color:#fff}
.join-chip-option.selected .join-option-box{background:var(--green);border-color:var(--green)}
.join-chip-menu-footer{padding:10px 13px;border-top:1px solid #e4e9e7;display:flex;align-items:center;justify-content:space-between;background:#fbfcfb}
.join-chip-menu-footer button{border:0;background:transparent;color:var(--green);font:inherit;font-size:13px;font-weight:800;cursor:pointer;padding:6px 4px}
.join-chip-menu-footer button.done{background:var(--green);color:#fff;border-radius:8px;padding:8px 14px}
.join-service-picker{margin-top:4px;margin-bottom:18px}
@media(max-width:700px){.join-chip-menu{position:relative;top:6px}.join-select-chip{font-size:12.5px}.join-chip-control{min-height:48px}}

/* Unified professional selection controls, Join + Report */
.cmp-chip-select{z-index:18}
.cmp-chip-select.open{z-index:90}
/* Lift the wizard row that currently holds an open picker above the rows below it. */
.cmp-step-pane > *{position:relative;z-index:1}
.cmp-step-pane > *:has(.join-chip-select.open){z-index:120}
.cmp-chip-select .join-chip-menu{z-index:120}
.cmp-chip-select .join-chip-options{max-height:260px;overflow-y:auto}
.cmp-chip-select .join-select-chip{max-width:100%;overflow-wrap:anywhere}
.cmp-chip-select.disabled{opacity:.58}
.cmp-chip-select.disabled .join-chip-control{cursor:not-allowed;background:#f7f9f8}
.cmp-chip-select .join-chip-control{min-height:46px;border-radius:9px;border-color:#9bbbad;padding:7px 10px}
.cmp-chip-select .join-select-chip{background:#e7f2ed;border:0;border-radius:7px;padding:6px 9px;font-size:12.5px;font-weight:700;color:#0a533e}
.cmp-chip-select .join-chip-menu{border-radius:10px;top:calc(100% + 5px)}
.cmp-chip-select .join-chip-options{padding:6px}
.cmp-chip-select .join-chip-option{border-radius:7px;padding:9px 10px}
.cmp-chip-select .join-option-box.radio{border-radius:50%}
.cmp-chip-select .join-option-box.radio .radio-dot{width:8px;height:8px;border-radius:50%;background:#fff;display:block}
.cmp-chip-select .join-chip-menu-footer{padding:8px 11px}
.cmp-chip-select .join-chip-menu-footer button.done{padding:7px 13px}
@media(max-width:700px){.cmp-grid2{overflow:visible}.cmp-chip-select .join-chip-menu{position:relative}}

/* ── ABOUT PAGE ──────────────────────────────────────────────
   Professional editorial layout matching the approved preview. */
.about-page{max-width:1420px;padding-top:54px;padding-bottom:44px}
.about-top{display:grid;grid-template-columns:.92fr 1.28fr;gap:56px;align-items:stretch;margin-bottom:22px}
.about-hero{padding:18px 4px 0 0}
.about-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.15px;text-transform:uppercase;color:var(--green);padding-bottom:13px;position:relative;display:inline-block;margin-bottom:22px;border:0}
.about-eyebrow:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;border-radius:2px;background:var(--green)}
.about-hero-title{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(36px,4vw,55px);line-height:1.08;color:#0b3328;letter-spacing:-1px;margin:0 0 22px;max-width:570px}
.about-hero-text{font-size:16px;line-height:1.78;color:#46554f;max-width:57ch;margin:0}
.about-top-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-card{padding:30px 32px;border-radius:18px;border:1px solid #e1e8e5;background:#fff;box-shadow:0 10px 28px rgba(12,58,45,.07)}
.about-top-cards .about-card{min-height:300px}
.about-card-icon{width:64px;height:64px;border-radius:50%;background:#edf6f2;color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:18px}
.about-card-icon.lg{width:64px;height:64px;margin-bottom:0}
.about-card-title{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:700;color:#0b3328;margin:0 0 16px;padding-bottom:13px;position:relative;display:block;border:0}
.about-card-title:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;border-radius:2px;background:var(--green)}
.about-card-text{font-size:14px;line-height:1.75;color:#4c5b55;margin:0}
.about-oeb-badge{display:flex;align-items:center;gap:16px;background:linear-gradient(90deg,#eaf5f0,#f3f8f6);border-radius:10px;padding:13px 16px;margin:0 0 20px}
.about-oeb-mark{font-family:Georgia,serif;font-size:28px;font-weight:700;color:var(--green-dark);letter-spacing:.5px;flex-shrink:0}
.about-oeb-name{font-size:13px;font-weight:600;line-height:1.4;color:#35453f}

.about-mid{display:grid;grid-template-columns:.86fr 1.34fr;gap:30px;align-items:stretch;margin-bottom:22px}
.about-mid>.about-card{min-height:360px}
.about-board-head{display:flex;align-items:center;gap:16px;margin-bottom:13px}
.about-board-head .about-card-icon{margin-bottom:0;width:54px;height:54px}
.about-board-head .about-card-title{margin-bottom:0;flex:1}
.about-board-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e8eeeb}
.about-board-row:last-child{border-bottom:0;padding-bottom:0}
.about-board-avatar{width:42px;height:42px;border-radius:50%;background:#edf6f2;color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}
.about-board-name{font-size:14.5px;font-weight:700;color:#273630}
.about-board-name.tba{opacity:.92}
.about-board-role{font-size:12.5px;color:#65726d;margin-top:3px}

.about-verified-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:22px}
.about-verified-head .about-card-text{max-width:78ch}
.about-verified-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #e5ebe8;padding-top:22px}
.about-vp{text-align:center;padding:0 18px;border-right:1px solid #e5ebe8}
.about-vp:last-child{border-right:0}
.about-vp-icon{width:50px;height:50px;border-radius:50%;background:#edf6f2;color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 11px}
.about-vp-title{font-size:13.5px;font-weight:800;color:#1f2f29;margin-bottom:7px}
.about-vp-text{font-size:12.5px;line-height:1.55;color:#5e6c67}

.about-focus{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;background:linear-gradient(90deg,#edf6f2,#f4f8f6);color:#23463b;border:1px solid #e1ebe6;border-radius:14px;padding:18px 24px;font-size:13.5px;font-weight:600;line-height:1.6}
.about-focus svg{flex-shrink:0;color:var(--green)}

@media(max-width:1100px){
  .about-top{grid-template-columns:1fr;gap:26px}
  .about-hero{padding-top:0}
  .about-mid{grid-template-columns:1fr}
  .about-verified-grid{grid-template-columns:1fr 1fr;gap:22px 0}
  .about-vp:nth-child(2){border-right:0}
}
@media(max-width:700px){
  .about-page{padding-top:28px}
  .about-top-cards{grid-template-columns:1fr}
  .about-card{padding:22px}
  .about-top-cards .about-card,.about-mid>.about-card{min-height:auto}
  .about-verified-grid{grid-template-columns:1fr}
  .about-vp{border-right:0;padding:16px 0;border-bottom:1px solid #e5ebe8}
  .about-vp:last-child{border-bottom:0}
  .about-verified-head{flex-direction:column;gap:14px}
  .about-focus{flex-direction:column}
}

/* ══════════════════════════════════════════════════════════════════
   DESKTOP TIDY-UP + ADMIN USABILITY (added fixes)
   ══════════════════════════════════════════════════════════════════ */

/* 1. Desktop (>=769px): never inherit the stacked mobile layout. */
@media (min-width:769px){
  .admin-sticky-tabs{position:static;flex-direction:row;align-items:center;margin:0 0 18px;padding:0;background:transparent}
  .admin-sticky-tabs .admin-tab-scroller{flex-direction:row;flex:1 1 auto}
  .adm-app-tabs-actions{width:auto;margin-left:auto;justify-content:flex-end}
  .apps-stat-row{grid-template-columns:repeat(5,minmax(0,1fr))}
  .adm-app-card-panels{grid-template-columns:1fr 1fr}
  .adm-app-card-footer{flex-direction:row;align-items:center;justify-content:space-between}
  .adm-app-card-footer-actions{flex-direction:row;align-items:center}
}

/* 2. Kebab / overflow menus must never be clipped by a scrolling table
      or a card with overflow:hidden. When open, JS switches them to
      position:fixed and sets the coordinates. */
.admin-overflow-list.is-floating{position:fixed;top:auto;right:auto;z-index:9999}
.admin-table-scroll,.admin-content .card:has(.admin-overflow-menu){overflow:visible}
.news-table-scroll{overflow-x:auto;overflow-y:visible}

/* 3. Bulk-selection bar for admin applications (works on every tab). */
.adm-bulk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--border);border-radius:12px;
  padding:10px 14px;margin-bottom:14px}
.adm-bulk-bar.has-selection{border-color:var(--green);background:var(--mint)}
.adm-bulk-check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--dark);cursor:pointer}
.adm-bulk-check input{width:17px;height:17px;accent-color:var(--green);cursor:pointer}
.adm-bulk-count{font-size:12.5px;color:var(--muted);font-weight:600}
.adm-bulk-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.adm-bulk-actions .btn{min-height:38px}
@media (max-width:768px){
  .adm-bulk-bar{position:sticky;top:calc(var(--adm-header-h) + var(--adm-safe-top) + 4px);z-index:25}
  .adm-bulk-actions{margin-left:0;width:100%}
  .adm-bulk-actions .btn{flex:1;justify-content:center;min-height:44px}
}

/* 4. Clearer selection checkbox on each application card. */
.adm-app-card-check{width:18px;height:18px;accent-color:var(--green);cursor:pointer;flex:0 0 auto}

/* 5. Friendly inline error/help block used by forms. */
.form-inline-help{display:flex;gap:8px;align-items:flex-start;background:#FDECEA;border:1px solid #E7B1B1;
  color:#8E2A22;border-radius:10px;padding:10px 12px;font-size:12.5px;margin-top:10px;line-height:1.5}
.form-inline-help a{color:#8E2A22;font-weight:700}

/* 6. Action rows that previously only existed inside the mobile media query,
      so on desktop they fell back to unstyled inline content. */
.admin-sticky-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.admin-sticky-actions-danger{display:flex;gap:8px;margin-left:auto}
.admin-cell-actions{white-space:nowrap}
.admin-content table td.admin-cell-actions{display:table-cell}
.admin-content table td.admin-cell-actions > *{vertical-align:middle}
.news-actions-cell .btn{margin-right:6px}
.admin-toolbar-stack{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.news-audience-row{display:flex;gap:10px;flex-wrap:wrap}
.cmp-step-actions{display:flex;gap:10px;margin-top:18px}

/* FINAL ABOUT MATCHING, closer proportions to the approved second preview */
.about-page{
  max-width:1480px;
  padding-top:46px;
  padding-bottom:34px;
}
.about-top{
  grid-template-columns:.94fr 1.34fr;
  gap:42px;
  margin-bottom:18px;
}
.about-hero{
  padding:14px 10px 0 0;
}
.about-eyebrow{
  margin-bottom:18px;
  padding-bottom:11px;
}
.about-hero-title{
  font-size:clamp(38px,3.7vw,56px);
  line-height:1.03;
  max-width:590px;
  margin-bottom:19px;
}
.about-hero-text{
  font-size:15.5px;
  line-height:1.68;
  max-width:60ch;
}
.about-top-cards{
  gap:16px;
}
.about-card{
  padding:25px 28px;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(12,58,45,.065);
}
.about-top-cards .about-card{
  min-height:270px;
}
.about-card-icon{
  width:58px;
  height:58px;
  margin-bottom:15px;
}
.about-card-title{
  font-size:21px;
  margin-bottom:14px;
  padding-bottom:11px;
}
.about-card-text{
  font-size:13.6px;
  line-height:1.65;
}
.about-oeb-badge{
  padding:11px 14px;
  margin-bottom:16px;
}
.about-oeb-mark{
  font-size:27px;
}
.about-mid{
  grid-template-columns:.88fr 1.42fr;
  gap:24px;
  margin-bottom:18px;
}
.about-mid>.about-card{
  min-height:330px;
}
.about-board-head{
  margin-bottom:8px;
}
.about-board-row{
  padding:11px 0;
}
.about-board-avatar{
  width:38px;
  height:38px;
}
.about-board-name{
  font-size:14px;
}
.about-board-role{
  font-size:12px;
}
.about-verified-head{
  gap:17px;
  margin-bottom:18px;
}
.about-card-icon.lg{
  width:58px;
  height:58px;
}
.about-verified-grid{
  padding-top:17px;
}
.about-vp{
  padding:0 14px;
}
.about-vp-icon{
  width:46px;
  height:46px;
  margin-bottom:9px;
}
.about-vp-title{
  font-size:12.8px;
  margin-bottom:5px;
}
.about-vp-text{
  font-size:12px;
  line-height:1.45;
}
.about-focus{
  padding:15px 22px;
  border-radius:12px;
  font-size:13px;
}
@media(min-width:1250px){
  .about-top-cards .about-card:first-child .about-card-text{max-width:31ch}
  .about-top-cards .about-card:last-child .about-card-text{max-width:34ch}
}

/* 2026 premium admin redesign, Classic Green */
:root{--admin-deep:#063d32;--admin-green:#0c7b4f;--admin-bright:#11a866;--admin-soft:#eaf7f0;--admin-line:#e2ebe6;--admin-shadow:0 10px 30px rgba(12,58,43,.08)}
.admin-shell{background:#f7faf8}
.admin-sidebar-fixed{width:236px;background:linear-gradient(180deg,#063d32 0%,#07503e 100%);box-shadow:10px 0 30px rgba(4,53,42,.08)}
.admin-content{margin-left:236px;width:calc(100% - 236px);padding:30px 32px 60px;max-width:none}
.admin-sb-brand{padding:22px 18px 18px}.admin-sb-brand .mark{width:48px;height:48px;border-radius:14px;background:#fff;color:var(--admin-green);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.admin-sb-nav{padding:8px 14px;gap:7px}.admin-sb-item{height:48px;border-radius:12px;padding:0 14px}.admin-sb-item.active{background:linear-gradient(135deg,#12a966,#0b8d57);color:#fff;box-shadow:0 10px 22px rgba(17,168,102,.28)}
.admin-sb-item.active:hover{color:#fff;background:linear-gradient(135deg,#12a966,#0b8d57)}.admin-sb-profile{margin:0 14px 16px;padding:13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08)}
.admin-page-head-premium{margin-bottom:24px}.admin-page-head-premium h1{font-size:28px;letter-spacing:-.03em}.admin-page-head-premium .sub{font-size:13px;margin-top:5px}
.admin-header-search{height:44px;min-width:260px;display:flex;align-items:center;gap:10px;border:1px solid var(--admin-line);background:#fff;border-radius:11px;padding:0 13px;box-shadow:0 4px 14px rgba(12,58,43,.04)}.admin-header-search input{border:0;outline:0;width:100%;font:inherit;color:var(--dark);background:transparent}
.admin-action-primary{background:linear-gradient(135deg,#0c7b4f,#0a9158)!important;border-color:transparent!important;box-shadow:0 8px 18px rgba(12,123,79,.20)}
.company-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px}.company-kpi{background:#fff;border:1px solid var(--admin-line);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--admin-shadow)}.company-kpi .kpi-icon{width:54px;height:54px;border-radius:14px;background:var(--admin-soft);color:var(--admin-green);display:flex;align-items:center;justify-content:center}.company-kpi.warning .kpi-icon{background:#fff4e5;color:#e98100}.company-kpi.danger .kpi-icon{background:#fff0f0;color:#d33}.company-kpi b{display:block;font-size:25px;line-height:1}.company-kpi span:not(.kpi-icon){display:block;font-size:13px;font-weight:700;margin-top:5px}.company-kpi small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.company-filter-bar{display:flex;align-items:flex-end;gap:14px;background:#fff;border:1px solid var(--admin-line);border-radius:15px;padding:17px 20px;margin-bottom:18px;box-shadow:0 7px 22px rgba(12,58,43,.05)}.company-filter-bar label{font-size:11px;font-weight:700;color:var(--muted);display:grid;gap:7px}.company-filter-bar select{min-width:180px;height:40px;border:1px solid var(--admin-line);border-radius:9px;background:#fff;padding:0 12px;color:var(--dark)}
.company-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.company-table-card,.company-detail-panel{background:#fff;border:1px solid var(--admin-line);border-radius:16px;box-shadow:var(--admin-shadow);overflow:hidden}.company-table-scroll{overflow:auto}.company-premium-table{width:100%;border-collapse:collapse;min-width:850px}.company-premium-table th{font-size:11px;text-transform:none;letter-spacing:0;color:#64736c;text-align:left;padding:15px 16px;background:#fbfdfc;border-bottom:1px solid var(--admin-line)}.company-premium-table td{padding:14px 16px;border-bottom:1px solid #edf2ef;font-size:12.5px;vertical-align:middle}.company-premium-table tbody tr{cursor:pointer;transition:.18s ease}.company-premium-table tbody tr:hover,.company-premium-table tbody tr.selected{background:#f3faf6}.company-premium-table tbody tr.selected{box-shadow:inset 3px 0 0 var(--admin-green)}
.company-cell{display:flex;align-items:center;gap:11px}.company-cell strong{display:block;font-size:13px}.company-cell small{display:block;color:var(--muted);margin-top:3px}.company-logo-sm,.company-logo-lg{display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--admin-soft);color:var(--admin-green);font-weight:800;border:1px solid #dfece5}.company-logo-sm{width:40px;height:40px;border-radius:10px}.company-logo-lg{width:66px;height:66px;border-radius:15px}.company-logo-sm img,.company-logo-lg img{width:100%;height:100%;object-fit:contain;background:#fff}.verify-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.verify-pill.verified{background:#e7f6ed;color:#087344;border:1px solid #ccead8}.verify-pill.pending{background:#fff5e8;color:#c86e00;border:1px solid #f6dfbc}.icon-more{border:0;background:transparent;width:34px;height:34px;border-radius:8px;cursor:pointer}.icon-more:hover{background:#edf5f0}.company-table-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;color:var(--muted);font-size:11px}.page-chip{width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.page-chip.active{background:var(--admin-green);color:#fff}
.company-detail-panel{position:sticky;top:82px;padding:20px}.detail-close{position:absolute;right:14px;top:14px;border:0;background:transparent;cursor:pointer}.company-detail-head{display:flex;gap:13px;align-items:center;padding:6px 0 18px}.company-detail-head h2{font-size:17px;margin:0 0 6px}.company-detail-head p{font-size:11px;color:var(--muted);margin:6px 0 0}.company-detail-tabs{display:flex;gap:20px;border-bottom:1px solid var(--admin-line);margin:0 -20px;padding:0 20px}.company-detail-tabs button{border:0;background:none;padding:12px 0;font:inherit;font-size:11.5px;cursor:pointer;color:var(--muted)}.company-detail-tabs button.active{color:var(--admin-green);font-weight:800;border-bottom:2px solid var(--admin-green)}.company-detail-section{padding:18px 0;border-bottom:1px solid var(--admin-line)}.company-detail-section h3{font-size:13px;margin:0 0 10px}.company-detail-section p{font-size:12px;line-height:1.65;color:#53625b;margin:0}.detail-line{display:flex;gap:9px;align-items:flex-start;font-size:12px;margin:10px 0;color:#425149}.detail-line svg{color:var(--admin-green);flex:0 0 auto}.company-detail-actions{display:grid;gap:9px;padding-top:18px}.company-detail-actions .btn{width:100%;justify-content:center}.admin-action-danger{background:#fff!important;color:#c83c3c!important;border:1px solid #efb4b4!important}
.ov-card,.ov-panel,.card{box-shadow:var(--admin-shadow);border-color:var(--admin-line)}.ov-card{background:#fff;border-radius:16px;padding:18px}.ov-card .top .ic{width:36px;height:36px;border-radius:12px;background:var(--admin-soft);color:var(--admin-green)}.ov-card .val{font-size:29px}.ov-panel{border-radius:16px}
@media(max-width:1250px){.company-kpi-grid{grid-template-columns:repeat(2,1fr)}.company-admin-layout{grid-template-columns:1fr}.company-detail-panel{position:relative;top:auto}.admin-content{padding:24px 20px 50px}}
@media(max-width:900px){.admin-sidebar-fixed{width:280px}.admin-content{margin-left:0;width:100%;padding:18px 14px 90px}.company-kpi-grid{grid-template-columns:1fr}.company-filter-bar{flex-wrap:wrap}.admin-page-head-premium .admin-toolbar{width:100%}.admin-header-search{min-width:0;flex:1}}

/* Supabase-backed premium Settings page */
.premium-settings-page{max-width:1500px}.settings-page-head{display:flex;align-items:flex-start;justify-content:space-between}.settings-save-state{font-size:11px;font-weight:700;color:#087344;background:#e8f7ef;border:1px solid #cce9d8;border-radius:999px;padding:7px 11px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.settings-card{background:#fff;border:1px solid var(--admin-line);border-radius:16px;padding:20px;box-shadow:var(--admin-shadow);min-width:0}.settings-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.settings-card-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--admin-soft);color:var(--admin-green);flex:0 0 auto}.settings-card-head h2{font-size:15px;margin:1px 0 4px}.settings-card-head p{font-size:11px;color:var(--muted);margin:0;line-height:1.45}.settings-fields{display:grid;gap:13px}.settings-fields.two-col{grid-template-columns:1fr 1fr}.settings-field{display:grid;gap:7px;margin:12px 0}.settings-field>span{font-size:11px;font-weight:750;color:#33433b}.settings-field input,.settings-field select{width:100%;height:41px;border:1px solid #dfe8e3;border-radius:9px;background:#fff;padding:0 11px;color:#26372f;outline:none;font:inherit;font-size:12px}.settings-field input:focus,.settings-field select:focus{border-color:#79b99a;box-shadow:0 0 0 3px rgba(12,123,79,.08)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf2ef;cursor:pointer}.settings-toggle-row span{display:grid;gap:3px}.settings-toggle-row b{font-size:12px}.settings-toggle-row small{font-size:10.5px;color:var(--muted);line-height:1.35}.settings-toggle-row input{display:none}.settings-toggle-row i{width:38px;height:22px;background:#ccd6d1;border-radius:999px;position:relative;transition:.2s;flex:0 0 auto}.settings-toggle-row i:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.settings-toggle-row input:checked+i{background:var(--admin-green)}.settings-toggle-row input:checked+i:after{transform:translateX(16px)}.settings-save-btn{margin-top:16px;margin-left:auto;display:flex}.settings-password-btn{margin-top:13px}.language-chips{display:flex;gap:8px;margin:15px 0}.language-chip{background:#eef8f2;border:1px solid #d8eadf;color:#235c43;border-radius:9px;padding:9px 11px;font-size:11px}.language-chip b{margin-left:8px;color:var(--admin-green)}.settings-staff-results{display:grid;gap:8px;margin-top:13px}.settings-staff-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px;border:1px solid #e4ece7;border-radius:10px}.settings-staff-row b,.settings-staff-row small{display:block}.settings-staff-row b{font-size:12px}.settings-staff-row small{font-size:10px;color:var(--muted);margin-top:2px}.settings-staff-row>div:last-child{display:flex;gap:6px}.settings-account-card{grid-column:span 1}.btn-sm{min-height:31px!important;padding:5px 9px!important;font-size:10.5px!important}
@media(max-width:1280px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.settings-grid{grid-template-columns:1fr}.settings-fields.two-col{grid-template-columns:1fr}.settings-page-head{gap:12px}.settings-save-state{display:none}.settings-staff-row{grid-template-columns:1fr auto}.settings-staff-row>div:last-child{grid-column:1/-1}}


/* 2026 About page refinements + settings cleanup */
.about-governance-intro{font-size:13.8px;line-height:1.7;color:#4f5e58;margin:4px 0 12px}
.about-governance-list{display:flex;flex-direction:column;gap:0;margin-top:4px}
.about-governance-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e8eeeb}
.about-governance-row:last-child{border-bottom:0;padding-bottom:0}
.about-governance-role{font-size:14px;font-weight:700;color:#21332d}
.about-governance-value{font-size:13px;color:#6b7873}
.about-inline-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--green-dark);text-decoration:none}
.about-inline-link:hover{opacity:.88}
.about-oeb-logo-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.about-focus-cta{justify-content:space-between;gap:18px;padding:22px 26px}
.about-focus-copy{display:flex;align-items:center;gap:12px;text-align:left;flex:1}
.about-focus-copy svg{flex-shrink:0;color:var(--green)}
.about-focus-btn{background:linear-gradient(135deg,#0c7b4f,#0a5d3d);border:none;color:#fff;padding:14px 18px;border-radius:12px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 12px 24px rgba(6,61,50,.14)}
.about-focus-btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.settings-security-note{margin:14px 0 16px;padding:12px 14px;border-radius:12px;background:#f3f8f5;border:1px solid #dfeae4;font-size:12.8px;line-height:1.6;color:#476057}
@media(max-width:900px){.about-focus-cta{flex-direction:column;align-items:stretch}.about-focus-copy{text-align:center;justify-content:center}.about-focus-btn{justify-content:center}.about-governance-row{grid-template-columns:38px 1fr}.about-governance-value{grid-column:2/3}}

/* ══════════════════════════════════════════════════════════════════
   ABOUT, Mission / OEB cards
   No decorative icons. An institutional page earns its weight from
   typography and restraint, not from stock outline glyphs. Cards size
   to their content and finish on the same line.
   ══════════════════════════════════════════════════════════════════ */
.about-top-cards{align-items:stretch;gap:24px}
.about-top-cards .about-card,
.about-mid > .about-card{min-height:0}

.about-top-cards .about-card{
  display:flex;flex-direction:column;
  background:#fff;
  border:1px solid #E4EDE9;
  border-radius:6px;
  padding:40px 42px 36px;
  box-shadow:none;
}

/* Eyebrow rule above the title, the only ornament on the card. */
.about-top-cards .about-card-title{
  font-family:Georgia,'Times New Roman',serif;
  font-size:26px;font-weight:400;letter-spacing:-.3px;line-height:1.25;
  color:#0B3328;
  margin:0 0 22px;padding:22px 0 0;
  position:relative;
}
.about-top-cards .about-card-title:after{display:none}
.about-top-cards .about-card-title:before{
  content:"";position:absolute;top:0;left:0;
  width:46px;height:2px;background:var(--green-dark,#0B4D38);
}

.about-top-cards .about-card-text{
  font-size:15px;line-height:1.8;color:#4A5A53;
  max-width:none;margin:0;
}
@media(min-width:1250px){
  .about-top-cards .about-card:first-child .about-card-text,
  .about-top-cards .about-card:last-child .about-card-text{max-width:none}
}

/* OEB: a cited source, set apart by a rule rather than a coloured box. */
.about-oeb-badge{
  display:flex;align-items:center;gap:18px;
  background:none;border:0;border-bottom:1px solid #E4EDE9;
  border-radius:0;padding:0 0 20px;margin:0 0 22px;
}
.about-oeb-logo-wrap{padding:0;border:0;flex-shrink:0}
.about-oeb-mark{
  font-family:Georgia,'Times New Roman',serif;
  font-size:32px;font-weight:700;letter-spacing:1px;
  color:var(--green-dark,#0B4D38);
}
.about-oeb-name{
  font-size:13px;font-weight:400;color:#5A6A63;line-height:1.5;
  padding-left:18px;border-left:1px solid #E4EDE9;
}

.about-inline-link{
  margin-top:auto;padding-top:26px;
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--green-dark,#0B4D38);text-decoration:none;
}
.about-inline-link:hover{gap:12px}
.about-inline-link svg{width:14px;height:14px;transition:transform .2s ease}

@media(max-width:768px){
  .about-top-cards{gap:16px}
  .about-top-cards .about-card{padding:28px 24px 26px}
  .about-top-cards .about-card-title{font-size:22px;margin-bottom:18px}
  .about-top-cards .about-card-text{font-size:14.5px}
}

/* Icon medallion: solid dark-green disc, white glyph. */
.about-top-cards .about-card-icon{
  width:52px;height:52px;border-radius:50%;
  background:var(--green-dark,#0B4D38);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;margin:0 0 24px;box-shadow:none;
}
.about-top-cards .about-card-icon svg{width:24px;height:24px;stroke-width:1.8}
.about-top-cards .about-card-title{padding-top:0}
.about-top-cards .about-card-title:before{display:none}
@media(max-width:768px){
  .about-top-cards .about-card-icon{width:46px;height:46px;margin-bottom:18px}
  .about-top-cards .about-card-icon svg{width:22px;height:22px}
}

/* Icon medallion, pale disc, dark green glyph, matching the icon sheet.
   One size, one stroke weight, one colour across the whole page. */
.about-page .about-card-icon,
.about-page .about-card-icon.lg,
.about-page .about-vp-icon{
  background:#EEF4EF;
  color:var(--green-dark,#0B4D38);
  border-radius:50%;
  box-shadow:none;border:0;
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
.about-page .about-card-icon svg,
.about-page .about-vp-icon svg{
  stroke-width:1.7;color:var(--green-dark,#0B4D38);
}

.about-top-cards .about-card-icon{width:64px;height:64px;margin:0 0 26px}
.about-top-cards .about-card-icon svg{width:29px;height:29px}

.about-board-head .about-card-icon,
.about-verified-head .about-card-icon.lg{width:56px;height:56px;margin-bottom:0}
.about-board-head .about-card-icon svg,
.about-verified-head .about-card-icon.lg svg{width:26px;height:26px}

.about-page .about-vp-icon{width:52px;height:52px;margin:0 auto 12px}
.about-page .about-vp-icon svg{width:24px;height:24px}

@media(max-width:768px){
  .about-top-cards .about-card-icon{width:54px;height:54px;margin-bottom:18px}
  .about-top-cards .about-card-icon svg{width:25px;height:25px}
  .about-board-head .about-card-icon,
  .about-verified-head .about-card-icon.lg{width:48px;height:48px}
  .about-page .about-vp-icon{width:46px;height:46px}
}

/* --- My Company > Recent messages: row + avatar hardening --------------
   The avatar is an inline SVG now, so it needs explicit sizing and an
   explicit hover state, otherwise it inherits the row's hover repaint. --- */
.co-list-row{border-radius:10px;padding-left:9px;padding-right:9px;transition:background .15s ease}
.co-list-avatar{transition:none}
.co-list-avatar svg{width:18px;height:18px;display:block;stroke:currentColor;fill:none;flex-shrink:0}
.co-list-row:hover .co-list-avatar,
.co-list-row:focus-visible .co-list-avatar{background:var(--green-dark);color:#fff;opacity:1}
.co-list-row-unread:hover .co-list-avatar{background:#dc2626;color:#fff;opacity:1}
.co-list-main .co-list-subject{font-size:11.5px;color:var(--dark);font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-list-row:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}

/* ===========================================================
   Application detail, summary panel (v2)
   Compact review header matching the approved mock-up:
   breadcrumb bar, applicant head, two info cards, action bar.
   =========================================================== */
.appv2-shell{padding:0;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--white)}
.appv2-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.appv2-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.92rem}
.appv2-crumb-btn{background:none;border:0;cursor:pointer;color:var(--muted);display:inline-flex;
  align-items:center;gap:6px;padding:4px 6px;border-radius:8px;font:inherit}
.appv2-crumb-btn:hover{background:var(--mint);color:var(--green)}
.appv2-crumb-sep{color:#B9C9C1;display:inline-flex}
.appv2-crumb-cur{font-weight:700;color:var(--green)}
.appv2-status{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;
  font-size:.85rem;font-weight:700;border:1px solid var(--border);background:var(--bg);color:var(--muted)}
.appv2-status.pending{background:#FDECEC;border-color:#F6C9C9;color:#C0392B}
.appv2-status.approved{background:var(--mint);border-color:#BFDDCE;color:var(--green)}
.appv2-status.rejected{background:#F3F4F6;border-color:#E1E4E2;color:#5A6763}

.appv2-head{display:flex;gap:18px;align-items:flex-start;padding:22px 20px 6px}
.appv2-avatar{width:78px;height:78px;border-radius:16px;background:var(--mint);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:2.1rem;font-weight:800;
  flex-shrink:0;overflow:hidden}
.appv2-avatar img{width:100%;height:100%;object-fit:cover}
.appv2-head-main{min-width:0}
.appv2-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.appv2-title-row h1{margin:0;font-size:1.75rem;line-height:1.2;color:var(--dark);word-break:break-word}
.appv2-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;
  background:var(--mint);color:var(--green);font-size:.8rem;font-weight:700}
.appv2-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;
  color:var(--muted);font-size:.9rem}
.appv2-meta span{display:inline-flex;align-items:center;gap:6px}
.appv2-meta-sep{width:1px;height:16px;background:var(--border);display:inline-block}

.appv2-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 20px}
.appv2-card{border:1px solid var(--border);border-radius:14px;padding:18px 20px;background:var(--white)}
.appv2-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  padding-bottom:12px;margin-bottom:6px}
.appv2-card-head h3{margin:0;font-size:1.05rem;color:var(--dark);display:inline-flex;align-items:center;gap:8px;
  padding-bottom:10px;border-bottom:3px solid var(--green)}
.appv2-card-ic{width:34px;height:34px;border-radius:10px;background:var(--mint);color:var(--green);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.appv2-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0}
.appv2-row .lbl{color:var(--muted);font-size:.92rem}
.appv2-row .val{color:var(--dark);font-weight:600;text-align:right;word-break:break-word}
.appv2-row .val a{color:var(--green);text-decoration:none}
.appv2-row .val a:hover{text-decoration:underline}
.appv2-mini-btn{display:inline-flex;align-items:center;gap:6px;border:0;cursor:pointer;
  background:var(--mint);color:var(--green);font-weight:700;font-size:.85rem;
  padding:8px 14px;border-radius:10px;font-family:inherit}
.appv2-mini-btn:hover{background:#D6EBDF}

.appv2-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:18px 20px;border-top:1px solid var(--border);background:var(--bg)}
.appv2-foot-right{display:flex;gap:10px;flex-wrap:wrap}
.appv2-primary{display:inline-flex;align-items:center;gap:8px}
.appv2-danger{color:#C0392B;border-color:#F0C4C4}
.appv2-danger:hover{background:#FDECEC;border-color:#E45D5D}

@media (max-width:900px){
  .appv2-grid{grid-template-columns:1fr;padding:16px}
  .appv2-head{padding:18px 16px 4px;gap:14px}
  .appv2-avatar{width:58px;height:58px;font-size:1.5rem;border-radius:14px}
  .appv2-title-row h1{font-size:1.3rem}
  .appv2-bar,.appv2-foot{padding:14px 16px}
  .appv2-foot,.appv2-foot-right{flex-direction:column;align-items:stretch}
  .appv2-foot .btn{width:100%;justify-content:center}
  .appv2-meta-sep{display:none}
}

/* ===========================================================
   MOBILE HARDENING, final layer
   Appended last on purpose: several later "final matching"
   blocks re-declare desktop grid columns outside media queries
   and were winning over the earlier mobile rules, which forced
   two columns on a phone and made the page scroll sideways.
   Nothing here affects desktop (all rules are inside queries),
   except the horizontal-overflow guards which are safe at any
   width.
   =========================================================== */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%}
pre,code{overflow-x:auto;word-break:break-word}

@media(max-width:768px){
  /* No element may push the page wider than the screen */
  *{min-width:0}
  .section,.home-section,.about-page,.admin-content{max-width:100%}

  /* About page, back to a single column */
  .about-top,
  .about-top-cards,
  .about-mid,
  .about-verified-grid{grid-template-columns:1fr!important;gap:18px!important}
  .about-hero{padding:6px 0 0!important}
  .about-hero-title{font-size:clamp(28px,7.6vw,34px)!important;max-width:100%!important;letter-spacing:-.5px}
  .about-hero-text,.about-card-text{font-size:15px!important;max-width:100%!important}
  .about-card,.about-top-cards .about-card{padding:22px 18px!important;min-height:auto!important}
  .about-governance-row{grid-template-columns:36px 1fr!important}

  /* Generic two/three/four column grids used around the site */
  .admin-form-grid,
  .settings-fields.two-col,
  .company-kpi-grid,
  .company-admin-layout,
  .settings-grid,
  .apps-stat-row,
  .adm-app-card-panels,
  .home-about-structure,
  .home-about-points,
  .home-announcement-cards,
  .cmp-wrap,.cmp-grid2,
  .footer-grid,
  .adm-app-detail-layout,
  .appv2-grid{grid-template-columns:1fr!important}

  /* Wide tables scroll inside their own box, not the page */
  .company-table-scroll,.table-wrap,.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{max-width:100%}

  /* Comfortable reading + tap sizes */
  .section{padding:28px 16px}
  .card{border-radius:14px}
  .btn{min-height:44px}
}

@media(max-width:480px){
  .about-hero-title{font-size:clamp(26px,8vw,31px)!important}
  .section{padding:24px 14px}
}

/* ===== Launch-approved updates ===== */
.auth-route-progress{position:fixed;top:0;left:0;height:3px;width:0;background:#64b995;z-index:9999;opacity:0;transition:opacity .18s ease}.auth-route-progress.run{opacity:1;animation:authRouteProgress 1.4s ease forwards}@keyframes authRouteProgress{0%{width:0}65%{width:76%}100%{width:100%}}
.auth-inline-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:authSpin .7s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}
.auth-destination-enter{opacity:0;transform:translateY(8px)}.auth-destination-enter.auth-destination-visible{opacity:1;transform:none;transition:opacity .42s ease,transform .52s cubic-bezier(.16,1,.3,1)}
.admin-shell.admin-logout-fade{opacity:0;transform:translateY(-5px);filter:blur(2px);transition:opacity .32s ease,transform .42s ease,filter .32s ease}
.admin-logout-popover{position:fixed;right:22px;top:72px;width:300px;background:#fff;border:1px solid #d7e4de;border-radius:13px;box-shadow:0 18px 50px rgba(7,53,41,.2);padding:17px;z-index:10000;opacity:0;transform:translateY(-7px) scale(.98);transition:opacity .18s ease,transform .24s cubic-bezier(.16,1,.3,1)}.admin-logout-popover.open{opacity:1;transform:none}.admin-logout-popover h3{margin:0 0 6px;font-size:15px}.admin-logout-popover p{margin:0 0 15px;color:#687a74;font-size:12px;line-height:1.45}.admin-logout-actions{display:flex;justify-content:flex-end;gap:8px}.admin-logout-cancel,.admin-logout-confirm{border-radius:8px;padding:8px 12px;font-size:12px;font-weight:800}.admin-logout-cancel{border:1px solid #d7e4de;background:#fff}.admin-logout-confirm{border:0;background:#c84444;color:#fff;min-width:102px}

.admin-only-page{padding:0!important;min-height:100vh;background:#f5f9f7}.admin-top-header{height:70px;background:#064b3d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:120;border-bottom:1px solid rgba(255,255,255,.12)}.admin-top-brand{display:flex;align-items:center;gap:11px}.admin-top-mark{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-weight:900;background:#0c6854}.admin-top-brand strong{display:block;font-size:15px}.admin-top-brand span{display:block;font-size:10px;opacity:.7}.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-view-site,.admin-account-btn,.admin-top-logout{height:40px;border-radius:9px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;padding:0 14px;display:flex;align-items:center;gap:8px;font-weight:800}.admin-view-site:hover,.admin-account-btn:hover{background:rgba(255,255,255,.1)}.admin-top-logout:hover{background:rgba(200,68,68,.18);border-color:rgba(255,160,160,.45)}.admin-account-wrap{position:relative}.admin-account-menu{position:absolute;right:0;top:48px;width:250px;background:#fff;color:#1d3029;border:1px solid #d7e4de;border-radius:12px;padding:8px;box-shadow:0 18px 46px rgba(7,53,41,.2);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.22s}.admin-account-menu.open{opacity:1;transform:none;pointer-events:auto}.admin-account-summary{padding:10px;border-bottom:1px solid #e8efec}.admin-account-summary b,.admin-account-summary small{display:block}.admin-account-summary small{font-size:11px;color:#687a74;margin-top:3px;word-break:break-all}.admin-account-menu button{width:100%;border:0;background:transparent;text-align:left;padding:10px;border-radius:8px;display:flex;gap:9px;align-items:center}.admin-account-menu button:hover{background:#f1f7f4}.admin-account-menu button.danger{color:#c84444;font-weight:800}.admin-shell{min-height:calc(100vh - 70px)}

/* About Us approved realistic layout, no photos */
.about-realistic{max-width:1480px!important;padding:54px 28px 42px!important}.about-real-top{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:start}.about-real-hero{padding:20px 8px}.about-real-hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,72px);line-height:1.03;letter-spacing:-.035em;color:#0b4b3d;margin:16px 0 18px;max-width:690px}.about-real-hero>p{font-size:16px;line-height:1.72;color:#425b52;max-width:680px}.about-proof-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px}.about-proof-row>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:8px 14px;border-right:1px solid #dce7e1;color:#075746}.about-proof-row>div:last-child{border-right:0}.about-proof-row b{font-size:12px;color:#1b2f28}.about-real-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-real-card{background:#fff;border:1px solid #d9e5df;border-radius:15px;padding:27px;min-height:355px;box-shadow:0 10px 30px rgba(11,83,65,.05)}.about-real-icon{width:48px;height:48px;border-radius:50%;background:#edf6f1;color:#087057;display:grid;place-items:center;flex:none}.about-real-card h2,.about-panel-heading h2{font-family:Georgia,serif;color:#103e35;margin:16px 0 12px;font-size:25px}.about-real-card p{font-size:14px;line-height:1.7;color:#4c6159}.about-real-card a{display:inline-flex;gap:7px;align-items:center;color:#087057;font-size:13px;font-weight:800;text-decoration:none;margin-top:12px}.about-real-bottom{display:grid;grid-template-columns:1fr 1.12fr;gap:18px;margin-top:28px}.about-leadership-panel,.about-verified-panel{background:#fff;border:1px solid #d9e5df;border-radius:16px;padding:24px;box-shadow:0 12px 34px rgba(11,83,65,.06);overflow:hidden}.about-panel-heading{display:flex;gap:14px;align-items:flex-start}.about-panel-heading h2{margin:5px 0 5px}.about-panel-heading p{font-size:13px;color:#667a73;margin:0;line-height:1.55}.leadership-morph-stage{height:310px;position:relative;perspective:1200px;margin-top:12px;overflow:hidden}.leadership-morph-card{position:absolute;left:50%;top:50%;width:215px;height:220px;margin-left:-107px;margin-top:-110px;background:#fff;border:1px solid #d9e5df;border-radius:17px;padding:20px;text-align:center;box-shadow:0 15px 38px rgba(8,65,50,.12);transition:transform .68s cubic-bezier(.16,1,.3,1),opacity .48s ease,filter .48s ease;opacity:0}.lm-avatar{width:72px;height:72px;border-radius:50%;background:#edf6f1;color:#087057;display:grid;place-items:center;margin:0 auto 12px}.leadership-morph-card h3{font-family:Georgia,serif;font-size:20px;margin:0 0 5px}.leadership-morph-card>span{font-size:10px;font-weight:800;color:#087057;background:#edf6f1;border-radius:99px;padding:4px 8px}.leadership-morph-card p{font-size:11px;line-height:1.45;color:#667a73;margin:12px 0}.leadership-morph-card.pos-center{opacity:1;transform:translateX(0) scale(1);z-index:5}.leadership-morph-card.pos-left-1{opacity:.72;transform:translateX(-235px) scale(.85) rotateY(8deg)}.leadership-morph-card.pos-right-1{opacity:.72;transform:translateX(235px) scale(.85) rotateY(-8deg)}.leadership-morph-card.pos-left-2{opacity:.25;transform:translateX(-390px) scale(.7)}.leadership-morph-card.pos-right-2{opacity:.25;transform:translateX(390px) scale(.7)}.leadership-morph-dots{display:flex;justify-content:center;gap:8px}.lm-dot{width:9px;height:9px;border:0;border-radius:50%;background:#d5e1db;padding:0}.lm-dot.active{background:#087057}.about-real-verified-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #dce7e1;margin-top:24px;padding-top:22px}.about-real-verified-grid>div{text-align:center;padding:8px 14px;border-right:1px solid #dce7e1}.about-real-verified-grid>div:last-child{border-right:0}.about-real-verified-grid .about-real-icon{margin:0 auto 10px}.about-real-verified-grid b{display:block;font-size:13px}.about-real-verified-grid span{display:block;font-size:11px;color:#667a73;line-height:1.45;margin-top:5px}.about-real-focus{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#f1f7f4;border:1px solid #d9e5df;border-radius:14px;padding:14px 18px;margin-top:20px}.about-real-focus>div{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:700;color:#28443a}.about-real-focus .btn{white-space:nowrap}
@media(max-width:1100px){.about-real-top,.about-real-bottom{grid-template-columns:1fr}.about-real-cards{grid-template-columns:1fr 1fr}.admin-top-actions span{display:none}.admin-view-site,.admin-account-btn,.admin-top-logout{padding:0 11px}}@media(max-width:760px){.about-realistic{padding:28px 14px!important}.about-real-cards{grid-template-columns:1fr}.about-proof-row,.about-real-verified-grid{grid-template-columns:1fr 1fr}.about-proof-row>div:nth-child(2),.about-real-verified-grid>div:nth-child(2){border-right:0}.leadership-morph-card.pos-left-1{transform:translateX(-175px) scale(.78)}.leadership-morph-card.pos-right-1{transform:translateX(175px) scale(.78)}.leadership-morph-card.pos-left-2,.leadership-morph-card.pos-right-2{opacity:0}.about-real-focus{flex-direction:column;text-align:center}.admin-top-header{padding:0 12px}.admin-top-brand strong{font-size:13px}.admin-top-brand span{display:none}}


/* ═══════════════════════════════════════════════════════════════
   ADMIN LAUNCH REDESIGN — approved visual system, real data only
   ═══════════════════════════════════════════════════════════════ */
:root{--admin-green:#075746;--admin-green-2:#0b8458;--admin-active:#0b7b53;--admin-soft:#eaf5ef;--admin-bg:#f5f8f6;--admin-line:#d9e5df;--admin-shadow:0 10px 28px rgba(8,65,50,.07)}
.admin-only-page{background:var(--admin-bg)!important}
.admin-shell{display:block!important;min-height:100vh!important;padding-top:70px!important;background:var(--admin-bg)!important}
.admin-top-header{position:fixed!important;inset:0 0 auto 0!important;width:100%!important;height:70px!important;z-index:140!important;background:linear-gradient(90deg,#064b3d,#075746)!important;padding:0 18px!important}
.admin-top-brand{min-width:250px}.admin-top-actions{margin-left:auto}.admin-account-avatar{width:28px;height:28px;border-radius:50%;background:#eaf5ef;color:#075746;display:grid;place-items:center;font-size:11px;font-weight:900}
.admin-attention-btn{position:relative;width:40px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:transparent;color:#fff;display:grid;place-items:center}.admin-attention-btn span{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;border-radius:999px;background:#c83d43;color:#fff;border:2px solid #075746;font-size:9px;font-weight:900;display:grid;place-items:center;padding:0 4px}
.admin-sidebar-fixed{top:70px!important;width:250px!important;height:calc(100vh - 70px)!important;background:linear-gradient(180deg,#064438,#075746)!important;box-shadow:8px 0 26px rgba(5,57,44,.08)!important;padding-bottom:12px!important}
.admin-sb-brand{padding:18px 16px 14px!important}.admin-sb-brand .mark{background:#fff!important;color:#075746!important;width:46px!important;height:46px!important}.admin-sb-nav{padding:8px 13px!important;gap:6px!important}.admin-sb-item{height:46px!important;border-radius:10px!important;padding:0 13px!important;color:rgba(255,255,255,.9)!important}.admin-sb-item.active{background:var(--admin-active)!important;color:#fff!important;box-shadow:0 8px 20px rgba(0,0,0,.14)!important}.admin-sb-item .cnt{background:rgba(255,255,255,.15)!important;color:#fff!important}.admin-sb-profile{margin:0 13px 4px!important;border-radius:12px!important}
.admin-content{margin-left:250px!important;width:calc(100% - 250px)!important;padding:28px 30px 64px!important;min-height:calc(100vh - 70px)!important;font-size:14px!important}.admin-content>*,.admin-content .section{max-width:1500px;margin-left:auto;margin-right:auto}.admin-content .section{padding:0!important}
.admin-head,.admin-page-head-premium,.dash-overview-head{margin-bottom:22px!important}.admin-head h1,.admin-page-head-premium h1,.dash-overview-head h1{font-size:27px!important;letter-spacing:-.025em!important;color:#10241f!important}.admin-head .sub,.admin-page-head-premium .sub,.dash-overview-head .sub{font-size:13px!important;color:#667a73!important}.admin-simple-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.admin-toolbar input,.admin-toolbar select,.admin-search-input,.company-filter-bar select,.cx-toolbar select,.cx-toolbar input{height:42px!important;border:1px solid var(--admin-line)!important;border-radius:9px!important;background:#fff!important}.btn{border-radius:9px!important;font-weight:750!important}.admin-action-primary{background:#0a8d5d!important;border-color:#0a8d5d!important;box-shadow:0 7px 18px rgba(10,141,93,.17)!important}.admin-action-primary:hover{background:#08784f!important}
.card,.ov-card,.ov-panel,.company-kpi,.company-filter-bar,.company-table-card,.settings-card,.cx-summary-card,.cx-toolbar,.admin-table-card,.admin-records-card,.admin-compose-card,.admin-live-preview,.admin-messages-frame{border:1px solid var(--admin-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--admin-shadow)!important}

/* Dashboard */
.dash-overview-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important}.dash-overview-head-main .eyebrow{font-size:11px!important;letter-spacing:.08em!important}.dash-overview-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ov-cards-5{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}.ov-card{padding:17px!important;min-height:122px!important}.ov-card .top{margin-bottom:13px!important}.ov-card .val{font-size:28px!important}.ov-dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr)!important;gap:16px!important}.ov-span-2{grid-column:auto!important}.ov-dashboard-grid>.ov-panel:nth-child(1),.ov-dashboard-grid>.ov-panel:nth-child(3),.ov-dashboard-grid>.ov-messages-card{grid-column:1!important}.ov-dashboard-grid>.ov-panel:nth-child(2),.ov-dashboard-grid>.ov-panel:nth-child(4),.ov-dashboard-grid>.ov-panel:nth-child(6){grid-column:2!important}.ov-dashboard-grid>.ov-messages-card{display:none!important}.ov-panel{padding:20px!important}.ov-apps-table td{padding:12px 8px!important}.ov-quick-actions-list{gap:8px!important}

/* Applications */
.apps-stat-row-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}.apps-stat-row-3 .apps-stat-card{appearance:none;text-align:left;cursor:pointer;min-height:120px;border-radius:14px!important;box-shadow:var(--admin-shadow);transition:.18s ease}.apps-stat-row-3 .apps-stat-card:hover{transform:translateY(-2px);border-color:var(--stat-accent)}.apps-stat-card .val{font-size:28px!important}.admin-application-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--admin-line);margin-bottom:14px}.admin-application-tabs .admin-result-count{margin-left:auto}.admin-table-card{overflow:hidden}.admin-table-scroll{overflow-x:auto}.admin-data-table{width:100%;border-collapse:collapse;font-size:13px}.admin-data-table th{padding:13px 14px;text-align:left;background:#fbfcfb;border-bottom:1px solid var(--admin-line);font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#61736b}.admin-data-table td{padding:14px;border-bottom:1px solid #edf2ef;vertical-align:middle}.admin-data-table tr:last-child td{border-bottom:0}.admin-data-table tbody tr:hover{background:#f8fbf9}.admin-company-cell{display:flex;align-items:center;gap:10px}.admin-company-avatar{width:38px;height:38px;border-radius:10px;background:var(--admin-soft);color:var(--admin-green);display:grid;place-items:center;font-weight:850;text-transform:uppercase}.admin-company-cell small,.table-sub{display:block;color:var(--muted);font-size:11px;margin-top:3px}.admin-compact-empty{text-align:center;padding:54px 24px;color:var(--muted)}.admin-compact-empty.small{padding:22px 14px}.admin-empty-icon{width:58px;height:58px;border-radius:50%;background:var(--admin-soft);color:var(--admin-green);display:grid;place-items:center;margin:0 auto 13px}.admin-compact-empty h3{color:var(--dark);font-size:17px;margin-bottom:6px}.admin-compact-empty p{font-size:13px}

/* Companies */
.company-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}.company-kpi{min-height:104px!important;padding:17px!important}.company-filter-bar{display:flex!important;align-items:end!important;gap:14px!important;padding:16px!important;margin-bottom:16px!important}.company-filter-bar label{min-width:190px!important}.company-table-card{overflow:hidden!important}.company-admin-layout{display:block!important}.company-premium-table th,.company-premium-table td{padding:14px!important}.company-drawer-backdrop{position:fixed;inset:70px 0 0 250px;background:rgba(5,40,31,.18);backdrop-filter:blur(1px);z-index:95}.company-detail-drawer{position:fixed!important;right:0!important;top:70px!important;bottom:0!important;width:min(410px,calc(100vw - 20px))!important;height:auto!important;z-index:100!important;border-radius:0!important;border-left:1px solid var(--admin-line)!important;box-shadow:-18px 0 45px rgba(5,51,39,.18)!important;overflow-y:auto!important;background:#fff!important;animation:adminDrawerIn .28s cubic-bezier(.16,1,.3,1)}@keyframes adminDrawerIn{from{transform:translateX(100%)}to{transform:none}}.company-detail-tabs{position:sticky;top:0;background:#fff;z-index:2}.company-service-chips{display:flex;flex-wrap:wrap;gap:8px}.company-service-chips span{padding:6px 9px;border-radius:999px;background:var(--admin-soft);color:var(--admin-green);font-size:12px;font-weight:750}

/* Announcements and Offers */
.news-compose-grid,.admin-compose-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:18px!important;align-items:start!important}.news-side-col,.admin-live-preview{position:sticky!important;top:92px!important}.news-compose-grid>.card,.admin-compose-card{padding:21px!important}.news-form-row2,.admin-form-grid.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-form-grid .full{grid-column:1/-1}.admin-rich-editor{border:1px solid var(--admin-line);border-radius:10px;overflow:hidden}.admin-editor-toolbar{height:42px;display:flex;align-items:center;gap:4px;padding:5px 8px;background:#fbfcfb;border-bottom:1px solid var(--admin-line)}.admin-editor-toolbar button{border:0;background:transparent;border-radius:6px;min-width:30px;height:30px}.admin-editor-toolbar button:hover{background:var(--admin-soft)}.admin-rich-editor textarea{border:0!important;border-radius:0!important;box-shadow:none!important;width:100%;resize:vertical}.admin-upload-zone{width:100%;min-height:84px;border:1px dashed #aebfb7;border-radius:10px;background:#fbfcfb;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:var(--muted)}.admin-upload-zone b{color:var(--dark)}.admin-upload-zone span{font-size:11px}.admin-form-sticky-actions{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:17px!important}.admin-form-sticky-actions .admin-action-primary{margin-left:auto}.form-help{display:block;color:var(--muted);margin-top:9px}.admin-live-preview{padding:18px!important}.preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.preview-head h2,.admin-compose-card h2,.admin-records-head h2{font-size:16px;margin:0}.preview-head span,.preview-badge{font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px;background:var(--admin-soft);color:var(--admin-green)}.offer-preview-image{height:200px;border-radius:10px 10px 0 0;background:linear-gradient(135deg,#edf4f0,#f9fbfa);display:grid;place-items:center;color:#71837b;overflow:hidden}.offer-preview-image img{width:100%;height:100%;object-fit:cover}.offer-preview-body{padding:17px;border:1px solid var(--admin-line);border-top:0;border-radius:0 0 10px 10px}.offer-preview-body h3{font-size:20px;margin:10px 0 7px}.offer-preview-body p{font-size:13px;color:var(--muted);line-height:1.5}.admin-records-card{margin-top:18px;overflow:hidden}.admin-records-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--admin-line)}

/* Complaints */
.cx-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}.cx-summary-card{padding:16px!important;min-height:110px!important}.cx-toolbar{padding:14px!important}.cx-toolbar-row{gap:10px!important}.cx-toolbar-row:first-child .admin-search-input{flex:1!important}.apps-empty-state{padding:46px 20px!important;background:#fff!important}.btn[disabled]{opacity:.48!important;cursor:not-allowed!important;pointer-events:none!important}

/* Messages — retain functionality, tidy the original layout */
.admin-messages-frame{padding:0!important;overflow:hidden!important;min-height:680px!important}.admin-messages-mount{height:calc(100vh - 175px)!important;min-height:650px!important;background:#fff!important}.admin-messages-mount .msg-shell,.admin-messages-mount .messaging-shell{border:0!important;border-radius:0!important;box-shadow:none!important;height:100%!important}.admin-messages-mount input,.admin-messages-mount textarea{font-size:14px!important}

/* Settings */
.premium-settings-page .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.settings-card{padding:20px!important}.settings-card-head{margin-bottom:17px!important}.settings-card h2{font-size:16px!important}.settings-fields input,.settings-fields select{height:42px!important}.settings-save-btn{margin-top:16px!important}.settings-security-note{background:var(--admin-soft)!important}

/* Common overflow menus */
.admin-overflow-menu{position:relative;display:inline-block}.admin-overflow-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--admin-line);background:#fff;display:grid;place-items:center}.admin-overflow-list{position:absolute;right:0;top:39px;min-width:170px;background:#fff;border:1px solid var(--admin-line);border-radius:10px;padding:6px;box-shadow:0 16px 34px rgba(7,55,42,.15);display:none;z-index:30}.admin-overflow-menu.open .admin-overflow-list{display:block}.admin-overflow-list button{width:100%;border:0;background:transparent;text-align:left;padding:9px;border-radius:7px;display:flex;align-items:center;gap:8px}.admin-overflow-list button:hover{background:#f1f7f4}.admin-overflow-list .danger{color:#c64242}

@media(max-width:1250px){.ov-cards-5{grid-template-columns:repeat(3,1fr)!important}.ov-dashboard-grid{grid-template-columns:1fr!important}.ov-dashboard-grid>*{grid-column:1!important}.news-compose-grid,.admin-compose-layout{grid-template-columns:1fr!important}.news-side-col,.admin-live-preview{position:static!important}.company-kpi-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:900px){.admin-top-brand div:last-child{display:none}.admin-sidebar-fixed{width:220px!important}.admin-content{margin-left:220px!important;width:calc(100% - 220px)!important;padding:24px 18px 60px!important}.company-drawer-backdrop{left:220px}.apps-stat-row-3,.cx-summary{grid-template-columns:1fr!important}.premium-settings-page .settings-grid{grid-template-columns:1fr!important}.news-form-row2,.admin-form-grid.two-col{grid-template-columns:1fr!important}.admin-form-grid .full{grid-column:auto}}
@media(max-width:768px){.admin-shell{padding-top:58px!important}.admin-top-header{display:none!important}.admin-sidebar-fixed{top:0!important;height:100vh!important}.admin-content{margin-left:0!important;width:100%!important;padding:18px 14px 92px!important}.company-drawer-backdrop{inset:0}.company-detail-drawer{top:0!important;width:100%!important}.ov-cards-5,.company-kpi-grid{grid-template-columns:1fr 1fr!important}.dash-overview-head{display:block!important}.dash-overview-actions{margin-top:14px}.admin-toolbar{width:100%}.admin-toolbar input,.admin-toolbar select{width:100%}.admin-messages-mount{height:calc(100vh - 175px)!important}}
@media(max-width:520px){.ov-cards-5,.company-kpi-grid{grid-template-columns:1fr!important}.admin-content{font-size:14px!important}.admin-head h1,.admin-page-head-premium h1,.dash-overview-head h1{font-size:23px!important}.admin-data-table{min-width:760px}.company-filter-bar{align-items:stretch!important;flex-direction:column!important}.company-filter-bar label{min-width:0!important}}

/* Public home Join card: keep its intended dark association styling.
   This override must remain after the admin redesign rules, because the
   admin card normalization uses !important and should not affect public UI. */
body:not(.admin-only-page) .home-join-card,
.home-join-card {
  background:linear-gradient(160deg,#123f2f 0%,#0B3B30 100%) !important;
  border-color:#0B3B30 !important;
  color:#e6efe9 !important;
  box-shadow:0 14px 34px rgba(11,59,48,.16) !important;
}
body:not(.admin-only-page) .home-join-card h3,
.home-join-card h3 {
  color:#ffffff !important;
}
body:not(.admin-only-page) .home-join-card p,
.home-join-card p {
  color:#d4e1da !important;
  opacity:1 !important;
}
body:not(.admin-only-page) .home-join-card .home-join-trust,
.home-join-card .home-join-trust {
  color:#c8d7cf !important;
  opacity:1 !important;
}
body:not(.admin-only-page) .home-join-card .home-join-icon,
.home-join-card .home-join-icon {
  color:var(--gold-real) !important;
  opacity:1 !important;
}
body:not(.admin-only-page) .home-join-card .btn-gold,
.home-join-card .btn-gold {
  background:var(--gold-real) !important;
  color:#2A2411 !important;
  border-color:var(--gold-real) !important;
  opacity:1 !important;
}
