/* ══ AskAServer.AI Tokens ══ */
:root {
  --c-bg:#f5f7fa; --c-surface:#fff; --c-surface2:#edf0f5; --c-border:#d4dae3; --c-divider:#e5e9f0;
  --c-text:#0f172a; --c-muted:#64748b; --c-faint:#94a3b8; --c-inverse:#fff;
  --c-navy:#1B2D4F; --c-navy-l:#243D6A; --c-navy-d:#0A1628;
  --c-gold:#C49A28; --c-gold-l:#FFF0A0; --c-gold-h:#F0D060;
  --c-err:#dc2626; --c-ok:#16a34a;
  --r-sm:4px; --r-md:6px; --r-lg:10px; --r-xl:14px; --r-full:9999px;
  --sh-sm:0 1px 2px rgba(15,43,76,.06); --sh-md:0 4px 12px rgba(15,43,76,.08); --sh-lg:0 12px 32px rgba(15,43,76,.12);
  --ease:cubic-bezier(.16,1,.3,1);
}

/* ══ Views ══ */
.view{display:none}.view.active{display:block}

/* ══ Home ══ */
.home-hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-divider)}
.home-hdr-inner{max-width:1100px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between}
.logo-g{display:flex;align-items:center;gap:8px}
.logo-img{width:34px;height:34px;border-radius:var(--r-md)}
.logo-img-s{width:26px;height:26px}
.logo-t{font-size:15px;font-weight:700;color:var(--c-navy);letter-spacing:-.02em}
.logo-t-s{font-size:13px}
.logo-d{color:var(--c-gold)}
.home-nav{display:flex;gap:8px;align-items:center}

.hero{max-width:720px;margin:0 auto;padding:64px 24px 48px;text-align:center}
.hero-badge{display:inline-block;padding:3px 12px;background:var(--c-gold-l);color:var(--c-navy);font-size:11px;font-weight:600;border-radius:var(--r-full);margin-bottom:16px;letter-spacing:.03em}
.hero h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--c-navy);line-height:1.1;margin-bottom:14px;letter-spacing:-.03em}
.hero h1 span{color:var(--c-navy);background:linear-gradient(to right,var(--c-gold),var(--c-gold)) no-repeat left bottom;background-size:100% 3px;padding-bottom:2px}
.hero>p{font-size:15px;color:var(--c-muted);max-width:500px;margin:0 auto 32px}
.hero-wrap{position:relative;max-width:560px;margin:0 auto 20px}
.hero-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--c-faint);pointer-events:none}
.hero-in{width:100%;padding:14px 48px 14px 44px;font-size:14px;border:2px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-surface);transition:border-color .2s var(--ease)}
.hero-in:focus{outline:none;border-color:var(--c-navy);box-shadow:0 0 0 4px rgba(15,43,76,.1)}
.hero-go{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--c-navy);color:#fff;border-radius:var(--r-lg);transition:background .2s var(--ease)}
.hero-go:hover{background:var(--c-navy-l)}

.hero-ex{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}
.hero-ex-l{font-size:11px;color:var(--c-faint)}
.hero-ch{font-size:11px;padding:4px 10px;border:1px solid var(--c-border);border-radius:var(--r-full);color:var(--c-muted);background:var(--c-surface);transition:all .2s var(--ease)}
.hero-ch:hover{border-color:var(--c-navy);color:var(--c-navy)}

.feat{max-width:960px;margin:0 auto;padding:0 24px 64px}
.feat-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat-c{background:var(--c-surface);border:1px solid var(--c-divider);border-top:3px solid var(--c-navy);border-radius:var(--r-lg);padding:24px;text-align:center;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.feat-c:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.feat-ic{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--c-navy);color:#fff;border-radius:var(--r-lg);margin:0 auto 12px}
.feat-c h3{font-size:13px;font-weight:600;color:var(--c-navy);margin-bottom:6px}
.feat-c p{font-size:12px;color:var(--c-muted);line-height:1.5;margin:0 auto}

.home-ft{text-align:center;padding:20px 24px;border-top:1px solid var(--c-divider);font-size:11px;color:var(--c-faint);display:flex;flex-direction:column;align-items:center;gap:10px}
.home-ft p,.home-ft a{margin:0}
.home-ft a{color:var(--c-faint);text-decoration:none}.home-ft a:hover{text-decoration:underline}
/* ══ Banner Logo ══ */
.logo-banner{height:42px;width:auto}
.footer-banner{height:28px;width:auto}
@media(max-width:768px){
  .logo-banner{height:32px}
  .footer-banner{height:22px}
}

/* ══ Buttons ══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;border-radius:var(--r-md);transition:all .18s var(--ease);white-space:nowrap;border:none;cursor:pointer}
.btn-p{background:var(--c-navy);color:#fff}.btn-p:hover{background:var(--c-navy-l)}
.btn-g{background:transparent;color:var(--c-muted)}.btn-g:hover{color:var(--c-text);background:var(--c-surface2)}
.btn-d{background:var(--c-err);color:#fff}.btn-d:hover{background:#b91c1c}
.btn-full{width:100%;padding:10px 14px}
.btn-s{font-size:11px;padding:4px 10px}
.btn-ic{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--c-muted);transition:all .18s var(--ease)}
.btn-ic:hover{background:var(--c-surface2);color:var(--c-text)}

/* ══ Modal ══ */
.modal{position:fixed;inset:0;z-index:100;background:rgba(15,43,76,.45);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}
.modal.open{display:flex}
.modal-c{background:var(--c-surface);border-radius:var(--r-xl);padding:32px;width:100%;max-width:380px;position:relative;box-shadow:var(--sh-lg);animation:slideUp .3s var(--ease)}
.modal-x{position:absolute;top:10px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--c-faint);border-radius:var(--r-md)}
.modal-x:hover{background:var(--c-surface2);color:var(--c-text)}
.modal-logo{width:48px;height:48px;border-radius:var(--r-lg);margin:0 auto 14px}
.modal-c h2{font-size:18px;font-weight:700;color:var(--c-navy);text-align:center;margin-bottom:4px}
.modal-sub{font-size:12px;color:var(--c-muted);text-align:center;margin-bottom:20px}
.modal-sw{font-size:11px;color:var(--c-muted);text-align:center;margin-top:14px}
.modal-sw a{color:var(--c-navy);font-weight:600;text-decoration:none;cursor:pointer}.modal-sw a:hover{text-decoration:underline}

.fg{margin-bottom:14px}
.fg label{display:block;font-size:11px;font-weight:600;color:var(--c-text);margin-bottom:4px}
.fg input,.fg textarea,.fg select{width:100%;padding:8px 10px;font-size:13px;border:1.5px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg);transition:border-color .18s var(--ease)}
.fg input:focus,.fg textarea:focus,.fg select:focus{outline:none;border-color:var(--c-navy);box-shadow:0 0 0 3px rgba(15,43,76,.08)}
.f-err{font-size:11px;color:var(--c-err);padding:8px 10px;background:#fef2f2;border-radius:var(--r-md);margin-bottom:10px;display:none}

.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}

/* ══ Chat ══ */
.chat-lay{display:grid;grid-template-columns:260px 1fr;height:100dvh;overflow:hidden}
.c-side{background:var(--c-navy);color:#fff;display:flex;flex-direction:column;overflow:hidden}
.c-side-hd{display:flex;align-items:center;justify-content:center;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-banner{height:36px;width:auto;display:block;max-width:100%}
.c-new{display:flex;align-items:center;gap:6px;margin:10px 10px 6px;padding:8px 10px;font-size:13px;font-weight:500;color:#fff;background:rgba(255,255,255,.1);border:1px dashed rgba(255,255,255,.25);border-radius:var(--r-md);cursor:pointer;transition:all .18s var(--ease)}
.c-new:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4)}
.c-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:6px 10px}
.c-list::-webkit-scrollbar{width:3px}.c-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:2px}
.c-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;font-size:11px;color:rgba(255,255,255,.65);border-radius:var(--r-md);cursor:pointer;transition:all .18s var(--ease);margin-bottom:1px;text-align:left;width:100%;border:none;background:transparent}
.c-item:hover{background:rgba(255,255,255,.1);color:#fff}.c-item.active{background:rgba(255,255,255,.14);color:#fff}
.c-item-t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-item-x{opacity:0;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:rgba(255,255,255,.4);font-size:12px}.c-item:hover .c-item-x{opacity:1}.c-item-x:hover{background:rgba(255,255,255,.15);color:#fff}
.c-side-ft{border-top:1px solid rgba(255,255,255,.1);padding:10px 10px;display:flex;flex-direction:column;gap:6px}

/* Feedback CTA Button (light blue) */
.fb-btn-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;color:#0A1628;background:#B3D4FC;border:none;border-radius:var(--r-md);cursor:pointer;transition:all .18s var(--ease);width:100%;letter-spacing:.01em}
.fb-btn-cta:hover{background:var(--c-navy);color:#fff;box-shadow:0 2px 8px rgba(27,45,79,.35)}
.fb-btn-cta:hover svg{opacity:1}
.fb-btn-cta svg{flex-shrink:0;opacity:.85}

/* Sidebar nav links */
.c-side-links{display:flex;flex-direction:column;gap:1px}
.c-side-link{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:11px;font-weight:500;color:rgba(255,255,255,.55);background:transparent;border:none;border-radius:var(--r-md);cursor:pointer;transition:all .18s var(--ease);width:100%;text-align:left}
.c-side-link:hover{color:#fff;background:rgba(255,255,255,.1)}
.c-side-link svg{flex-shrink:0;opacity:.7}
.c-side-link:hover svg{opacity:1}

/* Logout row: Logout + email + arrow */
.c-side-logout{display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:6px 8px;border:none;background:transparent;border-radius:var(--r-md);cursor:pointer;transition:all .18s var(--ease);width:100%;border-top:1px solid rgba(255,255,255,.08);margin-top:2px;padding-top:8px}
.c-side-logout:hover{background:rgba(255,255,255,.08)}
.c-side-logout svg{flex-shrink:0;color:rgba(255,255,255,.4);transition:color .18s}
.c-side-logout:hover svg{color:#fff}
.c-side-email{font-size:11px;color:rgba(255,255,255,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.c-side-logout-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:rgba(255,255,255,.7)}
.c-side-logout:hover .c-side-logout-label{color:#fff}

.sb-tog{display:none;position:fixed;top:10px;left:10px;z-index:60;width:36px;height:36px;align-items:center;justify-content:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-sm);color:var(--c-text)}
.sb-ov{display:none;position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.35)}.sb-ov.on{display:block}

.c-main{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--c-bg)}
.c-msgs{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px 16px}
.c-msgs::-webkit-scrollbar{width:5px}.c-msgs::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:3px}

.c-welcome{text-align:center;padding:48px 16px;max-width:560px;margin:0 auto}
.c-welcome img{width:56px;height:56px;border-radius:var(--r-lg);margin:0 auto 14px}
.c-welcome h2{font-size:18px;font-weight:700;color:var(--c-navy);margin-bottom:6px}
.c-welcome>p{font-size:13px;color:var(--c-muted);margin:0 auto 20px}
.w-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.w-chip{font-size:11px;padding:7px 12px;border:1px solid var(--c-border);border-radius:var(--r-lg);color:var(--c-muted);background:var(--c-surface);cursor:pointer;transition:all .18s var(--ease);text-align:left;max-width:260px}
.w-chip:hover{border-color:var(--c-navy);color:var(--c-navy);box-shadow:var(--sh-sm)}

.m-row{display:flex;gap:10px;margin-bottom:14px;max-width:760px;margin-left:auto;margin-right:auto;animation:fadeIn .3s ease-out}
.m-row.user{justify-content:flex-end}
.m-av{width:28px;height:28px;border-radius:var(--r-full);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.m-row.assistant .m-av{background:var(--c-navy);color:#fff}
.m-row.user .m-av{background:var(--c-gold);color:#fff;order:1}
.m-bub{padding:10px 14px;border-radius:var(--r-lg);font-size:13px;line-height:1.65;max-width:72%}
.m-row.assistant .m-bub{background:var(--c-surface);border:1px solid var(--c-divider);color:var(--c-text)}
.m-row.user .m-bub{background:var(--c-navy);color:#fff}
.m-bub h3{font-size:13px;font-weight:600;margin:10px 0 4px}.m-bub h3:first-child{margin-top:0}
.m-bub ul,.m-bub ol{margin:6px 0;padding-left:18px}.m-bub li{margin-bottom:3px}
.m-bub p{margin-bottom:6px}.m-bub p:last-child{margin-bottom:0}
.m-bub strong{font-weight:600}
.m-bub code{font-size:.85em;background:var(--c-surface2);padding:1px 4px;border-radius:var(--r-sm)}

.dir-cards{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.dir-card{display:flex;align-items:center;gap:10px;padding:10px;background:var(--c-bg);border:1px solid var(--c-divider);border-radius:var(--r-md);transition:all .18s var(--ease)}
.dir-card:hover{border-color:var(--c-navy);box-shadow:var(--sh-sm)}
.dir-ic{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--c-navy);color:var(--c-gold);border-radius:var(--r-md);flex-shrink:0}
.dir-info{flex:1;min-width:0}
.dir-name{font-size:13px;font-weight:600;color:var(--c-navy);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dir-name:hover{color:var(--c-navy-l);text-decoration:underline}
.dir-meta{font-size:11px;color:var(--c-muted)}
.dir-meta a{color:var(--c-navy);text-decoration:none;font-weight:500}
.dir-badge{font-size:9px;font-weight:700;padding:2px 6px;background:var(--c-gold-l);color:var(--c-navy);border-radius:var(--r-full);letter-spacing:.04em;flex-shrink:0}

/* Featured / National Provider card */
.dir-featured{border:1px solid var(--c-gold);background:linear-gradient(135deg,#fffbf0,#fff);box-shadow:0 2px 8px rgba(200,153,46,.1)}
.dir-featured:hover{border-color:var(--c-gold-h);box-shadow:0 4px 16px rgba(200,153,46,.15)}
.dir-feat-ic{background:var(--c-gold)!important;color:#fff!important}
.feat-badge{background:var(--c-gold);color:#fff;font-size:9px;font-weight:700;padding:3px 8px;border-radius:var(--r-full);letter-spacing:.04em;white-space:nowrap}
.feat-link{color:var(--c-navy)!important;font-weight:700}.feat-link:hover{color:var(--c-navy-l)!important}
.dir-logo{width:36px;height:36px;border-radius:var(--r-md);object-fit:contain;flex-shrink:0;background:var(--c-surface)}

/* MPS Verified badge */
.mps-badge{display:inline-flex;align-items:center;gap:3px;background:var(--c-gold-l);color:var(--c-navy)}
.mps-logo{width:12px;height:12px;border-radius:2px;flex-shrink:0}

/* NW badge in admin */
.n-badge.nw-badge{background:#2563eb;color:#fff;font-size:9px;padding:2px 8px}

.typing{display:flex;gap:3px;padding:6px}
.typing-d{width:5px;height:5px;background:var(--c-faint);border-radius:50%;animation:bounce 1.4s infinite}
.typing-d:nth-child(2){animation-delay:.2s}.typing-d:nth-child(3){animation-delay:.4s}

.c-input{border-top:1px solid var(--c-divider);padding:14px 14px 10px;background:var(--c-surface)}
.c-input-w{max-width:760px;margin:0 auto;display:flex;align-items:flex-end;gap:6px;background:var(--c-bg);border:1.5px solid var(--c-border);border-radius:var(--r-lg);padding:6px 6px 6px 14px;transition:border-color .18s var(--ease)}
.c-input-w:focus-within{border-color:var(--c-navy);box-shadow:0 0 0 3px rgba(15,43,76,.08)}
.c-ta{flex:1;border:none;background:transparent;font-size:13px;resize:none;max-height:100px;line-height:1.5;padding:4px 0}.c-ta:focus{outline:none}.c-ta::placeholder{color:var(--c-faint)}
.c-send{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--c-navy);color:#fff;border-radius:var(--r-md);flex-shrink:0;transition:background .18s var(--ease)}.c-send:hover{background:var(--c-navy-l)}.c-send:disabled{opacity:.4;cursor:not-allowed}
.c-disc{font-size:10px;color:var(--c-faint);text-align:center;margin-top:6px}

/* ══ Admin ══ */
.adm-lay{display:flex;flex-direction:column;height:100dvh;overflow:hidden}
.adm-hdr{background:var(--c-navy);color:#fff;padding:10px 24px;display:flex;align-items:center;gap:20px;flex-shrink:0;overflow-x:auto}
.adm-hdr-l{display:flex;align-items:center;gap:10px;flex-shrink:0}
.adm-hdr-l .btn-ic{color:rgba(255,255,255,.7)}.adm-hdr-l .btn-ic:hover{color:#fff;background:rgba(255,255,255,.1)}
.adm-hdr-l .logo-t{color:#fff}
.adm-tabs{display:flex;gap:3px;flex-shrink:0}
.adm-tab{padding:6px 10px;font-size:11px;font-weight:500;color:rgba(255,255,255,.55);border-radius:var(--r-md);transition:all .18s var(--ease);white-space:nowrap}
.adm-tab:hover{color:#fff;background:rgba(255,255,255,.1)}.adm-tab.on{color:#fff;background:rgba(255,255,255,.14)}

.adm-main{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px;background:var(--c-bg)}
.adm-pan{display:none}.adm-pan.on{display:block}

.kpi-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.kpi{background:var(--c-surface);border:1px solid var(--c-divider);border-radius:var(--r-lg);padding:18px}
.kpi-l{font-size:10px;font-weight:600;color:var(--c-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.kpi-v{font-size:28px;font-weight:700;color:var(--c-navy);font-variant-numeric:tabular-nums lining-nums}

.adm-card{background:var(--c-surface);border:1px solid var(--c-divider);border-radius:var(--r-lg);padding:18px;margin-bottom:14px}
.adm-card h3{font-size:13px;font-weight:600;color:var(--c-navy)}
.card-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.card-act{display:flex;align-items:center;gap:6px}

.in-form{padding:14px;background:var(--c-surface2);border-radius:var(--r-md);margin-bottom:14px;display:none;flex-direction:column;gap:10px}
.in-form.open{display:flex}
.f-act{display:flex;gap:6px}
.in-sm{padding:7px 10px;font-size:11px;border:1.5px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);transition:border-color .18s var(--ease)}
.in-sm:focus{outline:none;border-color:var(--c-navy)}
select.in-sm{min-width:110px}

.n-list{display:flex;flex-direction:column;gap:6px}
.n-item{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;background:var(--c-bg);border-radius:var(--r-md);border:1px solid var(--c-divider)}
.n-body{flex:1;min-width:0}
.n-title{font-size:13px;font-weight:600;color:var(--c-text)}
.n-meta{font-size:10px;color:var(--c-faint)}
.n-txt{font-size:11px;color:var(--c-muted);margin-top:4px;line-height:1.5}
.n-badge{font-size:9px;font-weight:700;padding:2px 6px;background:var(--c-navy);color:#fff;border-radius:var(--r-full);flex-shrink:0}
.n-acts{display:flex;gap:4px;flex-shrink:0;align-items:center}

.a-list{display:flex;flex-direction:column;gap:2px}
.a-item{display:grid;grid-template-columns:50px 140px 1fr 50px 40px auto;gap:10px;padding:7px 10px;font-size:11px;border-bottom:1px solid var(--c-divider);align-items:center}
.a-item:last-child{border-bottom:none}
.a-email{color:var(--c-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-q{color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-st{color:var(--c-navy);font-weight:600;text-align:center}
.a-time{color:var(--c-faint);white-space:nowrap}

.u-list{display:flex;flex-direction:column;gap:2px}
.u-item{display:grid;grid-template-columns:1fr 80px 100px auto;gap:10px;padding:10px;font-size:11px;border-bottom:1px solid var(--c-divider);align-items:center}
.u-item:last-child{border-bottom:none}
.u-email{color:var(--c-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.u-role{font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.u-role.owner{color:var(--c-navy)}.u-role.admin{color:var(--c-navy)}.u-role.user{color:var(--c-muted)}
.u-date{color:var(--c-faint)}.u-acts{display:flex;gap:4px}

.sc-list{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.sc-row{display:flex;align-items:center;gap:10px;font-size:11px}
.sc-bar{height:6px;background:var(--c-navy);border-radius:var(--r-full);min-width:3px}

.muted{font-size:11px;color:var(--c-faint);font-style:italic}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-3px)}}

@media(max-width:768px){
  .feat-g{grid-template-columns:1fr}
  .hero{padding:40px 16px 32px}
  .hero h1{font-size:1.5rem}
  .chat-lay{grid-template-columns:1fr}
  .c-side{position:fixed;inset:0;z-index:70;width:260px;transform:translateX(-100%);transition:transform .3s var(--ease)}
  .c-side.open{transform:translateX(0)}
  .sb-tog{display:flex}
  .adm-hdr{flex-direction:column;align-items:flex-start;padding:10px}
  .kpi-g{grid-template-columns:1fr}
  .a-item{grid-template-columns:1fr}
  .u-item{grid-template-columns:1fr 1fr}
  .adm-main{padding:14px}
}

/* ══ Nav Links ══ */
.nav-link{color:var(--c-navy);font-size:13px;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:var(--r-full);transition:all .18s var(--ease);text-decoration:none}
.nav-link:hover{background:rgba(27,45,79,.08);color:var(--c-navy)}
.nav-link.active{background:rgba(27,45,79,.1);color:var(--c-navy)}

/* ══ State Laws Page ══ */
.laws-main{max-width:1100px;margin:0 auto;padding:24px 24px 60px}
.laws-hero{text-align:center;padding:40px 0 32px}
.laws-hero h1{font-size:clamp(1.6rem,4vw,2.2rem);color:var(--c-navy);font-weight:700;margin:0 0 10px}
.laws-hero p{color:var(--c-muted);font-size:14px;max-width:600px;margin:0 auto;line-height:1.6}

.laws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.law-state-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);cursor:pointer;transition:all .18s var(--ease);text-align:center}
.law-state-card:hover{border-color:var(--c-navy);box-shadow:var(--sh-md);transform:translateY(-1px)}
.law-abbr{font-size:20px;font-weight:700;color:var(--c-navy);line-height:1}
.law-name{font-size:12px;color:var(--c-text);font-weight:500;line-height:1.2}
.law-count{font-size:10px;color:var(--c-faint)}

.laws-detail{}
.laws-back{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--c-navy);cursor:pointer;background:none;border:none;padding:6px 0;margin-bottom:16px;transition:color .18s}
.laws-back:hover{color:var(--c-navy-l)}
.laws-back svg{stroke:currentColor}

.laws-state-hdr{margin-bottom:20px}
.laws-state-hdr h2{font-size:clamp(1.3rem,3vw,1.8rem);color:var(--c-navy);font-weight:700;margin:0 0 4px}
.laws-state-hdr p{color:var(--c-muted);font-size:13px;margin:0}

.laws-cards{display:grid;gap:12px;margin-bottom:32px}
.law-entry{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:16px 18px;transition:border-color .18s}
.law-entry:hover{border-color:var(--c-navy)}
.law-entry-hdr{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}
.law-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.law-entry h3{font-size:13px;font-weight:600;color:var(--c-navy);margin:0;line-height:1.4}
.law-entry p{font-size:13px;color:var(--c-text);line-height:1.65;margin:0;white-space:pre-wrap}

.laws-cta{background:linear-gradient(135deg,var(--c-navy),var(--c-navy-l));border-radius:var(--r-xl);padding:2px}
.laws-cta-inner{background:var(--c-navy-d);border-radius:calc(var(--r-xl) - 2px);padding:28px 24px;text-align:center}
.laws-cta h3{color:var(--c-inverse);font-size:18px;font-weight:700;margin:0 0 6px}
.laws-cta p{color:rgba(255,255,255,.6);font-size:13px;margin:0 0 16px}
.laws-cta-input{display:flex;gap:8px;max-width:520px;margin:0 auto}
.laws-cta-input input{flex:1;padding:10px 14px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:var(--c-inverse);font-size:13px;outline:none;transition:border-color .18s}
.laws-cta-input input::placeholder{color:rgba(255,255,255,.35)}
.laws-cta-input input:focus{border-color:var(--c-gold)}
.laws-cta-input .btn{white-space:nowrap;padding:10px 18px;font-size:13px}

@media(max-width:600px){
  .laws-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}
  .law-state-card{padding:12px 6px}
  .law-abbr{font-size:16px}
  .law-name{font-size:10px}
  .laws-cta-input{flex-direction:column}
  .laws-cta-input .btn{width:100%}
  .laws-main{padding:16px 16px 40px}
}

/* ══ Logo Upload ══ */
.logo-upload{display:flex;flex-direction:column;gap:6px}
.logo-upload input[type="file"]{font-size:11px;color:var(--c-muted)}
.logo-upload-label{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--c-navy);cursor:pointer}
.logo-preview{display:flex;align-items:center;gap:8px;margin-top:4px}
.logo-preview-img{width:40px;height:40px;border-radius:var(--r-md);object-fit:contain;border:1px solid var(--c-divider);background:var(--c-surface)}
.logo-preview-label{font-size:10px;color:var(--c-faint)}

/* Admin company note logo thumbnail */
.cn-logo-thumb{width:28px;height:28px;border-radius:var(--r-sm);object-fit:contain;flex-shrink:0;border:1px solid var(--c-divider);background:var(--c-surface)}

/* ══ State Page Featured Companies ══ */
.state-featured{margin-bottom:32px;background:var(--c-navy);border-radius:var(--r-lg);padding:20px 22px 22px}
.state-featured-label{font-size:11px;font-weight:600;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.state-featured-cards{display:grid;gap:10px}
.state-feat-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.state-feat-card:hover{border-color:rgba(255,255,255,.25);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.state-feat-logo{width:40px;height:40px;border-radius:var(--r-md);object-fit:contain;flex-shrink:0;background:#fff;padding:2px}
.state-feat-ic{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:rgba(255,255,255,.5);border-radius:var(--r-md);flex-shrink:0}
.state-feat-info{flex:1;min-width:0}
.state-feat-name{font-size:14px;font-weight:600;color:#fff;text-decoration:none;display:block}
a.state-feat-name:hover{color:var(--c-gold-h);text-decoration:underline}
.state-feat-notes{font-size:12px;color:rgba(255,255,255,.6);margin-top:2px;line-height:1.5}

/* ══ Widget Admin ══ */
.wg-config{background:var(--c-surface2);border-radius:var(--r-md);padding:16px;margin-bottom:16px}
.wg-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.wg-color-wrap{display:flex;align-items:center;gap:6px}
.wg-color-picker{width:36px;height:36px;border:1.5px solid var(--c-border);border-radius:var(--r-md);padding:2px;cursor:pointer;background:var(--c-bg)}
.wg-color-hex{width:80px;padding:8px 10px;font-size:13px;border:1.5px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg);font-family:'Inter',monospace}
.wg-keys{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.wg-key-card{background:var(--c-bg);border:1px solid var(--c-divider);border-radius:var(--r-lg);padding:16px}
.wg-key-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.wg-key-label{font-size:14px;font-weight:600;color:var(--c-navy)}
.wg-key-meta{font-size:10px;color:var(--c-faint);margin-top:2px;display:flex;align-items:center;gap:6px}
.wg-key-preview{display:flex;align-items:center;gap:6px}
.wg-swatch{width:20px;height:20px;border-radius:var(--r-sm);border:1px solid var(--c-border);flex-shrink:0}
.wg-swatch-sm{width:14px;height:14px}
.wg-status{font-size:9px;font-weight:700;padding:2px 6px;border-radius:var(--r-full);letter-spacing:.04em}
.wg-status.active{background:#dcfce7;color:#16a34a}
.wg-status.revoked{background:#fef2f2;color:#dc2626}
.wg-code-blocks{display:flex;flex-direction:column;gap:10px}
.wg-code-section{}
.wg-code-label{font-size:11px;font-weight:600;color:var(--c-text);margin-bottom:4px}
.wg-code-desc{font-weight:400;color:var(--c-faint)}
.wg-code-box{display:flex;align-items:stretch;gap:6px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden}
.wg-code{flex:1;padding:8px 10px;font-size:11px;font-family:'Courier New',monospace;color:var(--c-text);line-height:1.5;word-break:break-all;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}
.wg-copy{flex-shrink:0;border-radius:0;border-left:1px solid var(--c-border)}
.wg-key-actions{margin-top:10px;display:flex;gap:6px;justify-content:flex-end}

/* ══ Widget Phone Preview ══ */
.wg-config-with-preview{display:flex;gap:20px;align-items:flex-start}
.wg-phone-preview{flex-shrink:0}
.wg-config-fields{flex:1;min-width:0}
.wg-phone-frame{width:150px;height:280px;background:#1a1a1a;border-radius:22px;padding:6px;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.1)}
.wg-phone-notch{width:44px;height:6px;background:#1a1a1a;border-radius:0 0 6px 6px;position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:2}
.wg-phone-screen{width:100%;height:100%;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;background:#f5f7fa;transition:background .25s ease}
.wg-phone-screen[data-mode="dark"]{background:#1c1c1c}
/* Preview header */
.wgp-header{display:flex;align-items:center;gap:6px;padding:8px 8px;border-bottom:1px solid #d4dae3;flex-shrink:0;background:#fff;transition:background .25s ease,border-color .25s ease}
.wg-phone-screen[data-mode="dark"] .wgp-header{background:#2a2a2a;border-color:#3d3d3d}
.wgp-avatar{width:18px;height:18px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.wgp-avatar img{width:100%;height:100%;object-fit:contain}
.wgp-hdr-text{min-width:0}
.wgp-hdr-title{font-size:7px;font-weight:700;color:#0f172a;line-height:1.2;transition:color .25s ease}
.wg-phone-screen[data-mode="dark"] .wgp-hdr-title{color:#e0e0e0}
.wgp-hdr-sub{font-size:5px;color:#64748b;transition:color .25s ease}
.wg-phone-screen[data-mode="dark"] .wgp-hdr-sub{color:#9a9a9a}
/* Preview messages */
.wgp-msgs{flex:1;padding:6px;display:flex;flex-direction:column;gap:5px;overflow:hidden}
.wgp-row{display:flex;gap:3px;align-items:flex-end}
.wgp-row.user{justify-content:flex-end}
.wgp-av{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--wgp-accent,#1B2D4F);transition:background .25s ease}
.wgp-bub{padding:4px 6px;border-radius:5px;font-size:5.5px;line-height:1.4;max-width:85%}
.wgp-row.assistant .wgp-bub{background:#fff;border:1px solid #d4dae3;color:#0f172a;transition:all .25s ease}
.wg-phone-screen[data-mode="dark"] .wgp-row.assistant .wgp-bub{background:#2a2a2a;border-color:#3d3d3d;color:#e0e0e0}
.wgp-row.user .wgp-bub{background:var(--wgp-accent,#1B2D4F);color:#fff;transition:background .25s ease}
/* Preview input */
.wgp-input{border-top:1px solid #d4dae3;padding:6px;flex-shrink:0;background:#fff;transition:all .25s ease}
.wg-phone-screen[data-mode="dark"] .wgp-input{background:#2a2a2a;border-color:#3d3d3d}
.wgp-input-bar{display:flex;align-items:center;justify-content:space-between;background:#f5f7fa;border:1px solid #d4dae3;border-radius:5px;padding:3px 4px 3px 6px;transition:all .25s ease}
.wg-phone-screen[data-mode="dark"] .wgp-input-bar{background:#1c1c1c;border-color:#3d3d3d}
.wgp-input-bar span{font-size:5px;color:#94a3b8;white-space:nowrap;transition:color .25s ease}
.wg-phone-screen[data-mode="dark"] .wgp-input-bar span{color:#6a6a6a}
.wgp-send{width:12px;height:12px;border-radius:3px;display:flex;align-items:center;justify-content:center;background:var(--wgp-accent,#1B2D4F);color:#fff;flex-shrink:0;transition:background .25s ease}
@media(max-width:768px){
  .wg-config-with-preview{flex-direction:column;align-items:center}
  .wg-phone-preview{order:-1}
}

/* ══ Widget Deployments ══ */
.wd-list{display:flex;flex-direction:column;gap:2px}
.wd-item{display:grid;grid-template-columns:160px 150px 1fr 120px 70px 80px auto;gap:10px;padding:10px;font-size:11px;border-bottom:1px solid var(--c-divider);align-items:center}
.wd-item:last-child{border-bottom:none}
.wd-email{color:var(--c-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-key{color:var(--c-faint);font-family:monospace;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-label{color:var(--c-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wd-config{display:flex;align-items:center;gap:4px;color:var(--c-muted);font-size:10px}
.wd-status{font-size:9px;font-weight:700;letter-spacing:.04em}
.wd-active{color:var(--c-ok)}
.wd-revoked{color:var(--c-err)}
.wd-date{color:var(--c-faint);white-space:nowrap}
.wd-acts{display:flex;gap:4px}

@media(max-width:768px){
  .wg-row{flex-direction:column}
  .wd-item{grid-template-columns:1fr 1fr}
}

/* ══ AI Nudge Text ══ */
.ai-nudge{font-size:11px;color:var(--c-muted);margin-top:10px;padding-top:8px;border-top:1px solid var(--c-divider);line-height:1.5;font-weight:600}

/* ══ Message Actions (Copy Button) ══ */
.m-actions{display:flex;gap:2px;align-self:flex-end;margin-top:2px;opacity:0;transition:opacity .18s var(--ease)}
.m-row.assistant:hover .m-actions,.m-row.assistant:focus-within .m-actions{opacity:1}
.m-act-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:10px;color:var(--c-faint);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:all .18s var(--ease);white-space:nowrap}
.m-act-btn:hover{color:var(--c-muted);background:var(--c-surface2);border-color:var(--c-border)}
.m-act-btn.copied{color:var(--c-ok)}
.m-act-btn svg{flex-shrink:0}

/* ══ AI Avatar Logo ══ */
.m-av-logo{width:28px;height:28px;border-radius:var(--r-full);object-fit:cover}

/* ══ Chat Main Header + Theme Toggle ══ */
.c-main-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--c-divider);background:var(--c-surface);flex-shrink:0}
.c-main-title{font-size:13px;font-weight:600;color:var(--c-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.theme-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-full);color:var(--c-muted);background:transparent;border:1px solid var(--c-border);cursor:pointer;transition:all .18s var(--ease)}
.theme-toggle:hover{background:var(--c-surface2);color:var(--c-text);border-color:var(--c-navy)}

/* ══ m-row layout fix for actions ══ */
.m-row.assistant{flex-wrap:wrap}
.m-row.assistant .m-bub{max-width:72%}
.m-row.assistant .m-actions{width:100%;padding-left:38px}

/* ══ Dark Mode ══ */
[data-theme="dark"] {
  --c-bg:#1c1c1c; --c-surface:#2a2a2a; --c-surface2:#333333; --c-border:#404040; --c-divider:#404040;
  --c-text:#e2e8f0; --c-muted:#94a3b8; --c-faint:#64748b; --c-inverse:#1c1c1c;
  --c-navy:#7EB8F0; --c-navy-l:#A8D0F5; --c-navy-d:#5A9AE0;
  --c-gold:#F0D060; --c-gold-l:#3A2F0F; --c-gold-h:#C49A28;
  --sh-sm:0 1px 2px rgba(0,0,0,.3); --sh-md:0 4px 12px rgba(0,0,0,.35); --sh-lg:0 12px 32px rgba(0,0,0,.45);
}
[data-theme="dark"] .nav-link:hover{background:rgba(126,184,240,.12);color:var(--c-navy)}
[data-theme="dark"] .nav-link.active{background:rgba(126,184,240,.15);color:var(--c-navy)}
/* Chat sidebar stays dark in both modes */
[data-theme="dark"] .c-side{background:#141414}
[data-theme="dark"] .c-main-title{color:var(--c-navy)}
/* Feedback button dark mode — keep light blue */
[data-theme="dark"] .fb-btn-cta{background:#B3D4FC;color:#0A1628}
[data-theme="dark"] .fb-btn-cta:hover{background:var(--c-navy);color:#fff}
/* Buttons in dark mode */
[data-theme="dark"] .btn-p{background:var(--c-navy);color:var(--c-inverse)}
[data-theme="dark"] .btn-p:hover{background:var(--c-navy-l);color:var(--c-inverse)}
/* Message bubbles in dark mode */
[data-theme="dark"] .m-row.assistant .m-bub{background:var(--c-surface);border-color:var(--c-border);color:var(--c-text)}
[data-theme="dark"] .m-row.user .m-bub{background:#2563eb;color:#fff}
[data-theme="dark"] .m-row.user .m-av{background:#f59e0b;color:#fff}
/* Input area */
[data-theme="dark"] .c-input{background:var(--c-surface);border-color:var(--c-border)}
[data-theme="dark"] .c-input-w{background:var(--c-bg);border-color:var(--c-border)}
[data-theme="dark"] .c-ta{color:var(--c-text)}
/* Dir cards */
[data-theme="dark"] .dir-card{background:var(--c-surface);border-color:var(--c-border)}
[data-theme="dark"] .dir-featured{background:linear-gradient(135deg,#2a2413,#2a2a2a);border-color:var(--c-gold)}
/* Welcome */
[data-theme="dark"] .c-welcome h2{color:var(--c-navy)}
[data-theme="dark"] .w-chip{background:var(--c-surface);border-color:var(--c-border);color:var(--c-muted)}
[data-theme="dark"] .w-chip:hover{border-color:var(--c-navy);color:var(--c-navy)}
/* Hero input */
[data-theme="dark"] .hero-in{background:var(--c-surface);border-color:var(--c-border);color:var(--c-text)}
/* Modals */
[data-theme="dark"] .modal-c{background:var(--c-surface)}
[data-theme="dark"] .modal-c h2{color:var(--c-navy)}
[data-theme="dark"] .fg input,[data-theme="dark"] .fg textarea,[data-theme="dark"] .fg select{background:var(--c-bg);border-color:var(--c-border);color:var(--c-text)}
/* Send button stays solid */
[data-theme="dark"] .c-send{background:#2563eb;color:#fff}
[data-theme="dark"] .c-send:hover{background:#3b82f6}
/* Home header */
[data-theme="dark"] .home-hdr{background:rgba(15,23,42,.92)}
[data-theme="dark"] .logo-t{color:var(--c-text)}
/* Dark mode admin header: solid black bg with white text for contrast */
[data-theme="dark"] .adm-hdr{background:#000;color:#fff}
[data-theme="dark"] .adm-hdr .logo-t{color:#fff}
[data-theme="dark"] .adm-tab{color:rgba(255,255,255,.55)}
[data-theme="dark"] .adm-tab:hover{color:#fff;background:rgba(255,255,255,.1)}
[data-theme="dark"] .adm-tab.on{color:#fff;background:rgba(255,255,255,.14)}

/* ══ Feedback Button (Legacy — kept for widget compatibility) ══ */
.fb-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:500;color:rgba(255,255,255,.65);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);cursor:pointer;transition:all .18s var(--ease);width:100%;justify-content:flex-start}
.fb-btn:hover{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.fb-btn svg{flex-shrink:0;opacity:.7}

/* ══ Feedback Admin Cards ══ */
.fb-admin-list{display:flex;flex-direction:column;gap:10px}
.fb-card{background:var(--c-bg);border:1px solid var(--c-divider);border-radius:var(--r-lg);padding:14px 16px;transition:border-color .18s var(--ease)}
.fb-card:hover{border-color:var(--c-navy)}
.fb-card-hdr{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.fb-card-info{flex:1;min-width:0}
.fb-card-title{font-size:13px;font-weight:600;color:var(--c-text)}
.fb-card-meta{font-size:10px;color:var(--c-faint);margin-top:2px}
.fb-card-body{font-size:12px;color:var(--c-muted);line-height:1.6;white-space:pre-wrap}
.fb-status{font-size:9px;font-weight:700;padding:2px 8px;border-radius:var(--r-full);letter-spacing:.04em;white-space:nowrap;flex-shrink:0}
.fb-pending{background:#fef3c7;color:#92400e}
.fb-accepted{background:#dcfce7;color:#16a34a}
.fb-declined{background:#fef2f2;color:#dc2626}
.fb-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--c-divider)}
.fb-decline-reason{font-size:11px;color:var(--c-faint);margin-top:8px;padding:8px 10px;background:var(--c-surface2);border-radius:var(--r-md);line-height:1.5}

/* ══ User Feedback List ══ */
.fb-user-list{display:flex;flex-direction:column;gap:10px}

/* ══ Feedback CTA Card ══ */
.fb-cta-card{background:linear-gradient(135deg,var(--c-navy),#1a3f6b);border-radius:var(--r-lg);padding:28px 24px;margin-bottom:14px;color:#fff;text-align:center}
.fb-cta-title{font-size:20px;font-weight:700;color:#fff;margin-bottom:6px}
.fb-cta-sub{font-size:14px;font-weight:600;margin-bottom:10px;color:rgba(255,255,255,.85)}
.fb-cta-info{font-size:12px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:20px;text-align:left}
.fb-cta-card .btn-p{background:#fff;color:var(--c-navy);font-weight:600;font-size:13px;padding:10px 24px;border-radius:var(--r-md)}
.fb-cta-card .btn-p:hover{background:rgba(255,255,255,.9);color:var(--c-navy)}
[data-theme="dark"] .fb-cta-card{background:linear-gradient(135deg,#1e3a5f,#2a4a7f)}
[data-theme="dark"] .fb-cta-card .btn-p{background:#fff;color:#1e3a5f}

/* ══ Profile Form ══ */
.profile-form{display:flex;gap:24px;align-items:flex-start}
.pf-photo-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}
.pf-photo{width:88px;height:88px;border-radius:var(--r-full);background:var(--c-surface2);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--c-border);color:var(--c-faint)}
.pf-photo-img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-full)}
.pf-fields{flex:1;display:flex;flex-direction:column;gap:0}
.pf-fields .fg{margin-bottom:12px}
.pf-fields .fg:last-of-type{margin-bottom:16px}
.fg-row{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.fg-row .fg{margin-bottom:0;flex:1}
.fg-row .fg-city{flex:2}
.fg-row .fg-state{flex:1;max-width:80px}
.fg-row .fg-zip{flex:1;max-width:100px}

/* Contributions items */
.pf-contribs{display:flex;flex-direction:column;gap:6px}
.contrib-item{padding:10px;background:var(--c-bg);border:1px solid var(--c-divider);border-radius:var(--r-md)}
.contrib-title{font-size:12px;font-weight:600;color:var(--c-text)}
.contrib-meta{font-size:10px;color:var(--c-faint);margin-top:2px}

/* ══ Contributor Profile (Public) ══ */
.contrib-main{max-width:700px;margin:0 auto;padding:40px 24px 60px}
.cp-card{background:var(--c-surface);border:1px solid var(--c-divider);border-radius:var(--r-xl);padding:32px;box-shadow:var(--sh-md)}
.cp-header{display:flex;gap:20px;align-items:flex-start;margin-bottom:24px}
.cp-photo{width:96px;height:96px;border-radius:var(--r-full);object-fit:cover;flex-shrink:0;border:3px solid var(--c-border)}
.cp-photo-placeholder{background:var(--c-surface2);display:flex;align-items:center;justify-content:center;color:var(--c-faint)}
.cp-info{flex:1}
.cp-info h2{font-size:20px;font-weight:700;color:var(--c-navy);margin:0 0 4px}
.cp-company{font-size:14px;font-weight:600;color:var(--c-navy-l)}
.cp-address{font-size:12px;color:var(--c-muted);margin-top:2px}
.cp-desc{font-size:13px;color:var(--c-muted);margin-top:8px;line-height:1.6}
.cp-contribs{border-top:1px solid var(--c-divider);padding-top:20px}
.cp-contribs h3{font-size:14px;font-weight:600;color:var(--c-navy);margin:0 0 12px}
.cp-contrib-list{display:flex;flex-direction:column;gap:6px}

/* ══ Law Card Credit Attribution ══ */
.law-credit{font-size:11px;color:var(--c-faint);margin-top:8px;padding-top:6px;border-top:1px dashed var(--c-divider)}
.law-credit-link{color:var(--c-navy);font-weight:600;text-decoration:none}
.law-credit-link:hover{text-decoration:underline;color:var(--c-navy-l)}

/* ══ Mobile adjustments for profile ══ */
@media(max-width:600px){
  .profile-form{flex-direction:column;align-items:center}
  .pf-fields{width:100%}
  .cp-header{flex-direction:column;align-items:center;text-align:center}
  .cp-photo{width:80px;height:80px}
}

/* ══ Dark mode additions for feedback/profile ══ */
[data-theme="dark"] .fb-card{background:var(--c-surface);border-color:var(--c-border)}
[data-theme="dark"] .fb-pending{background:#3a2f0f;color:#fbbf24}
[data-theme="dark"] .fb-accepted{background:#052e16;color:#4ade80}
[data-theme="dark"] .fb-declined{background:#450a0a;color:#f87171}
[data-theme="dark"] .fb-decline-reason{background:var(--c-bg)}
[data-theme="dark"] .cp-card{background:var(--c-surface);border-color:var(--c-border)}
[data-theme="dark"] .contrib-item{background:var(--c-surface);border-color:var(--c-border)}
[data-theme="dark"] .pf-photo{border-color:var(--c-border);background:var(--c-bg)}

/* ══ FAQ Accordion ══ */
.faq-section{max-width:960px;margin:0 auto;padding:0 24px 64px}
.faq-inner{}
.faq-title{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700;color:var(--c-navy);text-align:center;margin:0 0 8px}
.faq-subtitle{font-size:14px;color:var(--c-muted);text-align:center;margin:0 auto 28px;max-width:560px;line-height:1.6}
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border:1px solid var(--c-divider);border-radius:0;background:var(--c-surface);overflow:hidden}
.faq-item:first-child{border-radius:var(--r-lg) var(--r-lg) 0 0}
.faq-item:last-child{border-radius:0 0 var(--r-lg) var(--r-lg)}
.faq-item:only-child{border-radius:var(--r-lg)}
.faq-item + .faq-item{border-top:none}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;font-size:14px;font-weight:600;color:var(--c-text);cursor:pointer;background:transparent;border:none;width:100%;text-align:left;transition:color .18s var(--ease)}
.faq-q:hover{color:var(--c-navy)}
.faq-q svg{flex-shrink:0;transition:transform .25s var(--ease);color:var(--c-faint)}
.faq-item.open .faq-q svg{transform:rotate(180deg);color:var(--c-navy)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease),padding .3s var(--ease)}
.faq-item.open .faq-a{max-height:400px}
.faq-a-inner{padding:0 18px 14px;font-size:13px;color:var(--c-muted);line-height:1.7}
.faq-a-inner a{color:var(--c-navy);font-weight:600;text-decoration:none}
.faq-a-inner a:hover{text-decoration:underline;color:var(--c-navy-l)}
.faq-score{font-size:10px;color:var(--c-faint);margin-left:auto;flex-shrink:0}

/* FAQ in admin panel */
.faq-list-admin .faq-item{border-radius:var(--r-md)!important;margin-bottom:6px;border:1px solid var(--c-divider)!important}
.faq-list-admin .faq-q{font-size:12px;padding:10px 14px}
.faq-list-admin .faq-a-inner{font-size:11px;padding:0 14px 10px}

/* Feature intro paragraph */
.feat-intro{font-size:14px;color:var(--c-muted);text-align:center;max-width:660px;margin:0 auto 28px;line-height:1.65}

/* Dark mode FAQ */
[data-theme="dark"] .faq-item{background:var(--c-surface);border-color:var(--c-border)}
[data-theme="dark"] .faq-q{color:var(--c-text)}
[data-theme="dark"] .faq-q:hover{color:var(--c-navy)}
[data-theme="dark"] .faq-a-inner{color:var(--c-muted)}

/* ══ FAQ Management (Admin) ══ */
.faq-manage-list{display:flex;flex-direction:column;gap:6px}
.faq-manage-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--c-bg);border:1px solid var(--c-divider);border-radius:var(--r-md);transition:border-color .18s var(--ease)}
.faq-manage-item:hover{border-color:var(--c-navy)}
.faq-manage-item.faq-suggested{border-left:3px solid var(--c-gold);background:linear-gradient(90deg,rgba(240,208,96,.06),var(--c-bg) 40%)}
.faq-manage-grip{cursor:grab;color:var(--c-faint);flex-shrink:0;padding:2px;user-select:none}
.faq-manage-grip:active{cursor:grabbing}
.faq-manage-body{flex:1;min-width:0}
.faq-manage-q{font-size:13px;font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.faq-manage-meta{font-size:10px;color:var(--c-faint);margin-top:2px;display:flex;align-items:center;gap:6px}
.faq-manage-badge{font-size:9px;font-weight:700;padding:2px 8px;border-radius:var(--r-full);letter-spacing:.04em;white-space:nowrap}
.faq-badge-published{background:#dcfce7;color:#16a34a}
.faq-badge-suggested{background:#fef3c7;color:#92400e}
.faq-manage-acts{display:flex;gap:4px;flex-shrink:0;align-items:center}
.faq-manage-divider{font-size:11px;font-weight:600;color:var(--c-faint);text-transform:uppercase;letter-spacing:.05em;padding:10px 0 4px;border-bottom:1px solid var(--c-divider);margin-bottom:2px}
[data-theme="dark"] .faq-manage-item{background:var(--c-surface);border-color:var(--c-border)}
[data-theme="dark"] .faq-manage-item.faq-suggested{background:linear-gradient(90deg,rgba(240,208,96,.08),var(--c-surface) 40%)}
[data-theme="dark"] .faq-badge-published{background:#052e16;color:#4ade80}
[data-theme="dark"] .faq-badge-suggested{background:#3a2f0f;color:#fbbf24}


/* ══════════════════════════════════════════════════════════
   FEATURE BATCH #2 — NEW STYLES
   ══════════════════════════════════════════════════════════ */

/* ══ Thumb buttons (updated m-act-btn states) ══ */
.m-act-btn.active-up { color: #16a34a !important; }
.m-act-btn.active-down { color: #dc2626 !important; }
.m-act-btn.copied { color: #16a34a !important; }
.m-act-btn:hover { color: var(--c-navy); background: var(--c-surface); }
[data-theme="dark"] .m-act-btn:hover { color: var(--c-navy); background: var(--c-surface2); }

/* ══ Law Library Button ══ */
.c-lib {
  display: flex; align-items: center; gap: 6px;
  margin: 4px 10px 8px; padding: 7px 10px;
  font-size: 12px; font-weight: 500;
  color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: all .18s var(--ease);
  width: calc(100% - 20px);
}
.c-lib:hover { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.3); }
.c-lib svg { flex-shrink: 0; opacity: .8; }
.c-lib:hover svg { opacity: 1; }

/* ══ Widget Analytics Accordion ══ */
.wa-list { display: flex; flex-direction: column; gap: 6px; }
.wa-accordion { border: 1px solid var(--c-border); border-radius: var(--r-md); overflow: hidden; }
.wa-acc-hdr {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px; width: 100%;
  background: var(--c-surface); border: none; cursor: pointer;
  text-align: left; font-size: 12px; color: var(--c-text);
  transition: background .15s;
}
.wa-acc-hdr:hover { background: var(--c-surface2); }
.wa-acc-body { display: none; padding: 8px 14px; max-height: 300px; overflow-y: auto; }
.wa-accordion.open .wa-acc-body { display: block; }
.wa-accordion.open .wa-chevron { transform: rotate(180deg); }
.wa-chevron { transition: transform .2s var(--ease); flex-shrink: 0; }
[data-theme="dark"] .wa-accordion { border-color: var(--c-border); }
[data-theme="dark"] .wa-acc-hdr { background: var(--c-surface); }
[data-theme="dark"] .wa-acc-hdr:hover { background: var(--c-surface2); }

/* ══ State Coverage Heatmap ══ */
.heatmap-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 4px; }
.heatmap-cell {
  padding: 7px 3px; border-radius: var(--r-sm); text-align: center;
  cursor: pointer; transition: transform .15s var(--ease), box-shadow .15s var(--ease);
  border: 1px solid var(--c-border);
}
.heatmap-cell:hover { transform: scale(1.1); z-index: 1; box-shadow: var(--sh-sm); }
.heatmap-abbr { font-size: 11px; font-weight: 700; display: block; line-height: 1.2; }
.heatmap-count { font-size: 9px; opacity: 0.8; display: block; line-height: 1.2; }
.heatmap-legend { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 10px; color: var(--c-muted); }
.heatmap-gradient { flex: 1; height: 8px; border-radius: 4px; background: linear-gradient(to right, var(--c-surface2), rgba(15,43,76,1)); border: 1px solid var(--c-border); }
[data-theme="dark"] .heatmap-gradient { background: linear-gradient(to right, var(--c-surface2), rgba(126,184,240,0.9)); }

/* ══ Law Library search mark highlight ══ */
#ll-results mark { background: var(--c-gold-l); color: var(--c-navy); border-radius: 2px; padding: 0 2px; }
[data-theme="dark"] #ll-results mark { background: var(--c-gold-l); color: var(--c-gold); }

/* ══ Dark mode Law Library modal inputs ══ */
[data-theme="dark"] #ll-search,
[data-theme="dark"] #ll-state { background: var(--c-bg); border-color: var(--c-border); color: var(--c-text); }

/* ══ Keyword Phrases Accordion (Feature Batch #3) ══ */
.kp-accordion { border:1px solid var(--c-border); border-radius:var(--r-md); margin-bottom:18px; overflow:hidden; }
.kp-acc-toggle { display:flex; align-items:center; width:100%; padding:12px 16px; background:var(--c-surface); border:none; cursor:pointer; font-size:14px; font-weight:600; color:var(--c-navy); gap:8px; }
.kp-acc-toggle:hover { background:var(--c-hover); }
.kp-acc-chevron { margin-left:auto; transition:transform .2s; }
.kp-accordion.open .kp-acc-chevron { transform:rotate(180deg); }
.kp-acc-body { display:none; padding:0 16px 16px; }
.kp-accordion.open .kp-acc-body { display:block; }
[data-theme="dark"] .kp-acc-toggle { background:var(--c-surface); color:var(--c-navy); }
[data-theme="dark"] .kp-acc-toggle:hover { background:var(--c-surface2); }

/* ══ Analytics Sub-Tabs (Feature Batch #3) ══ */
.analytics-tabs { display:flex; gap:2px; margin-bottom:16px; border-bottom:2px solid var(--c-border); flex-wrap:wrap; }
.ana-tab { padding:8px 16px; font-size:12px; font-weight:600; color:var(--c-muted); background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-2px; cursor:pointer; white-space:nowrap; }
.ana-tab:hover { color:var(--c-navy); }
.ana-tab.on { color:var(--c-navy); border-bottom-color:var(--c-navy); }
.ana-pan { display:none; }
.ana-pan.on { display:block; }
[data-theme="dark"] .ana-tab.on { color:var(--c-navy); border-bottom-color:var(--c-navy); }

/* ══ Banner Ticker ══ */
.ticker-bar { background:var(--c-gold-h); overflow:hidden; white-space:nowrap; position:relative; flex-shrink:0; }
.ticker-content { display:inline-block; padding:8px 0; animation:tickerScroll 18s linear infinite; }
.ticker-text { font-size:13px; font-weight:700; color:#0f172a; padding:0 48px; }
.ticker-link { font-size:13px; font-weight:600; color:#1d4ed8; text-decoration:underline; margin-left:8px; }
.ticker-link:hover { color:#1e40af; }
@keyframes tickerScroll {
  0% { transform:translateX(100vw); }
  100% { transform:translateX(-100%); }
}
@media(max-width:768px) {
  .ticker-text { font-size:12px; padding:0 24px; }
  .ticker-link { font-size:12px; }
}
[data-theme="dark"] .ticker-bar { background:var(--c-gold-h); }
[data-theme="dark"] .ticker-text { color:#0f172a; }
[data-theme="dark"] .ticker-link { color:#1e3a8a; }

/* ══ Banner Admin History ══ */
.bn-active-badge { font-size:9px; font-weight:700; padding:2px 8px; border-radius:var(--r-full); background:#dcfce7; color:#16a34a; letter-spacing:.04em; }
.bn-inactive-badge { font-size:9px; font-weight:700; padding:2px 8px; border-radius:var(--r-full); background:var(--c-surface2); color:var(--c-faint); letter-spacing:.04em; }
[data-theme="dark"] .bn-active-badge { background:#052e16; color:#4ade80; }
[data-theme="dark"] .bn-inactive-badge { background:var(--c-surface2); color:var(--c-faint); }

/* ══ Public Nav Auth State ══ */
.home-nav-auth { display:inline-flex; align-items:center; gap:8px; }
.home-nav-user { display:none; align-items:center; gap:12px; }
.hn-user-name { font-size:12px; color:var(--c-navy); font-weight:500; background:var(--c-surface2); padding:4px 12px; border-radius:var(--r-full); white-space:nowrap; max-width:180px; overflow:hidden; text-overflow:ellipsis; }
[data-theme="dark"] .hn-user-name { color:var(--c-text); }

/* ══ Back to Home Link (chat sidebar) ══ */
.back-home-link { display:flex; align-items:center; gap:6px; font-size:11px; color:rgba(255,255,255,0.6); cursor:pointer; margin-top:8px; padding:6px 0; transition:color .15s; text-decoration:none; }
.back-home-link:hover { color:#fff; }

/* ══ Site Pages (Privacy Policy, Terms of Use) ══ */
.page-main { max-width:800px; margin:0 auto; padding:40px 20px 60px; }
.page-content h1 { font-size:24px; color:var(--c-navy); margin-bottom:20px; }
.page-content { font-size:14px; line-height:1.7; color:var(--c-text); }
.page-content h2 { font-size:18px; color:var(--c-navy); margin:24px 0 8px; }
.page-content h3 { font-size:15px; color:var(--c-navy); margin:16px 0 6px; }
.page-content p { margin-bottom:12px; }
.page-content ul, .page-content ol { margin:8px 0 12px 20px; }
.page-content li { margin-bottom:4px; }
.page-contact-box { margin-top:32px; padding:20px; background:var(--c-surface2); border-radius:var(--r-lg); }
.page-contact-box h3 { font-size:14px; color:var(--c-navy); margin-bottom:8px; }
.page-contact-box pre { font-family:inherit; font-size:13px; white-space:pre-wrap; color:var(--c-text); }

/* ══ Admin Pages Sub-Tabs ══ */
.pages-subtabs { display:flex; gap:0; border-bottom:1px solid var(--c-border); margin-bottom:16px; padding:0 16px; }
.pages-subtab { padding:8px 16px; font-size:12px; font-weight:500; color:var(--c-muted); cursor:pointer; border:none; background:none; border-bottom:2px solid transparent; transition:all .15s; }
.pages-subtab:hover { color:var(--c-navy); }
.pages-subtab.on { color:var(--c-navy); border-bottom-color:var(--c-navy); }
.pages-subpan { display:none; }
.pages-subpan.on { display:block; }

/* ══ Footer Links ══ */
.footer-links { display:flex; gap:16px; margin-top:8px; justify-content:center; }
.footer-links a { font-size:11px; color:var(--c-muted); cursor:pointer; text-decoration:none; }
.footer-links a:hover { color:var(--c-navy); text-decoration:underline; }
[data-theme="dark"] .footer-links a { color:rgba(255,255,255,0.5); }
[data-theme="dark"] .footer-links a:hover { color:#fff; }

/* ══ Blog (Phases 5-8) ══ */

/* Blog List */
.blog-main { max-width:900px; margin:0 auto; padding:0 20px 60px; }
.blog-hero { text-align:center; padding:40px 0 32px; }
.blog-hero h1 { font-size:28px; color:var(--c-navy); margin-bottom:4px; }
.blog-hero p { font-size:14px; color:var(--c-muted); }
.blog-list { display:grid; gap:20px; }

/* Blog Card */
.blog-card { background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-lg); overflow:hidden; cursor:pointer; transition:box-shadow .15s, transform .15s; }
.blog-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.08); transform:translateY(-1px); }
.blog-card-img { width:100%; height:180px; object-fit:cover; background:var(--c-surface2); }
.blog-card-body { padding:16px; }
.blog-card-title { font-size:16px; font-weight:600; color:var(--c-navy); margin-bottom:6px; line-height:1.3; }
.blog-card-excerpt { font-size:13px; color:var(--c-muted); line-height:1.5; margin-bottom:10px; }
.blog-card-meta { display:flex; align-items:center; justify-content:space-between; font-size:11px; color:var(--c-faint); }
.blog-card-author { display:flex; align-items:center; gap:6px; }
.blog-card-author img { width:20px; height:20px; border-radius:50%; object-fit:cover; }
.blog-card-score { display:flex; align-items:center; gap:4px; font-weight:600; }
.blog-card-pinned { font-size:9px; font-weight:700; padding:2px 8px; border-radius:var(--r-full); background:#dcfce7; color:#16a34a; }
.blog-card-admin-ring { border:2px solid var(--c-gold-h, #F0D060); }
[data-theme="dark"] .blog-card-admin-ring { border-color:#C49A28; }

/* Blog Article (full post) */
.blog-article { max-width:700px; margin:0 auto; }
.blog-article-img { max-width:100%; width:100%; float:none; margin:0 0 20px 0; border-radius:var(--r-lg); object-fit:cover; max-height:400px; }
.blog-article h1 { font-size:24px; color:var(--c-navy); margin-bottom:8px; }
.blog-article-author { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--c-muted); margin-bottom:20px; }
.blog-article-author img { width:28px; height:28px; border-radius:50%; object-fit:cover; }
.blog-article-body { font-size:14px; line-height:1.8; color:var(--c-text); }
.blog-article-body p { margin-bottom:12px; }

.blog-signature { clear:both; border-top:1px solid var(--c-divider); margin-top:24px; padding-top:16px; display:flex; align-items:center; gap:12px; }
.blog-signature-photo { width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.blog-signature-photo-placeholder { width:40px; height:40px; border-radius:50%; background:var(--c-surface2); display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:600; color:var(--c-navy); flex-shrink:0; }
.blog-signature-info { font-size:12px; color:var(--c-muted); }
.blog-signature-name { font-size:14px; font-weight:600; color:var(--c-navy); cursor:pointer; }
.blog-signature-name:hover { text-decoration:underline; }


/* Blog Actions Bar */
.blog-actions { max-width:700px; margin:24px auto 0; display:flex; align-items:center; gap:16px; padding:12px 0; border-top:1px solid var(--c-border); }
.blog-vote-group { display:flex; align-items:center; gap:6px; }
.blog-vote-btn { background:none; border:1px solid var(--c-border); border-radius:var(--r-sm); width:28px; height:28px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--c-muted); transition:all .15s; }
.blog-vote-btn:hover { border-color:var(--c-navy); color:var(--c-navy); }
.blog-vote-btn.voted-up { background:#dcfce7; border-color:#16a34a; color:#16a34a; }
.blog-vote-btn.voted-down { background:#fee2e2; border-color:#dc2626; color:#dc2626; }
.blog-vote-score { font-weight:600; font-size:14px; color:var(--c-navy); min-width:24px; text-align:center; }
.blog-report-btn { background:none; border:none; cursor:pointer; color:var(--c-faint); font-size:12px; display:flex; align-items:center; gap:4px; transition:color .15s; }
.blog-report-btn:hover { color:#dc2626; }
.blog-share-btn { margin-left:auto; display:flex; align-items:center; gap:6px; padding:6px 14px; border:none; border-radius:var(--r-full); background:var(--c-navy); cursor:pointer; font-size:12px; font-weight:600; color:var(--c-gold-h, #F0D060); transition:all .15s; }
.blog-share-btn:hover { background:var(--c-navy-l); }
.share-popup { position:absolute; bottom:calc(100% + 8px); right:0; background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-lg); padding:8px; display:flex; gap:8px; box-shadow:0 4px 12px rgba(0,0,0,0.1); z-index:100; }
.share-popup a { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:var(--r-sm); background:var(--c-surface2); color:var(--c-navy); text-decoration:none; font-size:14px; transition:all .15s; }
.share-popup a:hover { background:var(--c-navy); color:#fff; }

/* Blog Contributions CTA */
.blog-cta { text-align:center; padding:24px; background:var(--c-surface2); border-radius:var(--r-lg); margin-bottom:20px; }
.blog-cta h3 { font-size:16px; color:var(--c-navy); margin-bottom:4px; }
.blog-cta p { font-size:13px; color:var(--c-muted); margin-bottom:12px; max-width:500px; margin-left:auto; margin-right:auto; }

/* Report popup */
.report-popup { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-lg); padding:20px; box-shadow:0 8px 24px rgba(0,0,0,0.15); z-index:1000; min-width:280px; }
.report-popup h3 { font-size:14px; color:var(--c-navy); margin-bottom:12px; }
.report-option { display:block; width:100%; text-align:left; padding:8px 12px; border:1px solid var(--c-border); border-radius:var(--r-sm); background:none; cursor:pointer; font-size:12px; color:var(--c-text); margin-bottom:6px; transition:all .15s; }
.report-option:hover { background:var(--c-surface2); border-color:var(--c-navy); }
.report-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.3); z-index:999; }

/* Back button */
.back-btn { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--c-muted); cursor:pointer; border:none; background:none; padding:8px 0; margin-bottom:16px; }
.back-btn:hover { color:var(--c-navy); }

/* Admin Blog accordion toggle */
.acc-tog { display:flex; align-items:center; gap:6px; padding:8px 14px; font-size:13px; font-weight:500; color:var(--c-navy); background:var(--c-surface2); border:1px dashed var(--c-border); border-radius:var(--r-md); cursor:pointer; transition:all .18s var(--ease); }
.acc-tog:hover { background:var(--c-border); }

/* Dark mode tweaks */
[data-theme="dark"] .blog-card { background:var(--c-surface); border-color:var(--c-border); }
[data-theme="dark"] .blog-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.3); }
[data-theme="dark"] .report-popup { background:var(--c-surface); }
[data-theme="dark"] .share-popup { background:var(--c-surface); }

/* Contributor Tags */
.tag-badge { display:inline-flex; align-items:center; gap:2px; padding:1px 8px; border-radius:var(--r-full); font-size:10px; font-weight:600; white-space:nowrap; vertical-align:middle; }
.tag-top_contributor { background:#fef9c3; color:#92400e; }
.tag-rising_star { background:#dbeafe; color:#1d4ed8; }
.tag-goat { background:#dcfce7; color:#166534; }
@keyframes shimmer { 0%,100% { opacity:1; } 50% { opacity:.7; } }
.tag-top_contributor { animation:shimmer 2s ease-in-out infinite; }

/* Admin User Profile Modal */
.aup-header { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.aup-photo { width:64px; height:64px; border-radius:50%; object-fit:cover; }
.aup-photo-placeholder { width:64px; height:64px; border-radius:50%; background:var(--c-surface2); display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:600; color:var(--c-navy); }
.aup-info h3 { font-size:16px; color:var(--c-navy); margin:0 0 2px; }
.aup-info p { font-size:12px; color:var(--c-muted); margin:0; }
.aup-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px; }
.aup-stat { text-align:center; padding:10px 8px; background:var(--c-surface2); border-radius:var(--r-md); }
.aup-stat-val { font-size:20px; font-weight:700; color:var(--c-navy); }
.aup-stat-label { font-size:10px; color:var(--c-faint); text-transform:uppercase; letter-spacing:.04em; }
.aup-tags-section { margin-bottom:16px; }
.aup-tags-section h4 { font-size:13px; color:var(--c-navy); margin-bottom:8px; }
.aup-tag-chips { display:flex; flex-wrap:wrap; gap:6px; }
.aup-tag-chip { display:inline-flex; align-items:center; gap:4px; padding:4px 12px; border-radius:var(--r-full); font-size:12px; font-weight:500; cursor:pointer; transition:all .18s; border:1.5px solid transparent; }
.aup-tag-chip.active { border-color:currentColor; }
.aup-tag-chip.inactive { opacity:.4; border:1.5px dashed var(--c-border); }
.aup-tag-chip.inactive:hover { opacity:.7; }
.aup-details { margin-bottom:12px; }
.aup-detail-row { display:flex; justify-content:space-between; font-size:12px; padding:6px 0; border-bottom:1px solid var(--c-divider); }
.aup-detail-row span:first-child { color:var(--c-faint); }
.aup-detail-row span:last-child { color:var(--c-text); font-weight:500; }

/* Blog admin edited indicator */
.admin-edited-badge { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:var(--r-full); background:#dcfce7; color:#16a34a; font-size:10px; font-weight:600; }

/* ══ Back to Home Button (chat header) ══ */
.back-home-btn { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; font-size:12px; font-weight:600; color:var(--c-muted); background:transparent; border:1px solid var(--c-border); border-radius:var(--r-full); cursor:pointer; transition:all .18s var(--ease); white-space:nowrap; margin-left:8px; }
.back-home-btn:hover { color:var(--c-navy); border-color:var(--c-navy); background:var(--c-surface2); }
.back-home-btn svg { flex-shrink:0; stroke-width:2.5; }
[data-theme="dark"] .back-home-btn { color:var(--c-faint); border-color:var(--c-border); }
[data-theme="dark"] .back-home-btn:hover { color:var(--c-navy); border-color:var(--c-navy); background:var(--c-surface2); }

/* ══ Development Tab (Admin) ══ */
.dev-subtabs { display:flex; gap:0; border-bottom:1px solid var(--c-border); margin-bottom:16px; padding:0; }
.dev-subtab { padding:8px 16px; font-size:12px; font-weight:500; color:var(--c-muted); cursor:pointer; border:none; background:none; border-bottom:2px solid transparent; transition:all .15s; white-space:nowrap; }
.dev-subtab:hover { color:var(--c-navy); }
.dev-subtab.on { color:var(--c-navy); border-bottom-color:var(--c-navy); }
.dev-subpan { display:none; }
.dev-subpan.on { display:block; }
.dev-list { display:flex; flex-direction:column; gap:10px; }

/* Dev feedback card */
.dev-card { background:var(--c-bg); border:1px solid var(--c-divider); border-radius:var(--r-lg); padding:14px 16px; transition:border-color .18s var(--ease); }
.dev-card:hover { border-color:var(--c-navy); }
.dev-card-hdr { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:8px; }
.dev-card-info { flex:1; min-width:0; }
.dev-card-email { font-size:11px; font-weight:600; color:var(--c-navy); }
.dev-card-date { font-size:10px; color:var(--c-faint); margin-top:2px; }
.dev-card-body { font-size:12px; color:var(--c-muted); line-height:1.6; white-space:pre-wrap; }
.dev-card-screenshots { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.dev-card-screenshots img { width:80px; height:60px; object-fit:cover; border-radius:var(--r-sm); border:1px solid var(--c-border); cursor:pointer; transition:transform .15s; }
.dev-card-screenshots img:hover { transform:scale(1.05); }
.dev-card-actions { display:flex; gap:6px; margin-top:10px; padding-top:10px; border-top:1px solid var(--c-divider); flex-wrap:wrap; }
.dev-card-resolution { margin-top:8px; padding:8px 10px; background:var(--c-surface2); border-radius:var(--r-md); font-size:11px; color:var(--c-muted); line-height:1.5; }
.dev-card-resolution strong { color:var(--c-text); font-weight:600; }
.dev-card-comments { margin-top:8px; padding-top:8px; border-top:1px dashed var(--c-divider); }
.dev-comment { font-size:11px; color:var(--c-muted); line-height:1.5; padding:4px 0; }
.dev-comment strong { color:var(--c-text); }
.dev-cat-badge { font-size:9px; font-weight:700; padding:2px 8px; border-radius:var(--r-full); letter-spacing:.04em; white-space:nowrap; flex-shrink:0; }
.dev-cat-inbox { background:#fef3c7; color:#92400e; }
.dev-cat-bug { background:#fee2e2; color:#dc2626; }
.dev-cat-wishlist { background:#dbeafe; color:#1d4ed8; }
.dev-cat-archived { background:#dcfce7; color:#16a34a; }

/* Dark mode dev cards */
[data-theme="dark"] .dev-card { background:var(--c-surface); border-color:var(--c-border); }
[data-theme="dark"] .dev-card-resolution { background:var(--c-bg); }
[data-theme="dark"] .dev-cat-inbox { background:#3a2f0f; color:#fbbf24; }
[data-theme="dark"] .dev-cat-bug { background:#450a0a; color:#f87171; }
[data-theme="dark"] .dev-cat-wishlist { background:#1e3a5f; color:#93c5fd; }
[data-theme="dark"] .dev-cat-archived { background:#052e16; color:#4ade80; }

/* App feedback screenshots input area */
.afb-screenshots { display:flex; flex-direction:column; gap:4px; }

/* Contribution items (enhanced) */
.contrib-content { font-size:11px; color:var(--c-muted); margin-top:4px; line-height:1.5; }
.contrib-original { font-size:10px; color:var(--c-faint); margin-top:4px; padding-top:4px; border-top:1px dashed var(--c-divider); font-style:italic; }

/* ══ Feature Batch #6: Messages, Suspended ══ */
.msg-card { position:relative; background:var(--c-bg); border:1px solid var(--c-divider); border-radius:var(--r-lg); padding:14px 16px; margin-bottom:10px; cursor:pointer; transition:border-color .18s var(--ease); }
.msg-card:hover { border-color:var(--c-navy); }
.msg-card.unread-msg { background:var(--c-surface2); border-color:var(--c-gold-h); }
.msg-card-hdr { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:6px; }
.msg-card-subject { font-size:13px; font-weight:600; color:var(--c-navy); }
.msg-card-date { font-size:10px; color:var(--c-faint); white-space:nowrap; }
.msg-card-body { font-size:12px; color:var(--c-muted); line-height:1.6; white-space:pre-wrap; }
.msg-card-sender { font-size:10px; color:var(--c-faint); margin-top:6px; }
.msg-card-unread-badge { position:absolute; top:8px; right:8px; display:inline-flex; align-items:center; justify-content:center; background:var(--c-err); color:#fff; font-size:8px; font-weight:700; padding:2px 6px; border-radius:9999px; letter-spacing:.04em; }
[data-theme="dark"] .msg-card { background:var(--c-surface); border-color:var(--c-border); }
[data-theme="dark"] .msg-card.unread-msg { background:rgba(240,208,96,0.08); }

/* Suspended banner body offset */
body.suspended-active { padding-top:44px; }
